The XHTML module is part of the conversion processing pipeline. These functions are used to manipulate XHTML, as part of conversion processing.
To use the XHTML module as part of your own XQuery module, include the following line in your XQuery prolog:
import module namespace xhtml = "http://marklogic.com/cpf/xhtml" at "/MarkLogic/conversion/xhtml.xqy"
You will need to ensure that the XHTML module is loaded into the same modules database as the importing module.
The library namespace prefix xhtml is not predefined in the server.
xhtml
xquery version "0.9-ml" default element namespace = "http://www.w3.org/1999/xhtml" import module namespace xhtml = "http://marklogic.com/cpf/xhtml" at "/MarkLogic/conversion/xhtml.xqy" let $raw := <html> <head><title>Example</title></head> <body> <div class="mlsection1"> <h1>Section header</h1> <p>1. First paragraph.</p> <p>2. Second paragraph.</p> <p>a. Sub-topic 1.</p> <p>b. Sub-topic 1.</p> <p>3. Third paragraph</p> <div class="mlsection2"> <h2>Subheader</h2> <p>1. Sub paragraph.</p> </div> </div> </body> </html> return xhtml:add-lists( $raw ) Returns: <html> <head><title>Example</title></head> <body> <div class="mlsection1"> <h1>Section header</h1> <ol style="list-style-type: none; margin-left: 0pt"> <li>1. First paragraph.</li> <li>2. Second paragraph.</li> <ol style="list-style-type: none; margin-left: 0pt"> <li>a. Sub-topic 1.</li> <li>b. Sub-topic 1.</li> </ol> <li>3. Third paragraph</li> </ol> <div class="mlsection2"> <h2>Subheader</h2> <p>1. Sub paragraph.</p> </div> </div> </body> </html>
xquery version "0.9-ml" import module namespace xhtml = "http://marklogic.com/cpf/xhtml" at "/MarkLogic/conversion/xhtml.xqy" xhtml:clean(fn:doc("my.xhtml"))
xquery version "0.9-ml" default element namespace = "http://www.w3.org/1999/xhtml" import module namespace xhtml = "http://marklogic.com/cpf/xhtml" at "/MarkLogic/conversion/xhtml.xqy" let $unstructured := <html> <head><title>Example</title></head> <body> <h1>First section</h1> <p>First paragraph.</p> <p>Second paragraph.</p> <h2>Subheader</h2> <p>Sub paragraph.</p> <h1>Second section</h1> <p>Last paragraph.</p> </body> </html> return xhtml:restructure( $unstructured ) Returns: <html> <head><title>Example</title></head> <body> <div class="mlsection1"> <h1>First section</h1> <p>First paragraph.</p> <p>Second paragraph.</p> <div class="mlsection2"> <h2>Subheader</h2> <p>Sub paragraph.</p> </div> </div> <div class="mlsection1"> <h1>Second section</h1> <p>Last paragraph.</p> </div> </body> </html>