With Saxon you can do this.
Following is excerpt from Saxon 8.7.3 documentation:
Saxon supports an alternative instruction saxon:call-template. This
has the same effect as xsl:call-template, except that the name
attribute may be written as an attribute value template, allowing the
called template to be decided at run-time. The string result of
evaluating the attribute value template must be a valid QName that
identifies a named template somewhere in the stylesheet.
Regards,
Mukul
On 7/7/06, Karl <call14(_at_)yahoo(_dot_)com> wrote:
I am in a situation where in a particular section need to call
different template dynamically based on which template invokes it.
Though I can use <xsl:choose> or <xsl:if> to do that, i wish i pass
the template name as a param value.
e.g.
<xsl:call-template name="A">
<xsl:with-param name="TemplateName">xx_template</xsl:with-param>
</xsl:apply-templates>
...
<xsl:call-template name="A">
<xsl:with-param name="TemplateName">yy_template</xsl:with-param>
</xsl:apply-templates>
and then
<xsl:template name="A">
<xsl:param name="TemplateName"/>
....
<xsl:call-template name="{$TemplateName}"/>
..
</xsl:template>
I doesnt work. Is it valid? If not, are there any better method to
achieve similar result. Currently, iam passing numbers in param and
use <xsl:choose> to call different templates .
Thanks
karl
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--