On 27 Jan 2014, at 13:59, Ghislain Fourny <[email protected]> wrote: > Hi Ihe, > > You are right that it is a filter expression. > > However, I think [.] is not very common in "real world" code, except maybe > for very precise use cases (like filtering out empty strings, etc). Usually > you would put either a position or a boolean predicate inside a filter > expression -- not just a context item expression. > > What [.] does, if I am not missing anything, is that it only keeps: > 1. Numerics equal to their position in the left-hand-side sequence > and > 2. Non-numerics that have an Effective Boolean Value of true, like non-empty > strings, nodes, the true boolean, etc. >
I mention on p648 of my XSLT /XPath book that the expression some $s in $S satisfies CONDITION is equivalent to exists(for $s in $S return boolean(CONDITION)[.]) though I don't suppose that really counts as a use case. I think the only case I've used in anger is probably count(tokenize($x, ' ')[.]) which eliminates the zero-length tokens that can arise at the start and/or end of the sequence. Michael Kay Saxonica _______________________________________________ [email protected] http://x-query.com/mailman/listinfo/talk
