I have 2 questions:
I remember that I once saw somewhere a snippet of XSLT code about
calling a template having the name in a variable, something like this:
<xsl:call-template select="$tempalteToCall"/>
As far as I know this can't be done with XSLT 1.0, but there was a
work-around to do so.
Correct it can't be done in XSLT 1.0.
Saxon has an extension saxon:call-template that does this.
But there is a workaround that doesn't need extensions: it's a technique
introduced by Dimitre Novatchev in his FXSL library. Essentially, if you
have a template
<xsl:template name="x">
then add a match pattern:
<xsl:template name="x" match="dynamic:x"/>
Define a variable whose value is a node:
<xsl:variable name="dynamic:x"><dynamic:x/></xsl:variable>
Now you can define a variable:
<xsl:variable name="templateToCall" select="$dynamic:x/*"/>
and do:
<xsl:apply-templates select="$templateToCall"/>
which in this case will call the template dynamic:x, but can be adapted to
call whatever template the variable templateToCall is set to.
Michael Kay
http://www.saxonica.com/
Any one know how to do that or where to find
info about that? It would help.
The other question is about performance. I use many xsl:include and I
would like to know if this could cause some notable performance issue
on the processor?
Thanks.
Bye
Francesco.
--
www.GetFirefox.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>
--+--