[Bug 29507] [xslt30] A problem case for streamed grouping

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

--- Comment #3 from Michael Kay <mike@saxonica.com> ---
After debating this with myself on the XSL mailing list, and producing an
initial implementation, I believe we can close this as follows.

(A) At the point where we define striding posture, remove the claim that the
result of an expression in striding posture is always in document order.
Replace this claim with a note that explains that a striding expression may
contain a mixture of streamed nodes and grounded items, and the streamed nodes
will always be in document order; as a result, some expressions that would
normally require sorting into document order, such as (/book/book |
$extrabook)/price, are deemed streamable because the sort can be achieved
without buffering streamed nodes in memory.

(B) Under "Streamability of path expressions" add a similar note about mixed
posture expressions.

Note that under the current rules, similar expressions that involve crawling
sub-expressions are not streamable: for example (//book | $extrabook) / PRICE
is not guaranteed streamable. This is because the LHS of the "/" operator is
not a "scannable expression". We could easily extend the rules for scannable
expressions to cover this case, but I don't propose to do so.

The test cases available are now sx-comma-040 to -043 and -140 to -143, and
sx-union-040 to -043 and -140 to -143.

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

Received on Sunday, 28 February 2016 17:38:05 UTC