RE: [xsl] accumulate a variable...is it possible?

Subject: RE: [xsl] accumulate a variable...is it possible?
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Wed, 9 Oct 2002 21:45:09 +0100
You should get an error message telling you that the variable $acc has
been declared twice. Which processor are you using (I know xt has this
bug, but I'm not aware of any others)?

As any XSLT textbook will tell you, XSLT is a functional programming
language and does not have updateable variables.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Carter, Will
> Sent: 09 October 2002 18:49
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] accumulate a variable...is it possible?
> 
> 
> Hi,
> 
> I am trying to accumulate a variable but not succesful... 
> here is my xml:
> --------------------------------
> <numbers>
>   <num>3</num>
>   <num>7</num>
>   <num>11</num>
>   <num>6</num>
>   <num>3</num>
> </numbers>
> --------------------------------
> 
> here is the output I want:
> --------------------------------
> num=3 accumulated=3 
> num=7 accumulated=10 
> num=11 accumulated=21 
> num=6 accumulated=27 
> num=3 accumulated=30
> --------------------------------
> 
> here is my stylesheet:
> --------------------------------
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <xsl:stylesheet 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
> version="1.0"> <xsl:template match="/"> <xsl:variable 
> name="acc" select="0"/> <table border="1">
>   <xsl:for-each select="numbers/num">
>   <xsl:variable name="acc" select="$acc + ."/>
>     <tr>
>       <td>num=<xsl:value-of select="."/></td>
>       <td>accumulated=<xsl:value-of select="$acc"/></td>
>     </tr>
>    </xsl:for-each>
> </table>
> </xsl:template>
> </xsl:stylesheet>
> --------------------------------
> 
> here is what I get:
> --------------------------------
> num=3 accumulated=3 
> num=7 accumulated=7 
> num=11 accumulated=11 
> num=6 accumulated=6 
> num=3 accumulated=3
> --------------------------------
> 
> this post is speaking the same problem, but I want to see the 
> 3, 10, 21, 27, 30 along the way... 
> http://p2p.wrox.com/archive/xslt/2002-> 04/57.asp
> 
> thanks,
> will
> 
> 
> 
>  XSL-List info and archive:  
> http://www.mulberrytech.com/xsl/xsl-list
> 


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


Current Thread