This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 27132 - [XSLT30] slight inconsistency in rewrite rules with XP30 in 19.8.7.6 Streamability of path expressions
Summary: [XSLT30] slight inconsistency in rewrite rules with XP30 in 19.8.7.6 Streamab...
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Last Call drafts
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-22 15:58 UTC by Abel Braaksma
Modified: 2014-10-24 15:32 UTC (History)
0 users

See Also:


Attachments

Description Abel Braaksma 2014-10-22 15:58:23 UTC
We say in that section:

<quote>
The streamability analysis applies after the expansion of the // pseudo-operator to /descendant-or-self::node()/, and after expanding .. to parent::node(), @X to attribute::X, and an omitted axis to child::.
</quote>

This would change attribute() to child::attribute() and namespace() to child::namespace(). While the second is an error according to XP30, it is believed that this error will be covered in an erratum (see also XT3 bug 27078 and XP3 bug 26788).

I think we should make this rule consistent with XP30 and say that attribute() is expanded to attribute::attribute() and namespace() is expanded to namespace::namespace() (or a NOTE to the same extend, like "omitted axes are extended by the rules in [XP30]").

If we were to treat this rewrite rule literally, then a/attribute() would be consuming and grounded, where it should be consuming and climbing.
Comment 1 Michael Kay 2014-10-24 15:32:12 UTC
The WG agreed the change and it has been implemented.