This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: sum() of nodeset


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@intel.com <mailto:ramesh.pendakur@intel.com> 


-----Original Message-----
From: Shimon Pozin [mailto:shimonp@servicesoft.com]
Sent: Thursday, November 30, 2000 8:32 AM
To: 'xsl-list@mulberrytech.com'
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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]