RE: removing duplicate children

Subject: RE: removing duplicate children
From: Cliff Draper <Cliff.Draper@xxxxxxx>
Date: Fri, 01 Dec 2000 17:07:39 -0800
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Fri, 1 Dec 2000 11:47:06 -0000 
> > I want to iterate thru a list of nodes that I select and only print
> > out the unique ones.  This is different from what I've seen in the FAQ
> > since I want unique values only from the current node and below it.
> 
> This makes it difficult because neither the preceding nor the
> preceding-sibling axis gives you the right answer. I'd suggest using
> Muenchian grouping with generate-id() of the "owning" node as part of the
> key value. See www.jenitennison.com.
> 
> Mike Kay 

Well, I tried  that, several other permutations, and couldn't get
anywhere.  I did figure out a way to solve the problem though.  I use
my for-each to build up a string which is then passed to a template I
call uniq.  The parameter passed in looks something like:
	 |z|a|b|c|a|b|c|b|b|y|z|
That is, a "string list" with '|' as a separator.  My uniq template
uses the string functions substring-before, substring-after, &
contains to recursively make that into a unique list.

That's a lot of work for such a simple thing (simple in procedural
languages).  But at least I've got something working now.

regards,
Cliff Draper    Sun Microsystems, Forte Tools    (510) 869-3462 or x73462
My opinions may or may not reflect those of my employer.
---------------------------- food for thought ---------------------------
The chief cause of problems is solutions.


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread