Subject: XML/XSLT Problem
From: "Alex Genis" <agenis@xxxxxxxx>
Date: Mon, 29 Jul 2002 15:30:48 -0400
|
Hi everybody.
I have input XML Document like this:
<ABC>
<efg>fgh</efg>
<hij>sdf</hij>
<abc>
<PP id="111" id-1="222" >
<IPI id="333" id-2="444" >
<p1>p1p1p1</p1>
</IPI>
<IPI id="sss" id-2="666" >
<p1>p2p2p2</p1>
</IPI>
</PP>
<PP id="777" id-1="888" >
<IPI id="123" id-2="234" >
<p1>p3p3p3</p1>
</IPI>
<IPI id="456" id-2="567" >
<p1>p4p4p4</p1>
</IPI>
</PP>
<IP id="rrr" id-1="aaa">
<i1>i1i1i1</i1>
</IP>
<IP id="sss" id-1="bbb">
<i1>i2i2i2</i1>
</IP>
<IP id="ttt" id-1="ccc">
<i1>i3i3i3</i1>
</IP>
<IP id="uuu" id-1="ddd">
<i1>i4i4i4</i1>
</IP>
<PR id="xxx">
<r1>r1r1r1</r1>
</PR>
<PR id="bbb">
<r1>r2r2r2</r1>
</PR>
<PR id="zzz">
<r1>r3r3r3</r1>
</PR>
</abc>
</ABC>
I need to create XSLT Stylesheet which retrieves from this XML only those
elements "PP", "IP" and "PR" where:
(PP/IPI/@id = IP/@id) and (IP/@id-1 = PR/@id).
Other words I should have result containing:
<abc>
<PP id="111" id-1="222" >
<IPI id="333" id-2="444" >
<p1>p1p1p1</p1>
</IPI>
<IPI id="sss" id-2="666" >
<p1>p2p2p2</p1>
</IPI>
</PP>
<IP id="sss" id-1="bbb">
<i1>i2i2i2</i1>
</IP>
<PR id="bbb">
<r1>r2r2r2</r1>
</PR>
</abc>
If beeing already within <xsl:template match="abc">
I use <xsl:apply-templates select="PP|IP|PR"> - I can not refer to the
attributes of this elements ("id" and "id-1") because this attribute names
are not unique.
(the same problem if I use <xsl:for-each...>)
Can somebody give me a hint how can I solve this problem?
Your help will be deeply appreciated. Thanks.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
- XML/XSLT Problem
- Alex Genis - Fri, 12 Jul 2002 10:44:26 -0400 (EDT)
- <Possible follow-ups>
- Brad Miller - Fri, 12 Jul 2002 11:40:55 -0400 (EDT)
- paul_dick - Fri, 12 Jul 2002 11:54:51 -0400 (EDT)
- Paul Brown - Fri, 12 Jul 2002 11:57:26 -0400 (EDT)
- Alex Genis - Mon, 29 Jul 2002 15:30:42 -0400 (EDT) <=
- Alex Genis - Tue, 30 Jul 2002 10:49:31 -0400 (EDT)
|
|