xsl-list
[Top] [All Lists]

RE: Re: Reference to variable cannot be resolved.

2003-02-17 11:04:23
That also explains why the definitions of variables/params has to be the
first child so they can be in scope.

That makes easy to understand how xslt work, thanks.


-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Michael Kay
Sent: Monday, February 17, 2003 12:24 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Re: Reference to variable cannot be resolved.

But this contradicts the fact that xslt doesn't run 
sequentially. For the first variable to be shadowed by the 
second, the first has to be set first. Why not the opposite? 
Why not the second being shadowed by the first?

XSLT defines the scope of local variables so that a variable is visible
in its following-sibling instructions but not in its preceding-sibling
instructions. This means that there are indeed constraints on the order
in which instructions can be executed. This has nothing to do with using
the same variable name twice. If you write:

<xsl:variable name="x" select="bananas"/>
<xsl:copy-of select="$x"/>

then the second instruction has a dependency on the first, which
constrains the evaluation order.

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


-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Michael Kay
Sent: Monday, February 17, 2003 8:56 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Re: Reference to variable cannot be resolved.

Hi.
Bu then how the compiler knows wish variable is the right 
one? i. e.,
if I have:
<xsl:variable name="x" select="1"/>
<xsl:variable name="x" select="2"/>

when I do:
<xsl:value-of select="$x"/>

what will appear? 1 or 2?

2. The first variable is not in scope, because it is shadowed 
by the second variable.

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


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



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


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