- From: <bugzilla@jessica.w3.org>
- Date: Mon, 08 Feb 2016 06:23:49 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29432 Bug ID: 29432 Summary: [XSLT30] unclear what instructions are allowed in tail-position after xsl:on-empty 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: --- The instruction xsl:on-empty (section 8.4.2) must be in tail-position. Most of the time this is pretty clear and we write about this: <quote> It must not be followed in the sequence constructor by any other instruction, other than xsl:fallback, or by a significant text node (that is, a text node that has not been discarded under the provisions of 4.3 Stripping Whitespace from the Stylesheet), or by a literal result element. It may, however, be followed by non-instructions such as xsl:catch where appropriate. </quote> Any instruction possibly creating something inside the sequence constructor is clearly disallowed. But what about instructions that do not create content? What about xsl:result-document, xsl:message, xsl:assert? These are not so much "non-instructions" (an odd term, btw), but they also do not add to the sequence constructor. Since this was introduced to aid streaming, and since either of the instructions mentioned above are potentially consuming, I propose to disallow them, or to add an extra rule something like: "Any following sibling instruction that does not create content *must* have grounded posture and motionless sweep when streaming." -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Monday, 8 February 2016 06:23:52 UTC