This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Assigning variable values


Georges Claessen wrote:
> Hi Joerg. You said that I couldn't change the value of
> an global scope variable. But I do this and it works
> perfectly. In fact many people say that it won´t work,
> but it remains as a mistery to me cause I made it
> work.
> Thanks for your attention! :o)

I don't know what processor you are using, but I don't believe that. 
It's not possible in XSLT! You didn't change the value, you only create 
a local variable.

Test it in the following way:

XML:

<root>
</root>

XSLT:

<xsl:variable name="teste" select="'um'"/>
<xsl:variable name="um" select="'um'"/>
<xsl:variable name="dois" select="'dois'"/>

<xsl:template match="/">
   <xsl:text>original: </xsl:text>
   <xsl:variable name="teste">
     <xsl:choose>
       <xsl:when test="$teste='um'">
         <xsl:value-of select="$dois"/>
       </xsl:when>
       <xsl:otherwise>
         <xsl:value-of select="$um"/>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
   <xsl:text>after "changing the value":</xsl:text>
   <xsl:value-of select="$teste"/>
   <xsl:apply-templates select="root"/>
</xsl:template>

<xsl:template match="root">
   <xsl:text>value still changed? :</xsl:text>
   <xsl:value-of select="$teste"/>
</xsl:template>

You will see, that you didn't change the value of the global variable - 
or you don't have a XSLT-processor.

Regards,

Joerg


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]