xsl-list
[Top] [All Lists]

RE: Reference to variable cannot be resolved.

2003-02-15 01:16:40

The example given in the spec seems a bit misleading, because 
it really illustrates the restrictions of scope and not the 
practice of shadowing. The following is illegal in either spec:

<xsl:template match="/">
  <xsl:variable name="x" select="1"/>
  <xsl:variable name="x" select="$x+1"/>
  <xsl:value-of select="$x"/>
</xsl:template>


I regret to say that (unless I've missed something) the above is
completely legal in XSLT 2.0.

I fought hard to disallow this, because I know how many beginners
misunderstand variables, and lost. There are too many people steeped in
functional programming who can't see why it's a problem.

I'm sure the debate is one that will be revived during the public
comments cycle - as I said, it's a bicycle shed issue.

Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list