xsl-list
[Top] [All Lists]

Sorting and Merge

2003-11-16 17:01:38

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



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