[xquery-talk] Re: Context item dependant function in a step of a pathexpression

Pierrick Brihaye 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 ?

Cheers,

p.b.



More information about the talk mailing list