[Bug 5333] [UPD] Reference to clause 1e for enclosed expressions unclear

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


chamberl@almaden.ibm.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED




------- Comment #2 from chamberl@almaden.ibm.com  2008-01-15 00:58 -------
I agree with Mike's Comment #1. Many of the rules for processing of element
constructors do not apply to transforms. I suggest that we replace Transform
Rules 1a and 1b with the following:

(a) The source expression must be a non-updating expression; otherwise a static
error is raised [err:XUST0001].

(b) The result of the source expression must be a single node [err:XUTY0013].
Let $node be this single node.

(c) A new copy is made of $node and all nodes that have $node as an ancestor,
collectively referred to as copied nodes. Each copied node receives a new node
identity. The parent, children, and attributes properties of the copied nodes
are set so as to preserve their inter-node relationships. Other properties of
the copied nodes are determined as follows:
   (i) For a copied element node, the type-name property is set to xs:untyped,
and the nilled, is-id, and is-idrefs properties are set to false.
   (ii) For a copied attribute node, the type-name property is set to
xs:untypedAtomic and the is-idrefs property is set to false. The is-id property
is set to true if the qualified name of the attribute node is xml:id; otherwise
it is set to false.
   (iii) The string-value of each copied element and attribute node remains
unchanged, and its typed-value becomes equal to its string-value as an instance
of xs:untypedAtomic. Note: Implementations that store only the typed value of a
node are required at this point to convert the typed value to a string form.
   (iv) All other properties of the copied nodes are preserved.

(d) The variable name is bound to the top-level copied node generated in the
previous step. The scope of this variable binding includes all subexpressions
of the containing transform expression that appear after the variable binding
clause, including the source expressions of later variable bindings, but it
does not include the source expression to which the current variable name is
bound.

Received on Tuesday, 15 January 2008 00:58:10 UTC