xsl-list
[Top] [All Lists]

RE: Using not(...a nd ... ) to select nodes

2003-07-10 15:22:05


this is a grouping problem (ask google for muenchian grouping)
assuming you want to distinguish on all those child elements and
attributes, and none of them have a : character (any character you can
use as a separator) then first build a key:

<xsl:key name="x" match="item" use="
concat(name,':',type,':',carried,':',cost/@name,':',cost/@value,':',weight)"/>

now step through all the items, just taking the first with each key
value

<xsl:for-each select="items/item[
generate-id(.)=generate-id(key('x',
concat(name,':',type,':',carried,':',cost/@name,':',cost(_at_)value,':',weight))[1])]">
<xsl:copy-of select="."/>
or whatever else you want to do with these items
</xsl:for-each>

Not tested

David

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