This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: changing the value of a parameter
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] changing the value of a parameter
- From: "Chris Bayes" <Chris at Bayes dot co dot uk>
- Date: Mon, 16 Jul 2001 17:20:46 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
>I've just searched on the archive, and couldn't find what I'm looking for,
>so I'm going to have to ask you all here.
I don't know why because this has been asked before.
However you could have looked in the spec
http://www.w3.org/TR/xslt.html#local-variables
>
>If I pass a value to a parameter of a template, can I change it's
>value from
>within the parameter declaration?
NO! From the spec
xsl:param is allowed as a child at the beginning of an xsl:template element.
In this context, the binding is visible for all following siblings and their
descendants. Note that the binding is not visible for the xsl:param element
itself.
>
>As in:
>
><xsl:template name="AddGoButtons">
> <xsl:param name="Action" />
> <xsl:param name="Color" />
> <xsl:param name="Name" select="substring-before($Name, "'")" />
> <!-- Now $Name would give me everything before its first
>apostrophe. -->
></xsl:template>
>
NO!
>Is this possible? Otherwise I'm going to have to change this value
>everywhere I pass it to the template.
or change it to
<xsl:template name="AddGoButtons">
<xsl:param name="Action" />
<xsl:param name="Color" />
<xsl:param name="Name" />
<xsl:param name="name" select="substring-before($Name, "'")" />
</xsl:template>
Ciao Chris
XML/XSL Portal
http://www.bayes.co.uk/xml
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list