Re: [xsl] using preceding-sibling to calculate acummulated amount

Subject: Re: [xsl] using preceding-sibling to calculate acummulated amount
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 07 Jul 2004 11:55:16 -0400
Hi Jaime,

At 11:33 AM 7/7/2004, you wrote:
I need to show in HTML a column of a table that shows the acummulated quantity... If, for example, I have:

<row>
  <total>1</total>
</row>
<row>
  <total>2</total>
</row>
<row>
  <total>3</total>
</row>
<row>
  <total>4</total>
</row>

I want to show in HTML:

1
3
6
10

I tried:
total + preceding-sibling::total

but it didn't work.

Fun.


Assuming your context node is each row element in turn,

sum(total | preceding-sibling::row/total)

should work. (Short for sum(child::total | preceding-sibling::row/child::total) )

The "+" operation won't work for this since the second argument "preceding-sibling::total" isn't a number (even if it did return anything, it'd be a node set). To add the numerical values of nodes in a set you can use the sum() function.

More complex cases can be, um, "baroque".

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


Current Thread