[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Counting Duplicates in XSLT 2.0
I would do two levels of grouping. First use xsl:for-each to group on some calculated grouping key that's equal if the nodes are deep-equal (essentially a hash code). You could use the string value of the nodes as the hash key, or something more subtle, depending on your data. Then within each group, compare each item with all the preceding items using deep-equal to create the refined groups. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Felix Breuer [mailto:felix@xxxxxxxxxx] > Sent: 29 August 2006 23:58 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Counting Duplicates in XSLT 2.0 > > Hello everyone! > > I have an element with a large number of complex > child-elements and for each child I want to know how many > duplicates there are (considering two elements as identical > iff they are deep-equal). Initially I thought > > <for-each-group group-by="."> ... > > to be the way to go, but then I noticed in the XSLT 2.0 spec > that the value of the group-by expression is atomized after > evaluation. So, how do I go about this task? > > Going further: > > * How can I remove all the duplicates of a given child element, > retaining exactly one copy? > * How can I keep exactly one copy iff the number of identical > copies is > odd, and remove all copies iff the number is even? > > > Thanks, > Felix
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|