<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="../../make-menu.xsl" type="text/xsl"?><html>
   <head>
      <this-is section="changes" page="s90" subpage="highlights90"/>
      <!--
           Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: Highlights</title>
      <meta name="coverage" content="Worldwide"/>
      <meta name="copyright" content="Copyright Saxonica Ltd"/>
      <meta name="title" content="Saxonica: XSLT and XQuery Processing: Highlights"/>
      <meta name="robots" content="noindex,nofollow"/>
      <link rel="stylesheet" href="../../saxondocs.css" type="text/css"/>
   </head>
   <body class="main">
      <h1>Highlights</h1>
      <p>This page lists some of the most important new features introduced in Saxon 9.0</p>
      <ol>
         <li content="para">
            <p>There is a <a class="bodylink" href="../../changes/s90/s9api90.xml">new Java API</a>, called <b>s9api</b>. 
Existing APIs remain supported.</p>
         </li>
         <li content="para">
            <p>The <b>command line</b> interfaces have received a revamp, while retaining backwards 
compatibility for most options.</p>
         </li>
         <li content="para">
            <p>The schema processor now supports <b>assertions</b>, as defined in XML Schema 1.1.</p>
         </li>
         <li content="para">
            <p>A new extension function allows <b>multiple document output</b> in XQuery.</p>
         </li>
         <li content="para">
            <p>It is now possible to <b>save a compiled schema</b> (the schema component model) as XML.</p>
         </li>
         <li content="para">
            <p>There is a new model for <b>pull-based evaluation</b> of queries., improving the ability to integrate
into a pull-based pipeline architecture.</p>
         </li>
         <li content="para">
            <p>The latest draft of the <b>XQJ</b> specification (XQuery API for Java) is implemented</p>
         </li>
         <li content="para">
            <p>Number and date formatting has been added for a number of <b>additional European languages</b> including
Belgian French, Flemish, Dutch, Danish, Swedish, and Italian</p>
         </li>
         <li content="para">
            <p>A number of new <b>optimizations</b> have been introduced. These include function and variable
inlining, wider use of automatic indexing, wider use of tail call optimization, hashing for
large xsl:choose expressions, and a speed-up of the DOM interface.</p>
         </li>
         <li content="para">
            <p>
               <b>Document projection</b> analyzes a query and discards the parts of the source tree that are
not needed to answer the query, giving a significant saving in tree-building time and memory.</p>
         </li>
         <li content="para">
            <p>Optimized <b>expression trees</b> can now be output ("explained") in an XML format, making it amenable to
processing or graphical rendition.</p>
         </li>
      </ol>
      <p>Please note that queries compiled into Java code are not backwards-compatible at this release; they must be recompiled.</p>
      <table width="100%">
         <tr>
            <td>
               <p align="right"><a class="nav" href="s9api90.xml">Next</a></p>
            </td>
         </tr>
      </table>
   </body>
</html>