Subject: Re: accumulate a variable...is it possible?
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
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
|