<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="../make-menu.xsl?cache=20260529" type="text/xsl"?><html>
   <head>
      <this-is section="products" page="feature-matrix" subpage="feature-matrix-9-6"></this-is>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
      <meta name="description" content="the full range of Saxon products and features implementing four W3C defined languages on four technology platforms such as Java, .NET, Native, JavaScript"></meta>
      <meta name="keywords" content="XSLT, XQuery, XSD, XPath, Java, .NET, Native, JavaScript"></meta>
      <meta name="coverage" content="Worldwide"></meta>
      <meta name="copyright" content="Copyright Saxonica Ltd"></meta>
      <meta name="robots" content="follow"></meta>
      <title>Saxonica: Saxon Product/Feature Matrix</title>
   </head>
   <body class="main">
      <h1>Saxon 9.6 product comparison (Feature Matrix)</h1>
      <p>The table below lists product features and indicates which features are
         present in which product package.</p>
      <table class="feature-matrix" id="overview">
         <thead>
            <tr class="feature-heading">
               <td style="text-align:left;">Language Support</td>
               <td>HE</td>
               <td>PE</td>
               <td>EE</td>
               <td>EE‑T</td>
               <td>EE‑Q</td>
               <td>EE‑V</td>
            </tr>
         </thead>
         <tbody>
            <tr>
               <td class="topic">
                  <div class="popup">XSLT 2.0 (Basic)<span>
                        <h2>XSLT 2.0 (Basic)</h2>
                        <p>Provides a <i>basic XSLT 2.0 processor</i> as defined in section 21 of the XSLT 2.0
                           Recommendation: it is a conformance level that includes all features of the language
                           other
                           than those that involve schema processing.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xslt20" class="bodylink ">XSLT 2.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xslt20/" target="_blank"><i>XSLT 2.0 Recommendation (23 January 2007)</i></a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XSLT 2.0 (Schema Aware)<span>
                        <h2>XSLT 2.0 (Schema Aware)</h2>
                        <p>Provides a <i>schema-aware XSLT 2.0 processor</i> as defined in section 21 of the XSLT
                           2.0 Recommendation, which includes all features of the language.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xslt20" class="bodylink ">XSLT 2.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xslt20/" target="_blank"><i>XSLT 2.0 Recommendation (23 January 2007)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XSLT 3.0 (Basic)<span>
                        <h2>XSLT 3.0 (Basic)</h2>
                        <p>Provides selected features from the XSLT 3.0 specification - including try/catch,
                           evaluate, iterate, accumulators, maps, named modes, content value templates, and extended
                           patterns, as well as XPath 3.0 features such as higher-order functions; with the notable
                           exceptions of schema-awareness, streaming, and packages.</p>
                        <p>XSLT 3.0 is currently a working draft and is subject to change. </p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xslt30" class="bodylink ">XSLT 3.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/2014/WD-xslt-30-20141002/" target="_blank"><i>XSLT 3.0 Working Draft (2 October 2014)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XSLT 3.0 (Schema Aware &amp; Streaming)<span>
                        <h2>XSLT 3.0 (Schema Aware &amp; Streaming)</h2>
                        <p>A schema-aware XSLT 3.0 processor, which provides selected features from the XSLT
                           3.0
                           specification - including try/catch, evaluate, iterate, accumulators, maps, named
                           modes,
                           content value templates, extended patterns, XPath 3.0 features such as higher-order
                           functions, and features that enable streaming (processing of documents that are too
                           large
                           to fit in memory) - as well as a partial implementation of packages.</p>
                        <p>XSLT 3.0 is currently a working draft and is subject to change. </p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xslt30" class="bodylink ">XSLT 3.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/2014/WD-xslt-30-20141002/" target="_blank"><i>XSLT 3.0 Working Draft (2 October 2014)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XPath 2.0 (Basic)<span>
                        <h2>XPath 2.0 (Basic)</h2>
                        <p>Provides all XPath 2.0 features other than schema-awareness.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xpath20" class="bodylink ">XPath 2.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xpath20/" target="_blank"><i>XPath 2.0 Recommendation (14 December 2010)</i></a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XPath 2.0 (Schema Aware)<span>
                        <h2>XPath 2.0 (Schema Aware)</h2>
                        <p>Provides all XPath 2.0 features, including those that require schema processing:
                           specifically, any use of source documents with type annotations, and any use of XPath
                           expressions that contain the names of schema components such as element declarations
                           and
                           types, other than the built-in types.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xpath20" class="bodylink ">XPath 2.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xpath20/" target="_blank"><i>XPath 2.0 Recommendation (14 December 2010)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XPath 3.0 (Basic)<span>
                        <h2>XPath 3.0 (Basic)</h2>
                        <p>Provides all XPath 3.0 features other than schema-awareness and higher-order
                           functions.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xpath30" class="bodylink ">XPath 3.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xpath-30/" target="_blank"><i>XPath 3.0 Recommendation (08 April 2014)</i></a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XPath 3.0 (Higher-Order Functions)<span>
                        <h2>XPath 3.0 (Higher-Order Functions)</h2>
                        <p>Provides all XPath 3.0 features, other than schema-awareness. This includes features
                           that
                           require higher-order functions: specifically, the ability to use functions as values,
                           including dynamic function calls, inline functions, partial function application,
                           and
                           specific higher-order functions such as <code>fn:filter</code> and
                           <code>fn:fold-left</code>. Saxon XPath 3.0 processing also allows selected XPath 3.1
                           features to be used: the main feature being the implementation of maps.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xpath30" class="bodylink ">XPath 3.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xpath-30/" target="_blank"><i>XPath 3.0 Recommendation (08 April 2014)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XPath 3.0 (Schema Aware)<span>
                        <h2>XPath 3.0 (Schema Aware)</h2>
                        <p>Provides all XPath 3.0 features. This includes features that require schema processing
                           -
                           specifically, any use of source documents with type annotations, and any use of XPath
                           expressions that contain the names of schema components such as element declarations
                           and
                           types, other than the built-in types; and features that require higher-order functions
                           -
                           specifically, the ability to use functions as values, including dynamic function calls,
                           inline functions, partial function application, and specific higher-order functions
                           such
                           as <code>fn:filter</code> and <code>fn:fold-left</code>. Saxon XPath 3.0 processing also
                           allows selected XPath 3.1 features to be used: the main feature being the implementation
                           of maps.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xpath30" class="bodylink ">XPath 3.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xpath-30/" target="_blank"><i>XPath 3.0 Recommendation (08 April 2014)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XQuery 1.0 (Basic)<span>
                        <h2>XQuery 1.0 (Basic)</h2>
                        <p>Provides the following features, as defined in section 5 of the XQuery 1.0 specification:
                           Minimal Conformance; Full Axis Feature; Module Feature; and Serialization Feature.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xquery" class="bodylink ">XQuery 1.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xquery/" target="_blank"><i>XQuery 1.0 Recommendation (14 December 2010)</i></a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XQuery 1.0 (Schema Aware)<span>
                        <h2>XQuery 1.0 (Schema Aware)</h2>
                        <p>Provides the following features, as defined in section 5 of the XQuery 1.0 specification:
                           Minimal Conformance; Full Axis Feature; Module Feature; Serialization Feature; Schema
                           Import Feature; and Schema Validation Feature. (That is, all optional features except
                           the
                           Static Typing feature.)</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xquery" class="bodylink ">XQuery 1.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xquery/" target="_blank"><i>XQuery 1.0 Recommendation (14 December 2010)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XQuery 3.0 (Basic)<span>
                        <h2>XQuery 3.0 (Basic)</h2>
                        <p>Provides the following features, as defined in section 5 of the XQuery 3.0 specification:
                           Minimal Conformance (including try/catch and "group-by"); Module Feature; and
                           Serialization Feature.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xquery30" class="bodylink ">XQuery 3.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xquery-30/" target="_blank"><i>XQuery 3.0 Recommendation (08 April 2014)</i></a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XQuery 3.0 (Higher-Order Functions)<span>
                        <h2>XQuery 3.0 (Higher-Order Functions)</h2>
                        <p>Provides the following features, as defined in section 5 of the XQuery 3.0 specification:
                           Minimal Conformance (including try/catch and "group-by"); Module Feature; Serialization
                           Feature; and Higher-Order Function Feature.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xquery30" class="bodylink ">XQuery 3.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xquery-30/" target="_blank"><i>XQuery 3.0 Recommendation (08 April 2014)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XQuery 3.0 (Schema Aware)<span>
                        <h2>XQuery 3.0 (Schema Aware)</h2>
                        <p>Provides the following features, as defined in section 5 of the XQuery 3.0 specification:
                           Minimal Conformance (including try/catch and "group-by"); Module Feature; Serialization
                           Feature; Higher-Order Function Feature; Schema Aware Feature; and Typed Data Feature.
                           (That is, all optional features except the Static Typing Feature.)</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xquery30" class="bodylink ">XQuery 3.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xquery-30/" target="_blank"><i>XQuery 3.0 Recommendation (08 April 2014)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XQuery Update 1.0<span>
                        <h2>XQuery Update 1.0</h2>
                        <p>Saxon provides all the features defined in the XQuery Update 1.0 specification. The
                           implementation allows XQuery Update 1.0 syntax to be mixed with XQuery 3.0 syntax.
                           </p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/update" class="bodylink ">XQuery Update 1.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xquery-update-10/" target="_blank"><i>XQuery Update 1.0 Recommendation (17 March 2011)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XML Schema 1.0 Validation<span>
                        <h2>XML Schema 1.0 Validation</h2>
                        <p>Saxon includes a complete implementation of XML Schema 1.0. This provides the ability
                           to
                           process XSD 1.0 schema documents and use them to validate instance documents. Note
                           that
                           Saxon does not expose the full PSVI, as required by the conformance rules in the XSD
                           1.0
                           Recommendation.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/schema" class="bodylink ">XML Schema 1.0 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xmlschema-1/" target="_blank"><i>XML Schema 1.0 Validation Recommendation (28 October 2004)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XML Schema 1.1 Validation<span>
                        <h2>XML Schema 1.1 Validation</h2>
                        <p>Saxon includes a complete implementation of XML Schema 1.1. This provides the ability
                           to
                           process schema documents that use the new features of XSD 1.1, and use them to validate
                           instance documents. More specifically, in the language of section 2.4 of the specification,
                           it is a <i>General-Purpose Web-Aware Validator</i>.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/schema11" class="bodylink ">XML Schema 1.1 conformance</a></p>
                        <p><a href="http://www.w3.org/TR/xmlschema11-1/" target="_blank"><i>XML Schema 1.1 Validation Recommendation (05 April 2012)</i></a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr class="feature-heading">
               <td style="text-align:left;">Performance Features</td>
               <td>HE</td>
               <td>PE</td>
               <td>EE</td>
               <td>EE‑T</td>
               <td>EE‑Q</td>
               <td>EE‑V</td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Binary XML<span>
                        <h2>Binary XML</h2>
                        <p>Saxon's PTree format is a serialized binary representation of Saxon's internal tree
                           format.
                           It occupies around the same amount of disk space as the original XML, but is faster
                           to
                           serialize and faster to reparse.</p>
                        <p>Further info: <a href="../documentation9.6/#!sourcedocs/ptree" class="bodylink ">The PTree file format</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Byte code generation<span>
                        <h2>Byte code generation</h2>
                        <p>Allows code generation for XSLT, XQuery, and XPath. Available for both Java and .NET
                           platforms, typically giving a 25% performance boost (at the cost of increased compile
                           time).</p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Document projection<span>
                        <h2>Document projection</h2>
                        <p>This feature performs static analysis of a query and uses this to filter a document
                           during
                           loading, so that the only parts held in memory are those parts needed to answer the
                           query.
                           For simple queries on large documents this can give substantial memory savings.</p>
                        <p>Further info: <a href="../documentation9.6/#!sourcedocs/projection" class="bodylink ">Document projection</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Multi-threading (XPath)<span>
                        <h2>Multi-threading (XPath)</h2>
                        <p>Takes advantage of multi-core CPUs by providing automatic parallel execution of the
                           <code>collection()</code> function.</p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Multi-threading (XSLT)<span>
                        <h2>Multi-threading (XSLT)</h2>
                        <p>Takes advantage of multi-core CPUs by providing automatic parallel execution of the
                           <code>xsl:result-document</code> instruction; plus an extension attribute
                           <code>saxon:threads</code> to allow multi-threaded execution of <code>xsl:for-each</code>
                           instructions under the control of the stylesheet author.</p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Optimizer (Basic)<span>
                        <h2>Optimizer (Basic)</h2>
                        <p>The <i>Basic</i> optimizer provided with all Saxon editions provides a wide range of
                           static and dynamic optimizations including full pipelining of list operations, lazy
                           evaluation of variables, elimination of redundant sorting operations, etc.</p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Optimizer (Advanced)<span>
                        <h2>Optimizer (Advanced)</h2>
                        <p>The <i>Advanced</i> optimizer provides the wide range of static and dynamic optimizations
                           featured in the <i>Basic</i> optimizer - including full pipelining of list operations,
                           lazy evaluation of variables, elimination of redundant sorting operations, etc. -
                           and
                           additionally provides join optimization and inlining of variables and functions, where
                           feasible.</p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p> </p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Reading W3C schemas and DTDs<span>
                        <h2>Reading W3C schemas and DTDs</h2>
                        <p>The W3C web server now routinely rejects requests for commonly-referenced files such
                           as the
                           DTD for XHTML, causing parsing failures. In response to this, Saxon now includes copies
                           of
                           these documents within the issued JAR file, and recognizes requests for these documents,
                           satisfying the request using the local copy.</p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr class="feature-heading">
               <td style="text-align:left;">Extensibility</td>
               <td>HE</td>
               <td>PE</td>
               <td>EE</td>
               <td>EE‑T</td>
               <td>EE‑Q</td>
               <td>EE‑V</td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">EXSLT and EXPath extension functions<span>
                        <h2>EXSLT and EXPath extension functions</h2>
                        <p>A selection of EXSLT and EXPath extension functions are provided (in the modules Common,
                           Dates and Times, Math, Random, and Sets; and Archive, Binary, and File, respectively),
                           as
                           listed in the documentation. </p>
                        <p>Further info: <a href="../documentation9.6/#!extensions/functions/exslt" class="bodylink ">EXSLT extensions</a>, <a href="../documentation9.6/#!extensions/functions/expath" class="bodylink ">EXPath extensions</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Extensibility using custom classes<span>
                        <h2>Extensibility using custom classes</h2>
                        <p>Ability to write extension functions (for use in XSLT, XQuery, or XPath) by implementing
                           a
                           Saxon-defined interface and registering the implementation with the Saxon Configuration.
                           </p>
                        <p>Further info: <a href="../documentation9.6/#!extensibility" class="bodylink has-subpages">Extensibility</a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Extensibility using reflexion<span>
                        <h2>Extensibility using reflexion</h2>
                        <p>Ability to access existing Java or .NET methods dynamically and invoke them as extension
                           functions by means of dynamic loading and reflexion. </p>
                        <p>Further info: <a href="../documentation9.6/#!extensibility" class="bodylink has-subpages">Extensibility</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Saxon extension functions (Basic)<span>
                        <h2>Saxon extension functions (Basic)</h2>
                        <p>Extension functions, as listed in the documentation, in the Saxon namespace. The
                           <i>Basic</i> level excludes extension functions that depend on streaming. Many Saxon
                           extension functions have over the years become superseded by facilities in the W3C
                           standards or in EXPath libraries, but some such as the ability to access the line
                           number
                           of an element remain available only through this library.</p>
                        <p>Further info: <a href="../documentation9.6/#!extensions/functions/saxon-extension-functions" class="bodylink ">Saxon extension functions</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Saxon extension functions (Advanced)<span>
                        <h2>Saxon extension functions (Advanced)</h2>
                        <p>Extension functions, as listed in the documentation, in the Saxon namespace. The
                           <i>Advanced</i> level includes those that depend on streaming. Many Saxon extension
                           functions have over the years become superseded by facilities in the W3C standards
                           or in
                           EXPath libraries, but some such as the ability to access the line number of an element
                           remain available only through this library.</p>
                        <p>Further info: <a href="../documentation9.6/#!extensions/functions/saxon-extension-functions" class="bodylink ">Saxon extension functions</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">SQL extension<span>
                        <h2>SQL extension</h2>
                        <p>XSLT extension instructions providing access to SQL databases. Available on the Java
                           platform only (not .NET). </p>
                        <p>Further info: <a href="../documentation9.6/#!sql-extension" class="bodylink has-subpages">Saxon SQL extension</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XSLT element extensibility<span>
                        <h2>XSLT element extensibility</h2>
                        <p>Ability to implement XSLT extension instructions by implementing a Saxon-defined interface
                           and registering the implementation with the Saxon Configuration. </p>
                        <p>Further info: <a href="../documentation9.6/#!extensibility/instructions" class="bodylink ">Writing XSLT extension instructions</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Localization (Basic)<span>
                        <h2>Localization (Basic)</h2>
                        <p>All the interfaces for developers are in English, but there is some localization support
                           in transformation to enable dates and numbers to be formatted and collations performed
                           in
                           other languages (so end-user output can be localized, but developer output cannot).</p>
                        <p>Further info: <a href="../documentation9.6/#!extensibility/config-extend/collation/UCA" class="bodylink has-subpages">Unicode collation</a>, <a href="../documentation9.6/#!extensibility/config-extend/localizing" class="bodylink has-subpages">Localizing numbers and dates</a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Localization (Advanced)<span>
                        <h2>Localization (Advanced)</h2>
                        <p>All the interfaces for developers are in English, but there is some localization support
                           in transformation to enable dates and numbers to be formatted and collations performed
                           in
                           other languages (so end-user output can be localized, but developer output cannot).
                           The
                           <i>Advanced</i> level includes number and date formatting for a variety of languages, as
                           well as support for the Unicode Collation Algorithm using features from the <a href="http://site.icu-project.org/" class="bodylink">ICU - International Components for
                              Unicode.</a> The <i>Advanced</i> level also includes APIs which allow support for
                           additional languages to be developed.</p>
                        <p>Further info: <a href="../documentation9.6/#!extensibility/config-extend/collation/UCA" class="bodylink has-subpages">Unicode collation</a>, <a href="../documentation9.6/#!extensibility/config-extend/localizing" class="bodylink has-subpages">Localizing numbers and dates</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr class="feature-heading">
               <td style="text-align:left;">Interfaces, APIs</td>
               <td>HE</td>
               <td>PE</td>
               <td>EE</td>
               <td>EE‑T</td>
               <td>EE‑Q</td>
               <td>EE‑V</td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">JAXP API<span>
                        <h2>JAXP API</h2>
                        <p>Implementations of the standard JAXP interfaces for XSLT transformation, XPath evaluation,
                           and XML Schema validation. Applies to the Java platform only.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/jaxp" class="bodylink ">JAXP API conformance</a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">S9API API<span>
                        <h2>S9API API</h2>
                        <p>Saxon's native interface for processing XSLT, XQuery, XPath, and XML Schema. Available
                           in
                           slightly different forms on the Java and .NET platforms.</p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Support for DOM<span>
                        <h2>Support for DOM</h2>
                        <p>Ability to use a DOM (Document Object Model) for the input and output of transformations
                           and queries. On the .NET platform this includes the System.XML DOM classes.</p>
                        <p>Further info: <a href="../documentation9.6/#!sourcedocs/thirdparty" class="bodylink ">Object models</a></p></span></div>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">Support for JDOM, JDOM2, AXIOM, DOM4J, and XOM<span>
                        <h2>Support for JDOM, JDOM2, AXIOM, DOM4J, and XOM</h2>
                        <p>Ability to use a JDOM, JDOM2, AXIOM, DOM4J, and XOM for the input or output of
                           transformations and queries. Applies to the Java platform only. Note that the code
                           for these
                           interfaces is open source and can be compiled to work with Saxon-HE, but it does not
                           come
                           packaged with the Saxon-HE download.</p>
                        <p>Further info: <a href="../documentation9.6/#!sourcedocs/thirdparty" class="bodylink ">Object models</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
            <tr>
               <td class="topic">
                  <div class="popup">XQJ API<span>
                        <h2>XQJ API</h2>
                        <p>Implementations of the standard XQJ interfaces for XQuery processing. Applies to the
                           Java
                           platform only. Note that the XQJ interfaces have been removed from the standard download
                           of
                           Saxon-HE because the Oracle specification license is not open source, but they are
                           available
                           on request.</p>
                        <p>Further info: <a href="../documentation9.6/#!conformance/xqj" class="bodylink ">XQJ API conformance</a></p></span></div>
               </td>
               <td>
                  <p> </p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
               <td>
                  <p>●</p>
               </td>
            </tr>
         </tbody>
      </table>
      <div id="aside">
         <h2>View the full product descriptions</h2>
         <ul>
            <li><a class="title" target="_blank" href="http://www.saxonica.com/products/PD9.6/HE.pdf"><b>HE: </b>Saxon Home Edition (open source)</a></li>
            <li><a class="title" target="_blank" href="http://www.saxonica.com/products/PD9.6/PE.pdf"><b>PE: </b>Saxon Professional Edition</a></li>
            <li><a class="title" target="_blank" href="http://www.saxonica.com/products/PD9.6/EE.pdf"><b>EE: </b>Saxon Enterprise Edition</a></li>
            <li><a class="title" target="_blank" href="http://www.saxonica.com/products/PD9.6/EE-T.pdf"><b>EE-T: </b>Saxon Enterprise Edition, Transformation package 
                  (restricted license allowing XSLT
                  and Schema processing only)</a></li>
            <li><a class="title" target="_blank" href="http://www.saxonica.com/products/PD9.6/EE-Q.pdf"><b>EE-Q: </b>Saxon Enterprise Edition, Query package
                  (restricted license allowing
                  XQuery and Schema processing only)</a></li>
            <li><a class="title" target="_blank" href="http://www.saxonica.com/products/PD9.6/EE-V.pdf"><b>EE-V: </b>Saxon Enterprise Edition, Validation package
                  (restricted license allowing
                  Schema processing only)</a></li>
         </ul>
      </div>
   </body>
</html>