<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="../../make-menu.xsl" type="text/xsl"?><html>
   <head>
      <this-is section="extensions" page="instructions" subpage="call-template"/>
      <!--
           Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: saxon:call-template</title>
      <meta name="coverage" content="Worldwide"/>
      <meta name="copyright" content="Copyright Saxonica Ltd"/>
      <meta name="title"
            content="Saxonica: XSLT and XQuery Processing: saxon:call-template"/>
      <meta name="robots" content="noindex,nofollow"/>
      <link rel="stylesheet" href="../../saxondocs.css" type="text/css"/>
   </head>
   <body class="main">
      <h1>saxon:call-template</h1>
      <p>The <code>saxon:call-template</code> instruction is identical to <code>xsl:call-template</code>
except that the template name can be written as an attribute value template, allowing the actual
template that is called to be selected at run time.</p>
      <p>Typical usage is:<br/>
 <b>&lt;saxon:call-template name="{$tname}"/&gt;</b></p>
      <p><i>This feature replaces the <code>saxon:allow-avt</code> attribute that was provided
on <code>xsl:call-template</code> in earlier releases. The XSLT 2.0 rules on extension attributes
have been tightened up, making it clear that the earlier design was non-conformant.</i></p>
      <p>The <code>saxon:call-template</code> instruction allows <code>xsl:fallback</code> as a child
element, so that fallback behaviour can be defined for other XSLT processors when they 
encounter this instruction.</p>
      <table width="100%">
         <tr>
            <td>
               <p align="right"><a class="nav" href="catch.xml">Next</a></p>
            </td>
         </tr>
      </table>
   </body>
</html>