|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Getting a distinct list of node names
Manuel,
You're trying a bit too hard on this one. Using recursion is overkill, and the distinct() extension function operates on node identity, whereas you are comparing for similar values (as nodes they are always distinct). But de-duplicating is a common thing to do. In fact, it's the first step in the oft-recommended Muenchian grouping technique. (De-duplicate nodes by grouping criterion, then group by the set of de-duplicated "flag-bearer" nodes.) A common way to do this is simply to compare a node's value to other nodes (here it's the value of the node's name that you care about): node:definition/*[not(name() = name(preceding-sibling::*))] ...which will have poor performance on a large set of nodes (but you get the idea). You could also do <xsl:key name="nodes-by-name" match="*" use="name()"/> and then call for node:definition/*[count(.|key('nodes-by-name',name())[1] = 1] which should work better on large sets of input. Ah, it looks like Ken has another solution.... Cheers, Wendell At 02:22 PM 12/15/2003, you wrote: Hi ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ====================================================================== XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|

Cart








