[xquery-talk] Function and Query Evaluation with No XML Tags Error

Michael Kay mike at saxonica.com
Fri Feb 29 09:30:22 PST 2008


> Assuming that the typed value is the same as the string 
> value, you can write
> 
> $seq[not(. = preceding-sibling::*)]
> 
> If you really need the string value, it's
> 
> $seq[not(./string() = preceding-sibling::*/string())]
> 
> But using distinct-values() is likely to be a lot more efficient.
> 

Actually, I failed to spot another error here. The author of the function
has no way of knowing that the nodes in $seq will be siblings of each other.
Therefore, using preceding-sibling to eliminate duplicates is not just
inefficient, it is plain wrong.

Michael Kay
http://www.saxonica.com/



More information about the talk mailing list