Subject: Re: passing a variable to call-template
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Fri, 11 Aug 2006 13:53:37 +0100
|
On 8/11/06, David White <davidw@xxxxxxxxxxx> wrote:
Is this possible?
<xsl:call-template name="{$this.warning}"/>
I would like to pass a variable into call-template but haven't had any luck.
No this isn't possible as the name attribute must contain a qname,
which means it must be known at compile time... the usual way is:
<xsl:choose>
<xsl:when test="$this.warning = 'red'">
<xsl:call-template name="red"/>
</xsl:when>
<xsl:when test="$this.warning = 'green'>
<xsl:call-template name="green"/>
etc... although it's highly likely you can achieve what you are trying
to do another way, maybe post some examples showing your requirements
and see if there's a better solution...
cheers
andrew
|