xsl-list
[Top] [All Lists]

Re: using preceding-sibling to calculate acummulated amount

2004-07-07 08:55:16
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(_at_)mulberrytech(_dot_)com
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
======================================================================



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