[xquery-talk] Re: Context item dependant function in a step of a
pierrick.brihaye at free.fr
Mon Aug 20 20:01:46 PDT 2007
Michael Kay a écrit :
> The string() function is called once for each item in $a/B. There are
> no items in $a/B, so string() is called zero times, so it doesn't
> matter what its arguments are.
As I've said, this makes perfect sense. But... I couldn't find anything
in the specs that could explain such a behaviour. Roughly, I couldn't
see anything that precisely says that a path expression processing
should/could be stopped when a step returns an empty sequence. I conceed
that my interpretation of what we are dealing with might be wrong
though, and I'd welcome any clarification.
> Similarly, because $a/B/string() is an empty sequence, the
> string-length() function is called zero times, so it doesn't matter
> what its arguments are either.
OK. This honours "The return clause of a FLWOR expression is evaluated
once for each tuple in the tuple stream", doesn't it ?
More information about the talk