This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Please correct me if I'm mistaken but I don't see how the abbreviated axis normalization for attribute related node tests is reflected in the formal semantics. In XPath an omitted axis specifier implies the child axis, but if there is a attribute related node test the attribute axis is implied. In the formal semantics it seems to always imply the child axis. Following are the relevant sections of the mentioned documents (badly quoted for the lack of formatting options): -- Section 3.2.4 (Abbreviated Syntax) of both XPath 2.0 and XQuery 1.0 -- 2. If the axis name is omitted from an axis step, the default axis is child unless the axis step contains an AttributeTest or SchemaAttributeTest; in that case, the default axis is attribute. -- Section 4.2.4 (Abbreviated Syntax) of Formal Semantics -- [NodeTest]Axis == child::NodeTest Please note that this is not about the attribute axis abbreviation "@" but the attribute node test "attribute()". Best regards, Jonas Bötel
Yup, that's a bug. The existing normalization rule should be split into two, one of them mapping to attribute::NodeTest.