Subject: RE: [xsl] calling a template and xsl:include From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 23 Sep 2004 16:57:20 +0100 |
> 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 !!
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] calling a template and xs, Robert Koberg | Thread | Re: [xsl] calling a template and xs, Francesco Barresi |
Re: [xsl] remove white space, Mark Williams | Date | RE: [xsl] Grouping element, Michael Kay |
Month |