Re: [xsl] calling a template and xsl:include

Subject: Re: [xsl] calling a template and xsl:include
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Wed, 22 Sep 2004 17:30:38 -0700
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.

Current Thread