[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Reference to variable cannot be resolved.
Michael Kay wrote: > > The > > few programming classes I've taken (using procedural > > languages) have taught that a lot of global variables are a > > Bad Thing, but maybe that axiom doesn't necessarily apply to XSLT. > > > > Global variables are a bad thing in procedural programming because they > can be updated from anywhere, which leads to a lot of errors. > > They do no harm in XSLT because they are only evaluated once. True, but in this case, x seems to be evaluated twice: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="x" select="'hello'"/> <xsl:template match="/"> <result> <r><xsl:value-of select="$x"/></r> <!-- $x is 'hello' here --> <xsl:variable name="x" select="'hi'"/> <r><xsl:value-of select="$x"/></r> <!-- $x is 'hi' here --> <xsl:call-template name="test"/> </result> </xsl:template> <xsl:template name="test"> <r><xsl:value-of select="$x"/></r> <!-- $x is 'hello' here --> </xsl:template> </xsl:stylesheet> Explaining to people why that's legal, after telling them they can only assign x once, is a nice challenge :) 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
|