[Bug 2702] [XSLT] terminology for variable/param with 'as' attribute defined

http://www.w3.org/Bugs/Public/show_bug.cgi?id=2702





------- Comment #3 from mike@saxonica.com  2006-04-19 13:37 -------
We agreed to use the term "temporary tree" in the most general sense (that is,
meaning (a) in comment #2) and I was asked to make proposals for dealing with
text that uses the term differently - preferably without introducing new
technical terms if possible. This proposal attempts to do that.

I've been through all uses of the term "temporary tree". Where the text doesn't
need to change, or where the only change is to remove a reference to section
9.4, I have said nothing.

2.1 Add the definition "A temporary tree is a tree that is neither a source
tree nor a result tree". All termrefs from "temporary tree" will now point
here.

9.3 <old>[Definition: 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 (referred to as a temporary
tree) 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.
Temporary trees are described in more detail in 9.4 Temporary Trees.</old>

Change this as follows: (a) make it no longer a definition. (b) delete
"(referred to as a temporary tree)". (c) Replace "Temporary trees are described
in more detail in 9.4 Temporary Trees." by "See also 9.4 Creating implicit
document nodes".

9.3, table, row 8 column 4, current text "Value is a temporary tree", change to
"Value is a document node whose content is obtained by evaluating the sequence
constructor"

9.3, Example 4: delete "(that is, a temporary tree)".

9.4 Temporary trees: change the section heading to "Creating implicit document
nodes". Change 

<old>A temporary tree is constructed by evaluating an xsl:variable, xsl:param,
or xsl:with-param element that has non-empty content and that has no as
attribute. This element is referred to as the variable-binding element. The
value of the variable is a single node, the document node of the temporary
tree. This document node is created implicitly, and its content is formed from
the result of evaluating the sequence constructor contained within the
variable-binding element, as described in 5.7.1 Constructing Complex
Content.</old>

to

<new>A document node is constructed implicitly when evaluating an xsl:variable,
xsl:param, or xsl:with-param element that has non-empty content and that has no
as attribute. This element is referred to as the variable-binding element. The
value of the variable is a single node, the document node at the root of a
temporary tree. The content of the document node is formed from the result of
evaluating the sequence constructor contained within the variable-binding
element, as described in 5.7.1 Constructing Complex Content.</new> 

In the para after the first note ("The base URI...") delete "at the root of a
temporary tree".

In the para above the example, change "Also, the key and idFO functions can be
used to find nodes within a temporary tree." to "Also, the key and idFO
functions can be used to find nodes within a temporary tree, provided that its
root is a document node."

In 19.2.2, change "Validation is not applied to temporary trees unless the
document node is constructed using an xsl:document instruction." to
"Document-level validation is not applied to the document node that is created
implicitly when a variable-binding element has no select attribute or as
attribute (see 9.4)."

Received on Wednesday, 19 April 2006 13:37:46 UTC