[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Add numbers


Subject: [xsl] Add numbers
From: "Chaudhary, Harsh" <HCHAUDHA@xxxxxxxxx>
Date: Tue, 9 Oct 2007 10:04:47 -0500

Hi,

I have an XML:

<?xml version="1.0" encoding="UTF-8"?>
<first>
    <second>
        <a val="4" key="one">b</a>
        <a val="2" key="two">b</a>
    </second>
    <second>
        <a val="3" key="one">c</a>
    </second>
</first>

I need to group together the nodes which have the same key and then I
need to add the attribute "val" in all such cases.

So, The output I need is:

<op>
	<one>
		<val>7</val>
	</one>
	<two>
		<val>2</val>
	</two>
</op>

How do I go about doing this? I am using Xalan and XSLT 1.0.

I have used the Meunichian method to group the nodes with same keys
together. But I don't know how to proceed from there. I tried using the
sum() function but it won't work for me on account that even if I run a
for-each loop over the set of nodes with the same key, it just prints
out the value of "val" for each a element. I think I need to be in the
parent element for this to work.

Thanks,
Harsh.


Current Thread
Keywords