<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="../make-menu.xsl" type="text/xsl"?><html>
   <head>
      <this-is section="conformance" page="xpath30" subpage=""/>
      <!--
           Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: XPath 3.0 Conformance</title>
      <meta name="coverage" content="Worldwide"/>
      <meta name="copyright" content="Copyright Saxonica Ltd"/>
      <meta name="title"
            content="Saxonica: XSLT and XQuery Processing: XPath 3.0 Conformance"/>
      <meta name="robots" content="noindex,nofollow"/>
      <link rel="stylesheet" href="../saxondocs.css" type="text/css"/>
   </head>
   <body class="main">
      <h1>XPath 3.0 Conformance</h1>
      <p>Saxon 9.4 implements nearly all the new features
      of the XPath 3.0 specification. At the time of writing the Working Groups are preparing a new Working Draft which is
      intended to have "Last Call" status; it is this working draft that has been used as the basis for this release.</p>
      <p>New features that are fully implemented include the following:</p>
      <ul>
         <li>
            <p>String contatenation operator <code>||</code></p>
         </li>
         <li>
            <p>Simple mapping operator <code>!</code></p>
         </li>
         <li>
            <p>Casting is allowed from a string to a union or list type</p>
         </li>
         <li>
            <p>Union types, provided they meet certain rules, can be used as a <code>SequenceType</code></p>
         </li>
         <li>
            <p>Dynamic function call (Functions are first class values (items) in the data model)</p>
         </li>
         <li>
            <p>Function literals, for example <code>substring#2</code></p>
         </li>
         <li>
            <p>Inline functions, for example <code>function($i) {$i*$i}</code></p>
         </li>
         <li>
            <p>Partial application of functions, for example <code>concat('$', ?)</code></p>
         </li>
         <li>
            <p>Let expressions (<code>let $v := expr return f($v)</code>)</p>
         </li>
         <li>
            <p>EQNames (<code>'uri':local</code>) wherever QNames are allowed</p>
         </li>
      </ul>
      <p>Maps are implemented in XPath 3.0 as described in the XSLT 3.0 specification. This is true whether or not the XPath
      processor is being invoked in an XSLT context. For details see
         <a class="bodylink" href="../expressions/xpath30maps.xml">Maps in XPath 3.0</a>.</p>
      <p>For details of the function library supported, see <a class="bodylink" href="../functions/intro.xml">XSLT 2.0 and XPath 2.0 Functions</a>.</p>
      <table width="100%">
         <tr>
            <td>
               <p align="right"><a class="nav" href="xquery.xml">Next</a></p>
            </td>
         </tr>
      </table>
   </body>
</html>