Re: Reference to variable cannot be resolved.
David Carlisle wrote: > > > > Explaining to people why that's legal, after telling them they can only > > assign x once, is a nice challenge :) > > You can only assign a value to a variable once but you can have two > variables with the same name, but only one in scope at any point in the > program. 2 buts in one sentence... you're sounding like me now. One possible reading of your explanation would be that when one variable binding occurs at the top level and the other occurs in a template, they are different variables with the same name, whereas if both bindings occur at the top level, or if both occur within a single template, they are binding the same variable. Perhaps a simpler way to look at it is that the variable binding element (xsl:variable or xsl:param) is just creating/importing an object and giving it a name. The name is then in scope among all following siblings and their descendants. The name can be one that is already in scope only if the other binding that used that name was made at the top level and this binding is being made in a template. No matter how you explain it, there's nothing really intuitive about it; it's just the way things are; you have to state that the top-level bindings are global, yet overridable within a template, no? Mike -- Mike J. Brown | http://skew.org/~mike/resume/ Denver, CO, USA | http://skew.org/xml/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format