[xsl] Sorting and Merge

Subject: [xsl] Sorting and Merge
From: Dongling Ding <dling61@xxxxxxxxx>
Date: Sun, 16 Nov 2003 16:01:38 -0800 (PST)
HI,

I have the following XML file and want to sort
elements based on an attribute in the same level,
Also, output the non-duplicate elements.

<Member _pos="1" name="P1" >
   <Data>123</Data>
   <Member _pos="2" name="P12">
	<Data>213</DataStorage>
	<Member _pos="3" name="P121">
		<Data>666</Data>
	</Member>
   </Member>
</Member>
<Member _pos="1" name="P1">
   <DataS>123</Data>
   <Member _pos="1" name="P11">
   <Data>678</DataS>
   </Member>
   <Member _pos="2" name="P12">
	<Data>213</Data>
   </Member>
</Member>
<Member _pos="2" name="P2">
   <DataS>4545</Data>
   <Member _pos="1" name="P21">
   <Data>678</DataS>
   </Member>
   <Member _pos="2" name="P22">
	<Data>213</Data>
   </Member>
</Member>
...
...

What I need in this case is:

<Member _pos="1" name="P1">
   <DataS>123</Data>
   <Member _pos="1" name="P11">
   <Data>678</DataS>
   </Member>
   <Member _pos="2" name="P12">
	<Data>213</Data>
        <Member _pos="1" name="P121">
          <Data>666</Data>
        </Member>
   </Member>
</Member>
<Member _pos="2" name="P2">
   <DataS>4545</Data>
   <Member _pos="1" name="P21">
   <Data>678</DataS>
   </Member>
   <Member _pos="2" name="P22">
	<Data>213</Data>
   </Member>
</Member>


The requirement is somehow described as follows:

1. Sort based on "_pos" in each level of tree
structure.

2. For each level, output the elements without
duplicate element.

It is involved the recursive call, sorting and merge.
If anyone has a good idea for this, please lete me
know. Very appreciated!!


Thanks


Dongling




__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread