- From: <bugzilla@jessica.w3.org>
- Date: Wed, 05 Feb 2014 02:47:46 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=24500
Bug ID: 24500
Summary: Streamability of dynamic function calls is ambiguous
and lacks error scenarios
Product: XPath / XQuery / XSLT
Version: Last Call drafts
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P2
Component: XSLT 3.0
Assignee: mike@saxonica.com
Reporter: abel.braaksma@xs4all.nl
QA Contact: public-qt-comments@w3.org
Under section 19.8.7.9 Streamability of Dynamic Function Calls
(http://www.w3.org/TR/xslt-30/#streamability-of-dynamic-function-calls) we say
in the last paragraph:
"The operand usage for the other operands (the argument expressions) is in
general navigation, because it is not known how the function will make use of
any supplied nodes. However, if the static type of the first operand constrains
the type of the argument to be atomic, then the operand usage for that argument
becomes absorption, and if it constrains it to be a function, the operand usage
becomes inspection."
The whole paragraph could be rewritten to refer to the already existing type
determined usage. If that is not appropriate, the second sentence in this
paragraph is ambiguous: do we mean the "first operand" in respect to the first
paragraph, i.e. $F, or do we mean the first argument? I think we mean the
static type of $F, which can be, for instance, function(xs:string), which has
posture absorption for its first argument.
In addition, we don't say anything about potential error conditions. For
instance, if $F refers to last#0, we should raise a dynamic error (if used in
an illegal spot). In other words, the expression $F and its arguments can be
streamable, but the actual call is not, which can only be determined once the
call is made.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Wednesday, 5 February 2014 02:47:48 UTC