[Bug 29148] [XSLT30] Text on constructing complex content says that document nodes are removed, but this is not always true


--- Comment #3 from Michael Kay <mike@saxonica.com> ---
OK, sorry, my rationale here was not quite right (shouldn't try this kind of
thing while on vacation...). But I think I was close, and I don't think there
is a bug.

5.7.1 starts by saying: "This section describes how the sequence obtained by
evaluating a sequence constructor may be used to construct the children of a
newly constructed document node, or the children, attributes and namespaces of
a newly constructed element node."

9.3 says: If a variable-binding element has no select attribute and has
non-empty content (that is, the variable-binding element has one or more child
nodes), and has no as attribute, then the content of the variable-binding
element specifies the supplied value. The content of the variable-binding
element is a sequence constructor; a new document is constructed with a
document node having as its children the sequence of nodes that results from
evaluating the sequence constructor and then applying the rules given in 5.7.1
Constructing Complex Content. The value of the variable is then a singleton
sequence containing this document node. 

So 9.3 says we create a document node and use the rules in 5.7.1 to create its
children. The document node itself is not part of the sequence obtained by
evaluating the sequence constructor, so rule 4 ("Any document node within the
result sequence is replaced by a sequence containing each of its children, in
document order.") does not affect it.

It's true that the language could be tightened up (we don't define the term
"result sequence", for example). But if it was good enough for 2.0 I can't
really see that there's a pressing need to change it now.

You are receiving this mail because:
You are the QA Contact for the bug.

Received on Monday, 28 September 2015 09:50:35 UTC