- From: <bugzilla@jessica.w3.org>
- Date: Sun, 06 Nov 2016 10:09:50 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29984 Bug ID: 29984 Summary: [XSLT30] Lessen the restraint on required raising of XTSE3430 for constructs not guaranteed streamable per our rules Product: XPath / XQuery / XSLT Version: Candidate Recommendation Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P2 Component: XSLT 3.0 Assignee: mike@saxonica.com Reporter: abel.braaksma@xs4all.nl QA Contact: public-qt-comments@w3.org Target Milestone: --- We require a processor to offer a user option to raise the error XTSE3430 when a construct is not guaranteed streamable per the rules in the specification. I know this option has had considerable debate in the past, but I would like to (slightly) lessen this requirement. Specifically, processors may very well pre-optimize expressions and constructs if they evaluate to an empty sequence or a constant value. Example: every $a in foo[false()] satisfies $a[@x = 1] This is not allowed with streaming (binding a node to a variable). But the set of $a is empty (replace "foo[false()]" with any expression that is statically empty). I wouldn't be surprised if most processors detect this at the parsing phase, and do not detect it being not guaranteed-streamable (but streamable nonetheless). I know we miss it. While I am not certain what exactly we can do here, I am thinking of something along those lines: Replace: [Definition: A guaranteed-streamable construct is a construct that is declared to be streamable and that follows the particular rules for that construct to make streaming possible, as defined by the analysis in this specification.] with [Definition: A guaranteed-streamable construct is a construct that is declared to be streamable and that follows the particular rules for that construct to make streaming possible, as defined by the analysis in this specification, or any construct that can statically be determined to never require access to a streamed node but that would otherwise not be guaranteed streamable according to the rules in this specification.]. Whether or not a processor can determine statically that a construct does not require access to a streamed node is implementation-dependent. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Sunday, 6 November 2016 10:09:57 UTC