RE: [xsl] changing the value of a parameter

Subject: RE: [xsl] changing the value of a parameter
From: "Chris Bayes" <Chris@xxxxxxxxxxx>
Date: Mon, 16 Jul 2001 17:20:46 +0100
>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


Current Thread