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

RE: Eliminating Duplicates - With sets of attributes

Subject: RE: Eliminating Duplicates - With sets of attributes defining uniqueness
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 8 Jun 2007 16:38:17 +0100
RE:  Eliminating Duplicates - With sets of attributes
Which grouping technique are you using? XSLT 1.0 or 2.0?

Doing this using xsl:for-each-group or Muenchian grouping can be done just
by concatenating the values. The only technique which doesn't extend to this
case is the xx[not(.=preceding-sibling::xx)] approach.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Thimmegowda, Balaji [mailto:balaji_thimmegowda@xxxxxxxxx] 
> Sent: 08 June 2007 16:22
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  Eliminating Duplicates - With sets of 
> attributes defining uniqueness
> 
> Hi,
> 
> Consider the following XML :
> 
> <Book>
> 	<Chapter Desc="Desc1" sample="sample1" ID="ID1" name="chapter1"
> free="no"/>
> 	<Chapter Desc="Desc1" sample="sample1" ID="ID1" name="chapter2"
> free="no"/>
> 	<Chapter Desc="Desc2" sample="sample2" ID="ID1" name="chapter1"
> free="no"/>
> 	<Chapter Desc="Desc1" sample="sample1" ID="ID1" name="chapter1"
> free="no"/>
> 	<Chapter Desc="Desc1" sample="sample1" ID="ID1" name="chapter1"
> free="yes"/>
> </Book>
> <Book>
> 	<Chapter Desc="Desc1" sample="sample1" ID="ID1" name="chapter1"
> free="no"/>
> 	<Chapter Desc="Desc1" sample="sample1" ID="ID1" name="chapter1"
> free="no"/>
> 	<Chapter Desc="Desc2" sample="sample2" ID="ID1" name="chapter1"
> free="no"/>
> 	<Chapter Desc="Desc1" sample="sample1" ID="ID1" name="chapter1"
> free="no"/>
> 	<Chapter Desc="Desc1" sample="sample1" ID="ID2" name="chapter1"
> free="no"/>
> </Book>
> 
> The attributes "ID", "name" and "free" are the ones that I 
> need to check for uniqueness.
> The combination of each of this attribute with the attributes, "Desc"
> and "sample", makes it unique.
> 
> For instance :
> When the attribute is "ID", a combination of "Desc","sample" and "ID"
> has to be unique within the current "Book" element.
> When the attribute is "name", a combination of 
> "Desc","sample" and "name" has to be unique within the 
> current "Book" element.
> When the attribute is "free", a combination of 
> "Desc","sample" and "free" has to be unique within the 
> current "Book" element.
> 
> So, the output from the 1st Book element should be as follows :
> 
> Output from 1st Chapter element
> <res>Desc1_sample1_ID1</res>
> <res>Desc1_sample1_chapter1</res>
> <res>Desc1_sample1_no</res>
> 
> Output from the 2nd Chapter element
> <res>Desc1_sample1_chapter2</res>
> 
> Output from the 3rd Chapter element
> <res>Desc2_sample2_ID1</res>
> <res>Desc2_sample2_chapter1</res>
> <res>Desc2_sample2_no</res>
> 
> Output from the 4th Chapter element
> NONE - Since its a duplicate
> 
> Output from the 5th Chapter element
> <res>Desc1_sample1_yes</res>
> 
> The output from the 2nd Book element should be as follows :
> 
> Output from the 1st Chapter element
> <res>Desc1_sample1_ID1</res>
> <res>Desc1_sample1_chapter1</res>
> <res>Desc1_sample1_no</res>
> 
> Output from the 2nd Chapter element
> NONE - Since its a duplicate
> 
> Output from the 3rd Chapter element
> <res>Desc2_sample2_ID1</res>
> <res>Desc2_sample2_chapter1</res>
> <res>Desc2_sample2_no</res>
> 
> Output from the 4th Chapter element
> NONE - Since its a duplicate
> 
> Output from the 5th Chapter element
> <res>Desc1_sample1_ID2</res>
> 
> I have tried out a few stylesheets and I was able to 
> eliminate the duplicates by considering all the attributes 
> within the "Chapter"
> elements. But, I am not able to get it to work the way I have 
> mentioned here.
> 
> Any help is greatly appreciated.
> 
> Thanks in advance,
> BT.
> 
> 
> --------------------------------------------------------------
> ----------------
> Notice:  This e-mail message, together with any attachments, 
> contains information of Merck & Co., Inc. (One Merck Drive, 
> Whitehouse Station, New Jersey, USA 08889), and/or its 
> affiliates (which may be known outside the United States as 
> Merck Frosst, Merck Sharp & Dohme or MSD and in Japan, as 
> Banyu - direct contact information for affiliates is 
> available at http://www.merck.com/contact/contacts.html) that 
> may be confidential, proprietary copyrighted and/or legally 
> privileged. It is intended solely for the use of the 
> individual or entity named on this message. If you are not 
> the intended recipient, and have received this message in 
> error, please notify us immediately by reply e-mail and then 
> delete it from your system.
> 
> --------------------------------------------------------------
> ----------------

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.