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

Subject: RE: [xsl] Re: Re: Reference to variable cannot be resolved.
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Sat, 15 Feb 2003 11:22:30 -0000
> This will also impose 
> an (hidden) 
> > > order of evaluation, which is not the most desirable 
> feature for a 
> > > non-imperative language.
> >
> > The second sentence is nonsense. Variable references are 
> resolved to 
> > variable declarations at compile time, the run-time 
> behavior doesn't 
> > care in the slightest what the original name of the variable was.
> >
> 
> The second sentence does not say anything about run-time 
> behaviour. What it says is that a variable declaration that 
> "shadows" a sibling and also uses it in its definition must 
> be evaluated after the shadowed sibling is evaluated. Of 
> course, this is decided even at compile-time.

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.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 



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


Current Thread