xsl-list
[Top] [All Lists]

Re: Problem with Sum function

2005-08-22 09:09:24
On 8/22/05, Meena Nanjundeswar <meenasargur(_at_)gmail(_dot_)com> wrote:
Hi:

My xml file looks like this:

<node1>
      <childnode1a>
             <childnode11a>
                     <value></value>
               </childnode11a>
       </childnode1a>
</node1>

There can be any number of <childnode11a> elements containing <value>.
Now, I am trying to compute the sum(value). Instead of giving me a
total sum of all the rows, it display the values individually. 

Without seeing your stylesheet I can't but help guessing here, do you
actually have a working sum statement?  One possibility is that your
templates are set up wrong so that just the built in rules are being
used.  Of course, there is the other where you have the template set
up at the wrong level

For example, say I had the xml doc as follows:

 <node1>
       <childnode1a>
              <childnode11a>
                      <value>12</value>
                <childnode11a>
                      <value>22</value>
                </childnode11a>
        </childnode1a>
 </node1>

And if I have a stylesheet like so...

<xsl:template match="childnode11a">
 <xsl:value-of select="sub(value)" />
</xsl:template>

it will always give back the individual values because the scope is
wrong for the results you want.  You're essentially asking it for the
sum of all the value elements, which there will be only one of.

Try something more like the following
<xsl:template match="childnode1a">
<xsl:value-of select="sum(childnode11a/value)" />
</xsl:template>

Without actually seeing your stylesheet I can only guess so much, but
sum should be pretty straightforward.

Jon Gorman

--~------------------------------------------------------------------
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(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>