[Bug 24500] Streamability of dynamic function calls is ambiguous and lacks error scenarios

https://www.w3.org/Bugs/Public/show_bug.cgi?id=24500

--- Comment #2 from Michael Kay <mike@saxonica.com> ---
Proposed rewrite of the section 19.8.7.9 as follows (note, the term "base
expression" is taken from the description of dynamic function calls in the
XPath 3.0 book):

The posture and sweep of a dynamic function call such as $F(X, Y) are
determined by the *general streamability rules*. The operands and their usages
are as follows:

* The base expression that computes the function value itself (here $F) has
usage inspection

* The argument expressions (here X and Y) have type-determined usage determined
from the static type of the base expression. If the static type of the base
expression is of the form function(A, B) as R, then the first argument X has
type-determined usage based on the first argument type A, the second argument Y
has type-determined usage based on the second argument type B, and so on. If
the static type of the base expression is not of this form (for example, it it
is item()), then the usage of each of the argument expressions is navigation.

Note: As explained in 10.3.5, use of a dynamic function call where the function
is bound to a focus-dependent function such as name#0, lang#1, or last#0 when
streaming is likely to lead to a dynamic error, but this does not affect the
static streamability analysis.

In 10.3.5, last para, change "context-dependent" to "focus-dependent", add
last#0 to the examples, and change "context item" to "focus".

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 20 February 2014 17:40:45 UTC