Use count(distinct-values(/test/row/string(transition)))
I would use the more obvious and self-explanatory:
let $test := /test/row
return
count(distinct-values($test/transition)) + 1[$test[not(transition)]]
Actually, that's not equivalent. My solution (using string()) treats an empty
transition element and an absent transition element as equivalent; DImitre's
solution treats them as distinct.
Michael Kay
Saxonica
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--