RE: [xsl] Retaining value of a Global variable

Subject: RE: [xsl] Retaining value of a Global variable
From: "Kenny Akridge" <kenny@xxxxxxxxxxxxxxxxx>
Date: Fri, 16 Jul 2004 17:09:05 -0400
You cannot change the value of variables in XSLT.

-----Original Message-----
From: Vivek Shinde [mailto:Vivek.Shinde@xxxxxxx] 
Sent: Friday, July 16, 2004 5:04 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Retaining value of a Global variable


I have a global variable defined at the top of my stylesheet. When I try to
use it subsequently it gets reinitialized. Here's the code.

 <xsl:variable name="whead" select="'No'" />

<xsl:template match="/newsletter">
      <xsl:apply-templates select="content/article"
mode="proc_webcastheader" />.


<xsl:template match="article" mode="proc_webcastheader">
<xsl:variable name="artclass"
select="normalize-space(metadata/article-classification/.)" />
<xsl:if test="contains($artclass,'Biz-Webcast')">
          <p><xsl:value-of disable-output-escaping="yes"
          <xsl:variable name="whead" select="'Yes'" />
          <p><xsl:value-of disable-output-escaping="yes"

In the second template when I print whead before the <img> it shows 'No' for
all articles even if I set it to 'Yes' after the <img>. Any clues on how to
retain the value of the variable?


Current Thread