node:definition/*[not(name() = name(preceding-sibling::*))]
Why should this take a long time? Isn't this the same as
*[not(name() = name(preceding-sibling::*[last()]))]
preceding-sibling::*[last()]), which therefore won't de-duplicate properly.
So it won't take a long time, and it won't work either.
But is there a way to express it as a single predicate? I mean, not equal to
the name
of any preceding-sibling? Just out of curiousity.
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list