Saxon in fact has an extension element
saxon:call-template
which is like xsl:call-template except that the "name" attribute is an AVT.
You don't need saxon:evaluate with this, just write
<saxon:call-template name="{$testVar/Configuration/Execute/@template}"/>
It's always better, of course, to work without extensions if you can. You
might like to look at Dimitre Novatchev's FXSL technique, which exploits the
ability of xsl:apply-templates to do dynamic dispatch. Rather than having a
variable holding the name of a template to be invoked, you have a variable
holding a node, typically a node with a unique name in some special
namespace; and then you do apply-templates on that node. By putting
different nodes in the variable, you can then cause different templates to
be invoked.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: news(_at_)swisslab(_dot_)de [mailto:news(_at_)swisslab(_dot_)de]
Sent: 19 June 2006 08:34
To: 'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'
Subject: [xsl] dynamic template naming XSL1.0 and Saxon 6.5.5
Hello List,
I want to call templates dynamicly. With dynamicly I mean,
that the templates name is determined at runtime.
I doing this with xPathes stored in variables and the
saxon:evaluate function allready, and it works pretty fine.
For instance. I have a variable with an stored string that I
want to be the templates name that should be executed.
<xsl:variable name="testVar">
<Configuration>
<Execute template="templateName"/>
</Configuration>
</xsl:variable>
If I try
<xsl:call-template
name="{saxon:evaluate($testVar/Configuration/Execute/@template)}"/>
I want a template with the name of 'templateName' to be executed.
<xsl:template name="temlpateName">
...
</xsl:template>
I ll get a error message saying that the name of the called
template must be a valid Qname. :(
Does anyboy know how I could solve my problem?
Thanks & with best regards,
Jan
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--