xsl-list
[Top] [All Lists]

How to sort?

2004-10-14 01:06:35
Hi, 

I have following XML:

input XML

<?xml version="1.0"?>
<Documents>
       <Document title="1" chapter="i" href="file1.xml" filter="food">
               <Article title="1.1" info="sub" filter="drink" state="1"/>
               <Article title="1.2" info="main" filter="food" state="3"/>
        <Article title="1.3" info="main" filter="drink" state="2"/>
       </Document>
       <Document title="2" chapter="ii" href="file2.xml" filter="drink">
               <Article title="2.1" info="main" filter="drink" state="1"/>
               <Article title="2.1" info="sub" filter="drink" state="3"/>
               <Article title="2.2" info="main" filter="food" state="2"/>
       </Document>
       <Document title="3" chapter="1" href="file2.xml" filter="">
               <Article title="3.1" info="sub" filter="drink" state=""/>
               <Article title="3.2" info="child" filter="" state="8"/>
       </Document>
       <Document title="4" chapter="2" href="file2.xml" filter="">
               <Article title="3.1" info="sub" filter="drink" state=""/>
               <Article title="3.2" info="main" filter="food" state="1"/>
       </Document>
</Documents>


I want pick only Article elements where attribute info="main"

info-attribute is not located on the Document level, only on Article level,
so when info="main" located it should be placed in the same
originating Document node
wheter info-atribute is located on Document level or not.

I need to order output XML by Chapter, chapter-attribute, on
Document-level. (i,ii,1,2 ... n)

Then I need to sort the output on Article level by state, ascending.

the output XML should look like this


<?xml version="1.0"?>

<Document title="1" chapter="i" href="file1.xml" filter="food">
        <Article title="1.3" info="main" filter="drink" state="2"/>
        <Article title="1.2" info="main" filter="food" state="3"/>
</Document>

<Document title="2" chapter="ii" href="file2.xml" filter="drink">
    <Article title="2.1" info="main" filter="drink" state="1"/>
    <Article title="2.2" info="main" filter="food" state="2"/>
</Document>

<Document title="4" chapter="2" href="file2.xml" filter="">
        <Article title="3.2" info="main" filter="food" state="1"/>
</Document>


-Mike


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