|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: sum() applied to a product
You could use a recursive template that does your stuff
try this one..
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="a">
<xsl:call-template name="add-b">
<xsl:with-param name="initial" select="0"/>
<xsl:with-param name="counter" select="1"/>
<xsl:with-param name="b-nodes" select="count(b)"/>
</xsl:call-template>
</xsl:template>
<xsl:template name ="add-b">
<xsl:param name="initial"/>
<xsl:param name="counter"/>
<xsl:param name="b-nodes"/>
<xsl:param name="value"
select="(b[position()=$counter]/c)*(b[position()=$counter]/d)"/>
<xsl:param name="sum" select="$initial+$value"/>
<xsl:choose>
<xsl:when test="$counter < $b-nodes">
<xsl:call-template name="add-b">
<xsl:with-param name="initial" select="$sum"/>
<xsl:with-param name="counter" select="$counter+1"/>
<xsl:with-param name="b-nodes" select="$b-nodes"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$sum"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Hope this helps
Vasu Ch..
----- Original Message -----
From: "Brian Chrisman" <brian.chrisman@xxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, June 30, 2004 12:36 AM
Subject: sum() applied to a product
> Uggg... I had some sloppy cut-paste issue in my last post... this is what
it should have been, with a real subject line. Sorry...
>
> -----------------------
> Okay.. I told someone I could do this in a simple xpath expression
>
> <?xml version="1.0"?>
> <a>
> <b>
> <c>2</c>
> <d>4</d>
> </b>
> <b>
> <c>3</c>
> <d>6</d>
> </b>
> </a>
>
> Where the xpath was to return (2*4) + (3*6) = 26
> I made several attempts with xpath's sum() function (using 1.0) and
> couldn't get it.
> I couldn't even come up with an expression that I thought might work..
> even though I tried several which I was certain would fail (which did).
>
> Any ideas?
>
>
>
> --+------------------------------------------------------------------
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>
> --+--
>
>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








