<?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet href="../../make-menu.xsl" type="text/xsl"?><html> <head> <this-is section="changes" page="intro92" subpage="models92"/> <!-- Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: External Object Models</title> <meta name="coverage" content="Worldwide"/> <meta name="copyright" content="Copyright Saxonica Ltd"/> <meta name="title" content="Saxonica: XSLT and XQuery Processing: External Object Models"/> <meta name="robots" content="noindex,nofollow"/> <link rel="stylesheet" href="../../saxondocs.css" type="text/css"/> </head> <body class="main"> <h1>External Object Models</h1> <p>Note that the support modules for JDOM, XOM, and DOM4J are not packaged with Saxon-HE, but they can be built from source code if required.</p> <p>Saxon's JDOM interface now supports use of the <code>id()</code> and <code>idref()</code> functions.</p> <p>The DOM interface now supports the <code>unparsed-entity-uri()</code> and <code>unparsed-entity-system-id()</code> functions.</p> <p>The DOM interface now filters out zero-length text nodes. (It also treats nodes whose nodeValue is null as if it were a zero-length string: this was a bug fix also applied to the 9.1 branch.)</p> <p>The XOM interface (<code>XOMObjectModel</code>) and the JDOM interface (<code>JDOMObjectModel</code>) both now implement the new <code>TreeModel</code> interface, which means they can be set as the desired tree model for example in a s9api <code>DocumentBuilder</code> or <code>XdmDestination</code>. In fact, they can even be set as the selected tree model in a <code>Controller</code>, in which case the selected model will be used for temporary trees constructed within a query or transformation.</p> <table width="100%"> <tr> <td> <p align="right"><a class="nav" href="extensibility92.xml">Next</a></p> </td> </tr> </table> </body> </html>