Sorry about the unclear requirement...
A couple of things to note:
There will only be ONE <AA> with attribute id=1,
There CAN be more than one <AA> with attribute id=xxx
There will ONLY be <AA> elements with two diff. attribute ids, id=1, and id=xxx.
and, id attribute for element <A> is actually ignored.
There can be duplicate <AA> elements (duplicate id attribute) across
different <A> element, but not within same <A> element.
So, worst case scenario for source XML would be:
<A id=1>
<AA id=1>data1</AA>
<AA id=2>text1</AA>
</A>
<A id=2>
<AA id=1>data1</AA>
<AA id=2>text1</AA>
<AA id=2>text2</AA>
<AA id=2>text3</AA>
</A>
and the desired target:
<A id=1>
<AA id=1>data1</AA>
<AA id=2>text1</AA>
</A>
<A id=2>
<AA id=1>data1</AA>
<AA id=2>text1</AA>
</A>
<A id=2>
<AA id=1>data1</AA>
<AA id=2>text2</AA>
</A>
<A id=2>
<AA id=1>data1</AA>
<AA id=2>text3</AA>
</A>
I'm thinking of maybe creating a temp variable that will contain the
duplicate nodes within <A> and then recreate the resulting xml tree?
-dK
On Mon, 13 Dec 2004 19:58:57 -0000, Michael Kay <mike(_at_)saxonica(_dot_)com>
wrote:
I want to transform this XML:
<A id=1>
<AA id=1/>
<AA id=2/>
</A>
<A id=2>
<AA id=1>data1</AA>
<AA id=2>text1</AA> <<-- These two nodes to be split...
<AA id=2>text2</AA> <<-- These two nodes to be split...
</A>
TO:
<A id=1>
<AA id=1/>
<AA id=2/>
</A>
<A id=2>
<AA id=1>data1</AA>
<AA id=2>text1</AA>
</A>
<A id=2_1>
<AA id=1>data1</AA>
<AA id=2>text2</AA>
</A>
This is a rather unusual variant of the usual grouping problems. But I'm not
sure the requirements are well specified. How would you want to handle the
following, for example:
<A id=2>
<AA id=1>data1</AA>
<AA id=2>text1</AA>
<AA id=2>text2</AA>
<AA id=3>textZ</AA>
<AA id=3>textX</AA>
<AA id=3>textC</AA>
<AA id=4>textV</AA>
</A>
Michael Kay
http://www.saxonica.com/
Any help/input greatly appreciated!!!
Thanks!
-daniel K
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--