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

 Subject: [xsl] Re: accumulate a variable...is it possible? From: Dimitre Novatchev Date: Wed, 9 Oct 2002 12:44:06 -0700 (PDT)
```--- 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

```
Current Thread