- 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