This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 7354 - [XSLT 2.0] Meaning of "part of a sequence constructor"
Summary: [XSLT 2.0] Meaning of "part of a sequence constructor"
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 2.0 (show other bugs)
Version: Recommendation
Hardware: PC Windows XP
: P5 trivial
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL: http://www.w3.org/TR/xslt20/#forwards
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-17 19:14 UTC by Henry Zongaro
Modified: 2010-07-20 11:38 UTC (History)
0 users

See Also:


Attachments

Description Henry Zongaro 2009-08-17 19:14:12 UTC
In section 3.9 of XSLT 2.0,[1] the third bullet of the second list begins, "if an element in the XSLT namespace appears as part of a sequence constructor, and XSLT 2.0 does not allow such elements to appear as part of a sequence constructor," and then goes on to describe the behaviour, depending on whether the element has any xsl:fallback children.

Now consider the following fragment:

<xsl:template match="/">
  <xsl:choose version="8.5">
    <xsl:when test="condition">
      Do something
    </xsl:when>
    <xsl:otherwise>
      Do something else
    </xsl:otherwise>
    <xsl:finally>
      <xsl:fallback/>
    </xsl:finally>
  </xsl:choose>
</xsl:template>

Presumably the xsl:finally here is not considered to be "part of the sequence constructor," despite the fact that it is part of the content of a node that is part of the sequence constructor.

If that interpretation is correct, I would suggest adding the following sentence after the second list to decrease the possibility of confusion:  "A node is considered to be part of the sequence constructor if it is one of the sequence of sibling nodes of which the sequence constructor is composed.  Descendants of such a node are not part of the sequence constructor."

[1] http://www.w3.org/TR/xslt20/#forwards
Comment 1 Michael Kay 2010-05-27 16:52:15 UTC
Agreed to add this clarification, or an editorial variation of it if the editor can come up with better wording.
Comment 2 Michael Kay 2010-07-15 09:40:57 UTC
This will be erratum E49.
Comment 3 Michael Kay 2010-07-20 11:38:58 UTC
I propose to handle this by changing:

if an element in the XSLT namespace appears as part of a sequence constructor

to

if an element in the XSLT namespace appears as a child of an element whose content model requires a sequence constructor