- 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