xdmp:quote() takes whatever serialized input you give it and returns it
as a string. So for example, taking some very ill-formed HTML input:

   let $html := xdmp:quote( (<p>par 1</p>, <p>par 2</p>) )
   return xdmp:tidy($html)[2]

the output is

  <html version="-//W3C//DTD XHTML 1.1//EN" 
xmlns="http://www.w3.org/1999/xhtml";>
    <head>
    <meta name="generator" content="HTML Tidy for Linux/x86 (vers 1 September 
2005), see www.w3.org"/>
    <title/>
  </head>
    <body>
      <p>par 1</p>
      <p>par 2</p>
    </body>
  </html>

Note that this is the second node returned by xdmp:tidy(). The first node 
contains that
error status (basically, what you'd get on stderr running a command-line 
version of tidy).

On Thu, 28 Aug 2008, Robert Koberg wrote:

>
> On Aug 28, 2008, at 9:54 AM, David Sewell wrote:
>
> > I don't think anyone else has mentioned it, but if you're generating
> > a full HTML page via MarkLogic Server, you can use the xdmp:tidy()
> > function to clean up your generated XHTML and control doctype:
> >
> > http://xqzone.com/pubs/3.2/apidocs/Document-Conversion.html#tidy
> >
> > xmdp:tidy() takes a string argument, however, so you need to wrap your
> > HTML inside xdmp:quote():
> >
> > xdmp:tidy(xdmp:quote($my_html_node))
>
> Do you have to serialize the result to then pass through tidy (to serialize
> again), or is it working in the DB's context?
>
> best,
> -Rob
>
>
> >
> >
> >
> > On Wed, 27 Aug 2008, Eric Palmitesta wrote:
> >
> > > Aaron and I discussed this briefly at the training seminar, but I'd like
> > > to
> > > get a sense of what other developers are doing to get around the quirks of
> > > generating xhtml with xquery (rather than a java servlet/jsp based website
> > > which pulls records from MarkLogic via XDBC/XCC.
> > >
> > > One such quirk: Childless elements with no internal nodes and an explicit
> > > closing tag are automatically folded into elements with no closing tag.
> > > <div></div>, which is valid xhtml, will become <div /> after being
> > > processed
> > > by MarkLogic (breaks visual representation).  Some better examples are
> > > <script
> > > ...></script> and <textarea></textarea>, which are expected to contain no
> > > internal nodes in xhtml.
> > >
> > > I've taken to writing things like
> > >
> > > <script ... >{" "}</script>
> > >
> > > or
> > >
> > > <textarea>&nbsp;</textarea>
> > >
> > > which successfully preserves the explicit closing tag, keeping xhtml
> > > happy.
> > > Is there a more elegant way to do this?
> > >
> > > Are there other banana-peels I should watch out for when generating xhtml
> > > with
> > > xquery?  Is creating an entire website by generating xhtml with xquery
> > > generally frowned upon, or accepted?  Admittedly, it seems less flexible
> > > than
> > > a <web language>-based site, however the xdmp namespace seems to provide
> > > sufficient functionality, and transforming xml data into xhtml is
> > > incredibly
> > > easy with xquery.
> > >
> > > Cheers,
> > >
> > > Eric
> > >
> > >
> > > PS
> > > My vocabulary might be incorrect regarding words like 'tag' and 'node',
> > > please
> > > correct me if necessary.
> > >
> > > PPS
> > > I can see the archives at http://xqzone.marklogic.com/pipermail/general/
> > > but
> > > are they searchable?  I have a feeling newcomers such as myself will be
> > > prone
> > > to asking questions which have already been discussed at length.
> > > _______________________________________________
> > > General mailing list
> > > [email protected]
> > > http://xqzone.com/mailman/listinfo/general
> > >
> >
> > --
> > David Sewell, Editorial and Technical Manager
> > ROTUNDA, The University of Virginia Press
> > PO Box 801079, Charlottesville, VA 22904-4318 USA
> > Courier: 310 Old Ivy Way, Suite 302, Charlottesville VA 22903
> > Email: [EMAIL PROTECTED]   Tel: +1 434 924 9973
> > Web: http://rotunda.upress.virginia.edu/
> > _______________________________________________
> > General mailing list
> > [email protected]
> > http://xqzone.com/mailman/listinfo/general
>
> _______________________________________________
> General mailing list
> [email protected]
> http://xqzone.com/mailman/listinfo/general

-- 
David Sewell, Editorial and Technical Manager
ROTUNDA, The University of Virginia Press
PO Box 801079, Charlottesville, VA 22904-4318 USA
Courier: 310 Old Ivy Way, Suite 302, Charlottesville VA 22903
Email: [EMAIL PROTECTED]   Tel: +1 434 924 9973
Web: http://rotunda.upress.virginia.edu/
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to