RE: [xsl] Reference to variable cannot be resolved.

Subject: RE: [xsl] Reference to variable cannot be resolved.
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Fri, 14 Feb 2003 12:16:51 -0000
> 
> True, but in this case, x seems to be evaluated twice:

No, you have two different things called x, and each of them is
evaluated once.
> 
> <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 :)
> 
If people don't understand that the same name can refer to different
objects depending on the context, then they shouldn't be programming.

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


Current Thread