- From: <bugzilla@jessica.w3.org>
- Date: Wed, 04 Feb 2015 19:52:29 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=27960
Bug ID: 27960
Summary: Grounded filter expressions are currently roaming and
free-ranging in the analysis
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
In section 19.8.7.8 Streamability of Filter Expressions, a filter expression
B[P] is considered in situations (1) when B is crawling, (2) when P is
motionless and otherwise, the rules state that it is roaming and free-ranging.
These rules seem to be incomplete.
Consider $doc[child::foo]. $doc is a VarRef, which is grounded by default
(except in functions). The expression should therefor be grounded and
motionless.
I think it would work if we change:
"2. If P is motionless, then the posture and sweep of B;",
such that we make sure that P is assessed with the context posture set to the
posture of B, in which case $doc, which has grounded posture, would yield
child::foo in the example above as motionless.
Alternatively or in addition, we could simply add a rule: "If B is grounded,
B[P] is grounded and motionless".
In fact, it looks like we don't say at all what the context posture is in cases
of filter expressions. And rule 5 of 19.8.7.7 Streamability of Axis Steps
doesn't say it either for predicates in axis steps.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Wednesday, 4 February 2015 19:52:30 UTC