- From: <bugzilla@jessica.w3.org>
- Date: Fri, 07 Oct 2016 21:15:10 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29889 --- Comment #4 from Michael Kay <mike@saxonica.com> --- I propose: #1 and #4. In 19.10, change the sentence If a construct is guaranteed-streamable then it must be processed using streaming. to If a construct is guaranteed-streamable and the input is provided in streamable form, then the input must be processed using streaming. with a Note: the requirement to process the input using streaming does not apply if the processor is able to determine that this would convey no benefit: for example, if the input is supplied as a tree in memory. However, this does not remove the requirement to verify that the relevant stylesheet constructs are guaranteed streamable. #2. In 2.3.5, Function Call Invocation, add: If the initial function is declared streamable, a streaming processor SHOULD allow the value of the first argument to be supplied in streamable form, and if it is supplied in this form, then it MUST be processed using streaming. #3. In 2.3.3 Apply-templates invocation, replace the existing note: If the initial mode is a streamable mode, then streaming will only be possible if nodes in the input sequence are supplied in a form that allows such processing: for example, as a reference to a stream of parsing events. by If the initial mode is declared streamable, a streaming processor SHOULD allow some or all of the items in the initial match selection to be nodes supplied in streamable form, and any nodes that are supplied in this form MUST then be processed using streaming. #7. I'm not convinced anything needs saying here. Remember that everything is allowed unless we say it isn't - we don't have to list all the things that processors might choose to do. #8. I find it difficult to see what we should say beyond the existing paragraph in 19.10: For a non-streaming processor, the processor must evaluate the construct delivering the same results as if execution used streaming, but with no constraints on the evaluation strategy. (Processing may, of course, fail due to insufficient memory being available, or for other reasons.) A non-streaming processor is not required to assess whether constructs are guaranteed-streamable, or to apply restrictions such as the rules for where calls on the functions accumulator-before and accumulator-after may appear. However, a non-streaming processor must enforce the constraint implied by a use-accumulators attribute restricting which accumulators can be used with a particular document. #9. (the table) I'll take another look at this. I'm a bit concerned at the risk that the table might say (or be perceived as saying) something different from the current prose. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Friday, 7 October 2016 21:15:18 UTC