[Bug 29983] [XSLT30] Scanning expressions and function calls

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

--- Comment #11 from Michael Kay <mike@saxonica.com> ---
We define the term "equivalent expression" in 5.5.3.

It's not quite perfect because it's defined in terms of the lexical form of the
pattern/expression, while the streamability analysis is really operating on the
expression tree, but at this level it's good enough. The formulation I used "is
the equivalent expression of some motionless pattern" is designed to
accommodate lexical variations.

We don't need to worry about expressions/patterns like "//x" in this section
because we're only concerned here with analyzing relative path expressions.

Note also that the semantics of the "scanning" operation are not precisely
equivalent to pattern-matching of the descendant nodes, because the pattern has
to match within the subtree rooted at the context item. For example
descendant::section/child::head is a scanning expression, but it doesn't
necessarily select every descendant element that matches the pattern
section//head - there is an additional condition, viz that the section in
question has to be within the subtree. But I still think it is the case that
there we can define scanning expressions by reference to motionless patterns
without any change to the intended meaning of the term (and that if we do so,
we may avoid unintended differences).

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

Received on Friday, 18 November 2016 09:41:01 UTC