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.