No, you cannot do this.
You would need something like the javascript "eval" function in order for the
XSLT processor to evaluate the text as a template.
XSLT does not have a runtime way of executing generated code. I don't know if
XSLT2 provides some facility in this area. You can, however, generate a
transform and then execute that in a second pass on a document. You can also
make your actual templates more dependent on passed params in order to provide
more dynamic behaviour.
rich
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Bennett
Sent: Monday, October 20, 2003 10:43 AM
To: xsl-list-digest(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Apply Templates question
Hello,
Is there a way to apply a template stored in a variable or param?
Example,
In my test stylesheet, I currently have:
...
<xsl:param name="template" select="'default'"/> <xsl:param name="testTemplate"/>
<xsl:template match="/">
<xsl:apply-templates select="document('')/*"/> </xsl:template>
<xsl:template match="xsl:template[(_at_)name = '$template']">
<xsl:param name="testTemplate"><xsl:copy-of select="."/></xsl:param>
</xsl:template>
<xsl:template name="default">
Made it to test.xsl - default template
</xsl:template>
...
Which will allow a template to be selected based on a param but I'm not sure
how to apply the template that gets stored in "testTemplate"
(Or rather, how to apply the selected template once it's been matched
by xsl:template[(_at_)name= '$template'])
Does anyone know where to go from here or have alternate suggestions?
TIA
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list