xsl-list
[Top] [All Lists]

Re: [xsl] passing template names

2006-07-07 04:18:04
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>