<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="../make-menu.xsl" type="text/xsl"?><html>
   <head>
      <this-is section="extensibility" page="intro" subpage=""/>
      <!--
           Generated at 2010-10-29T18:20:48.427+01:00--><title>Saxonica: XSLT and XQuery Processing: Extensibility</title>
      <meta name="coverage" content="Worldwide"/>
      <meta name="copyright" content="Copyright Saxonica Ltd"/>
      <meta name="title" content="Saxonica: XSLT and XQuery Processing: Extensibility"/>
      <meta name="robots" content="noindex,nofollow"/>
      <link rel="stylesheet" href="../saxondocs.css" type="text/css"/>
   </head>
   <body class="main">
      <h1>Extensibility</h1>
      <p>This page describes how to extend the capability of Saxon XSLT stylesheets
and XQuery queries by adding extension functions and other user hooks.</p>
      <p>The first two columns of the table below indicate which sections of this page
are applicable to XSLT and which are applicable to XQuery. The next three columns indicate
which Saxon editions the information applies to.</p>
      <table>
         <tr>
            <td content="para">
               <p>XSLT</p>
            </td>
            <td content="para">
               <p>XQuery</p>
            </td>
            <td content="para">
               <p>HE</p>
            </td>
            <td content="para">
               <p>PE</p>
            </td>
            <td content="para">
               <p>EE</p>
            </td>
            <td content="para">
               <p>
               <b>Contents</b>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/integratedfunctions.xml">Integrated extension functions</a>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p> </p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/functions.xml">Reflexive extension functions (Java)</a>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p> </p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/dotnetextensions.xml">Reflexive extension functions (.NET)</a>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p> </p>
            </td>
            <td content="para">
               <p> </p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/instructions.xml">Writing XSLT extension instructions</a>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/output-filters.xml">Customizing serialization</a>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/collation.xml">Implementing a collating sequence</a>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/localizing.xml">Implementing localized numbers and dates</a>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/uri-resolver.xml">Writing a URI Resolver for input files</a>
            </p>
            </td>
         </tr>
         <tr>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p> </p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>§</p>
            </td>
            <td content="para">
               <p>
               <a class="bodylink" href="../extensibility/output-uri-resolver.xml">Writing a URI Resolver for output files</a>
            </p>
            </td>
         </tr>
      </table>
      <table width="100%">
         <tr>
            <td>
               <p align="right"><a class="nav" href="integratedfunctions.xml">Next</a></p>
            </td>
         </tr>
      </table>
   </body>
</html>