This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In 3.3.5 Abbreviated Syntax we find: "If the axis name is omitted from an axis step, the default axis is child, with two exceptions: if the axis step contains an AttributeTest or SchemaAttributeTest then the default axis is attribute; if the axis step contains namespace-node() then the default axis is namespace. Note: In an implementation that does not support the namespace axis, an attempt to access it always raises an error. Thus, an XQuery implementation will always raise an error in this case, since XQuery does not support the namespace axis. The namespace axis is deprecated as of XPath 2.0, but required in some languages that use XPath, including XSLT." What is the error code in this case?
As an aside, I'd like the namespace axis to be allowed in XQuery 3.0.
The Working Group agrees to resolve this together with 20738: If the axis name is omitted from an axis step, the default axis is child, with two exceptions: if the axis step is an AttributeTest or SchemaAttributeTest then the default axis is attribute; if the axis step is a NamespaceNodeTest then a static error is raised [err:XQSTXXXX].
Minor correction, it's not the axis step that is a AttributeTest etc, it is the NodeTest (part of the axis step).
*** Bug 20738 has been marked as a duplicate of this bug. ***