Re: question about call-template

Subject: Re: question about call-template
From: Eric van der Vlist <vdv@xxxxxxxxxxxx>
Date: Mon, 31 Jan 2000 21:14:00 +0100
Hi Mike,

The idea of using the xsl sheet as a "normal" document :
> <xsl:apply-templates select="document('')/*/xsl:template[@name=$tname]"/>
is really powerful...

I hadn't noticed this point in the XSLT recommendations before your
post.

Thanks for bringing it to our attention !

Eric

Kay Michael wrote:
> 
> > I can't find a way to pass the *name* of a template to
> > another template, and then call that template by that name.
> 
> Can't be done with call-template, except by an xsl:choose instruction that
> lists all the possibilities.
> 
> You could achieve the effect with apply-templates with a bit of deviousness.
> 
> Change your named template from
> <xsl:template name="xyz">
> to
> <xsl:template name="xyz" match="xsl:template[@name='xyz']"/>
> 
> and call it like this:
> <xsl:variable name="tname" select="'xyz'"/>
> <xsl:apply-templates select="document('')/*/xsl:template[@name=$tname]"/>
> 
> However, this will change the current node and node list; if the named
> template needs these, they'll have to be passed as parameters.
> 
> I suspect if you go back to the original problem, there is a better solution
> than this.
> 
> Mike Kay
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

-- 
------------------------------------------------------------------------
Eric van der Vlist                                              Dyomedea

http://www.dyomedea.com                          http://www.ducotede.com
------------------------------------------------------------------------


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread