[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Re: Reference to variable cannot be resolved.

Subject: RE: Re: Reference to variable cannot be resolved.
From: Américo Albuquerque <aalbuquerque@xxxxxxxxxxxxxxxx>
Date: Mon, 17 Feb 2003 18:04:23 -0000
variable cannot be resolved
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@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Michael Kay
Sent: Monday, February 17, 2003 12:24 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  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.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 

> 
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Michael Kay
> Sent: Monday, February 17, 2003 8:56 AM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE:  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.H.Kay@xxxxxxxxxxxx
> work: Michael.Kay@xxxxxxxxxxxxxx 
> 
> 
>  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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.