This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Filtering nodes
- From: "Suresh Babu" <sbkoya21 at sify dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 13 May 2002 02:20:06 +0530
- Subject: [xsl] Filtering nodes
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hello group,
I have a simple XML like
<Root>
<Record Name="R1">
<Record Name="L1">
<Leaf Name="text"/>
</Record>
<Record>
<Record Name="L2">
<Leaf Name="text"/>
</Record>
</Record>
<Record Name="R2">
<Record>
<Record>
<Record>
<Record Name="LL1">
<Leaf Name="text"/>
</Record>
<Record Name="LL2">
<Leaf Name="text"/>
</Record>
</Record>
</Record>
</Record>
</Record>
</Root>
To transform it to a simple structure like
<Record Name="R1">
<Leaf Name="L1"/>
<Leaf Name="L2"/>
<Record Name="R2>
<Leaf Name="LL1"/>
<Leaf Name="LL2"/>
</Record>
</Record>
Could any one suggest ways to filter the dummy record nodes under R1 and R2
and display the Leaf nodes under R1 and R2.
For displaying the field nodes under a specific record I used the keys
function to select the "Record" elements with a "Leaf" element and having
attribute "Name" value "text" as follows:
<xsl:key name="leaf-nodes" match="Record" use="Leaf/@Name"/>
This is fine for R2 but fails for R1 in which case it is diplaying all the
fields in R2 also.
Could some correct the keys expression/suggest a better way for doing this.
Thanks and regards,
Suresh
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list