[Bug 27078] [xslt3.0ts] xp-striding-grounded-motionlessA007 (namespace nodes)

https://www.w3.org/Bugs/Public/show_bug.cgi?id=27078

--- Comment #4 from Abel Braaksma <abel.braaksma@xs4all.nl> ---
> namespace-node()/self::node() should be climbing and motionless.

This is a result of the current XP30 REC: the expression should throw an error.
Quote:

<quote>
If the axis name is omitted from an axis step, the default axis is child, with
two exceptions: if the NodeTest in an axis step contains an AttributeTest or
SchemaAttributeTest then the default axis is attribute; if the NodeTest in an
axis step is a NamespaceNodeTest then a static error is raised [err:XQST0134] .
</quote>

This was actually part of a bug I raised and most recently, a response from
Jonathan told me that the WG is still figuring out how to fix it with an
erratum.

The reason it has motionless + grounded is because if a step raises an error,
it should be considered as motionless and grounded: errors are not part of the
analysis.

> namespace-node()/descendant-or-self::node()

Same is true for this one, the first step is an error, result type of errors is
the empty sequence, and the analysis should therefore consider the lh-side as
an empty sequence, and the rh-side then doesn't matter anymore.

I have marked (but later forgot) this specific case in the
_base-expressions.xml (in the tests/sandp dir) which forms the basis of the
test generator, as follows:

<!-- if the static result type is an error, it is the empty sequence in
posture/sweep analysis
     note: in XP31 the default axis for such test is the namespace axis,
bug#26788 -->
<production node-type="error">namespace-node()</production>

I'm not sure what the best cause of action is here.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 16 October 2014 19:28:08 UTC