What I'm saying is that at run-time, there is no difference between
evaluating
<xsl:variable name="y" select="2"/>
<xsl:variable name="x" select="$y+2"/>
and
<xsl:variable name="x" select="2"/>
<xsl:variable name="x" select="$x+2"/>
The second variable can't be evaluated until after the first one is
evaluated in either of these cases; allowing the two variables to have
the same name makes no difference to the constraints on order of
evaluation.
How would one know that "this x" is not "that x" -- imagine that within a
hundred or so siblings...
This is a nightmare for understanding, debugging and maintenance.
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list