Subject: Re: [xsl] Reference to variable cannot be resolved. From: Mike Brown <mike@xxxxxxxx> Date: Thu, 13 Feb 2003 17:40:30 -0700 (MST) |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Reference to variable can, Michael Kay | Thread | Re: [xsl] Reference to variable can, S Woodside |
RE: [xsl] Reference to variable can, Michael Kay | Date | RE: RE: [xsl] How to implement an a, Imrran Wahid |
Month |