[Bug 29732] [xslt30] Streamable stylesheet functions: shallow-descent example

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

--- Comment #1 from Michael Kay <mike@saxonica.com> ---
PROPOSAL:

(A) In 19.8.5 change the paragraph

The choice of category places constraints on the function body, and on calls to
the function. These constraints are defined below, separately for each
category. A function is guaranteed-streamable only if the constraints are
satisfied.

to say

The choice of category places constraints on the function declaration, and also
on calls to the function. These constraints are defined below, separately for
each category. A function is guaranteed-streamable only if the constraints on
the function declaration are satisfied, and a static function call is
guaranteed-streamable only if the function is guaranteed-streamable and the
function call satisfies the constraints for the chosen category.

Dynamic function calls are guaranteed-streamable only in trivial cases, for
example where the function signature indicates that an argument is required to
be a text node or an attribute node. For details see
streamability-of-dynamic-function-calls.

(B) In the individual function categories (sections 19.8.5.x), add a subheading
"Rules for the function signature" before "Rules for the function body". Except
where otherwise specified, populate this with the text "There are no
constraints".

For category inspection, where we currently say:

Rules for references to the streaming parameter: If the declared type of the
streaming parameter permits more than one node, then a variable reference
referring to the streaming parameter is roaming and free-ranging. Otherwise
such a variable reference is striding and motionless.

change this to:

Rules for the function signature: If the declared type of the streaming
parameter permits more than one node, the function is not
guaranteed-streamable.

Rules for references to the streaming parameter: Such a variable reference is
striding and motionless.

Ditto (mutatis mutandis) for the categories filter, shallow-descent,
deep-descent, and ascent.

(C) Change the affected examples for the categories filter, shallow-descent,
deep-descent, and ascent.

In all cases this only involves changing the "as" attribute of the function
signature and some minor changes to the explanation of what the example
function does.

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

Received on Thursday, 22 September 2016 10:13:36 UTC