xsl-list
[Top] [All Lists]

Re: accumulate a variable...is it possible?

2002-10-09 12:44:06

--- G. Ken Holman wrote:
 
At 2002-10-09 12:49 -0500, Carter, Will wrote:
I am trying to accumulate a variable 

You don't say why so it is difficult to advise how to fix the problem
you 
are trying to solve using a variable.

To mimic the results you want, an example is below.

I hope this helps.

............ Ken

T:\ftemp>type carter.xml
<numbers>
   <num>3</num>
   <num>7</num>
   <num>11</num>
   <num>6</num>
   <num>3</num>
</numbers>

T:\ftemp>type carter.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                 version="1.0">

<xsl:output method="text"/>

<xsl:template match="num">
   <xsl:text/>num=<xsl:value-of select="."/>
   <xsl:text> accumulated=</xsl:text>
   <xsl:value-of select="sum(. | preceding-sibling::num)"/>
</xsl:template>

</xsl:stylesheet>

T:\ftemp>xt carter.xml carter.xsl

   num=3 accumulated=3
   num=7 accumulated=10
   num=11 accumulated=21
   num=6 accumulated=27
   num=3 accumulated=30

T:\ftemp>


--
G. Ken Holman              

While this seems an easy way to scan the computation, its complexity is
O(N^2).

A more efficient linear solution is available either by using the
scanl/scanl1 templates of FXSL or by writing from scratch a recursive
named template.



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL

__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com

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