<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="../../make-menu.xsl" type="text/xsl"?><html>
   <head>
      <this-is section="xsl-elements" page="patterns" subpage="patterns-30"/>
      <!--
           Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: Patterns in XSLT 3.0</title>
      <meta name="coverage" content="Worldwide"/>
      <meta name="copyright" content="Copyright Saxonica Ltd"/>
      <meta name="title"
            content="Saxonica: XSLT and XQuery Processing: Patterns in XSLT 3.0"/>
      <meta name="robots" content="noindex,nofollow"/>
      <link rel="stylesheet" href="../../saxondocs.css" type="text/css"/>
   </head>
   <body class="main">
      <h1>Patterns in XSLT 3.0</h1>
      <p>XSLT 3.0 extensions to patterns that are implemented in Saxon 9.4 include the following:</p>
      <p>Pattern syntax in the form <code>~ItemType</code> is supported, for example <code>match="~xs:integer"</code>
                  matches an integer. Predicates are allowed on such patterns, for example <code>~xs:integer[. gt 0]</code>.</p>
      <p>The <code>intersect</code> and <code>except</code> operators are allowed at the top level: for example
            <code>match="* except br"</code>.</p>
      <p>Parentheses may be used in conjunction with a predicate, for example <code>match="(//para)[1]"</code></p>
      <p>Any downwards axis may be used in a pattern, for example <code>descendant</code> or <code>descendant-or-self</code>.</p>
      <p>Other XSLT 3.0 extensions to patterns have yet to be implemented in Saxon, for example patterns that start with
            (or consist exclusively of) a variable reference.</p>
      <table width="100%">
         <tr>
            <td>
               <p align="right"/>
            </td>
         </tr>
      </table>
   </body>
</html>