Subject: [xsl] Duplicates in multiple, independent lists From: J-P Stacey <jps@xxxxxxxxxxxxxxxxxxxx> Date: Wed, 25 Feb 2004 16:42:43 +0000 (GMT) |
Hi, I've just been implementing a remove-duplicate template, and had a look at the suggestions at http://www.dpawson.co.uk/xsl/sect2/N2696.html . The simplest one for my (reasonably small) data set is at #d3417e34, "Remove duplicates from a list". However, after several rewrites weren't working, I noticed that following:: snarfs the whole of the rest of the document (http://www.w3schools.com/xpath/xpath_location.asp). Now this is no good for my data, because there are several sets of lists, separated in the same file and necessarily treated independently as far as duplication is concerned. I had to resort to preceding-sibling instead: <xsl:variable name="no-dupes" select="Set/Item/DuplicateBit[ not(.=../preceding-sibling::node()/DuplicateBit)]"/> This traps the context within each Set and prevents duplicate removal because of later sets. I also used preceding- rather than following-sibling because it outputs up the first instance of each duplicate rather than the last, but I suppose that's a matter of taste. Would it be useful to add this as a caveat to that bit of the FAQ? It's not as cute as using // and following::, but it might be useful to flag what (I think) is going on. Thoughts? J-P -- Will Self's mobile ring is Smells Like Teen Spirit. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Transparent Images, Mark Williams | Thread | [xsl] node traversal, Matthew L. Avizinis |
Re: [xsl] XPATH: get not repeated n, aaa bbb | Date | AW: [xsl] Transparent Images, Knut Meinke |
Month |