xsl-list
[Top] [All Lists]

Re: [xsl] Variable and parameter with same name and scope allowed in 2.0

2006-05-02 08:21:23
At the time I protested against this as strongly as I could, but they
still let it into the spec.

Dave, It might be a good idea to put this into the "Don'ts" of the XSLT FAQ.



--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.


On 5/2/06, andrew welch <andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> wrote:
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?

thanks
andrew

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--