RE: [xsl] Reference to variable cannot be resolved.

Subject: RE: [xsl] Reference to variable cannot be resolved.
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Sat, 15 Feb 2003 08:16:40 -0000
> 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.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 

 XSL-List info and archive:

Current Thread