|
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 |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: question about call-template, Kay Michael | Thread | RE: question about call-template, Reid M. Pinchback |
| OASIS XSLT Conformance Subcommittee, G. Ken Holman | Date | Re: attribute list, Eric van der Vlist |
| Month |