you can use <xsl:value-of select="sum(//row[@m=1]/@m)"
the sum() function is defined in XPath specification section 4.4
-ramesh
_____
Ramesh Pendakur
Web Standards & Architecture Team (WSAT)
Intel Architecture Labs.
503.264.0572 - desk
503.804.8564 - cell
ramesh.pendakur@xxxxxxxxx <mailto:ramesh.pendakur@xxxxxxxxx>
-----Original Message-----
From: Shimon Pozin [mailto:shimonp@xxxxxxxxxxxxxxx]
Sent: Thursday, November 30, 2000 8:32 AM
To: 'xsl-list@xxxxxxxxxxxxxxxx'
Subject: sum() of nodeset
Hello!
I have xml file like this:
----------xml-------------
<xml>
<row m=1 y=1999 v=3 />
<row m=1 y=2000 v=43 />
<row m=2 y=1999 v=6 />
<row m=2 y=2000 v=56 />
...
</xml>
--------------------------
and xsl like this (only relevant part is quoted to save space):
-------------xsl----------
<xsl:for-each select="//row[@m=1]">
<tr>
<td><xsl:value-of select="@m" /></td>
<td><xsl:value-of select="@y" /></td>
<td><xsl:value-of select="@v" /></td>
</tr>
</xsl:for-each>
--------------------------
Now, I am trying to get sum of values for a particular m (stands for month,
of course). I tried:
<td><xsl:value-of select="@m[@m=1]" /></td>, but get 0 in this case
If I try:
<td><xsl:value-of select="//@m[@m=1]" /></td> I get sum of _all_ rows
rather than sum of v's for a particular month. Is there a simple
solution to my problem without transforming the original file to
some intermediate format?
Thanks a lot for any ideas,
Shimon
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|