Francesco Barresi wrote:
Hi all,
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"/>
Can't do this.You can do something like:
<xsl:choose>
<xsl:when test="$condition='choice1'">
<xsl:call-template name="choice1"/>
</..
<xsl:when test="$condition='choice2">
<xsl:call-template name="choice2"/>
..etc..
As far as I know this can't be done with XSLT 1.0, but there was a
work-around to do so. 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?
In java you would create a Templates object and cache that. That will
resolve your includes/imports once and so your only performance hit
would be building that object. Then you would build the transformer off
of the templates object.
I have many imports (around 15) and pretty complex XSL. After building
the Templates object, my transforms are are in the 20-30 millisecond
range. I haven't had to scale my app to several thousands of users so I
don't know what how that would affect my transform speed.
hth,
-Rob
Thanks.
Bye
Francesco.