[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Finding and restructuring duplicate elements

Subject: Re: Finding and restructuring duplicate elements
From: Daniel Koo <blue.submarine@xxxxxxxxx>
Date: Mon, 13 Dec 2004 21:43:33 +0000
daniel koo
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@xxxxxxxxxxxx> 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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.