# saxon:call-template

The `saxon:call-template` instruction is identical to `xsl:call-template` 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.

Typical usage is:
<saxon:call-template name="{$tname}"/>

This feature replaces the `saxon:allow-avt` attribute that was provided on `xsl:call-template` 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.

The `saxon:call-template` instruction allows `xsl:fallback` as a child element, so that fallback behaviour can be defined for other XSLT processors when they encounter this instruction.

Expand | Up Next