Subject: Re: [xsl] Variable and parameter with same name and scope allowed in 2.0|
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Tue, 2 May 2006 08:21:03 -0700
At the time I protested against this as strongly as I could, but they still let it into the spec.
-- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence.
It seems this is allowed in 2.0:
<xsl:function name="f:f"> <xsl:param name="p"/> <xsl:variable name="p" select="concat($p, 'a')"/> <xsl:sequence select="$p"/> </xsl:function>
The same goes for named templates - a variable is allowed to have the same name as a parameter.
I can see how its possible - the variable will always come after the parameter, so it will always 'win' when it comes to scope. My concern is that this sort of thing would usually end up from a mistake, and then get silently handled by the code - it's shadowing, and its well known how many problems that can cause.
I've only tried this with Saxon 8.7.1 so I'm assuming it's intentional? Is there a good reason for this - something that I'm not seeing at the moment?
|<- Previous||Index||Next ->|
|Re: [xsl] Variable and parameter wi, andrew welch||Thread||[xsl] Sudoku solver - complete, andrew welch|
|Re: [xsl] Variable and parameter wi, Florent Georges||Date||RE: [xsl] XSLT: Transforming one m, Tedla, Sridhar \(LNG|