[xsl] XSLT 1.0 newbie: sum of selected elements

Subject: [xsl] XSLT 1.0 newbie: sum of selected elements
From: "Kirov Plamen" <pkirov@xxxxxxxxx>
Date: Mon, 11 Dec 2006 15:08:43 +0200
Hello,

I'm trying to sum the selected values from xml, using xsl with Xalan:

XML:

<root>
	<element>
		<type id=1 des="a"/>
		<amount due=10.12 init=0.25/>
	</element>
	<element>
		<type id=2 des="a"/>
		<amount due=1.82 init=1.00/>
	</element>
	<element>
		<type id=1 des="a"/>
		<amount due=-12.00 init=0.00/>
	</element>
	<element>
		<type id=3 des="a"/>
		<amount due=50.00 init=120.35/>
	</element>
</root>


I want to sum @due only for @id=2 or 3

XSL:

<xsl:value-of select="sum(..//element[type/@id = 2 or type/@id =
3]/amount/@due)"/>


If I want to sum by more than 5 different Id's or/and for more amount
values(@due, @init...), this method of sorting values is unusual - a lot
of repeated "or" clauses for every "select". Is't possible, for this
example, elements with @id 2 or 3 to be selected first and after to be
summarized @due and/or @init?

BR
Plamen

Current Thread