- From: Jonathan Robie <jonathan.robie@datadirect.com>
- Date: Wed, 11 Feb 2004 18:44:24 -0500
- To: XML Query Comments <public-qt-comments@w3.org>
The XQuery document notes that the following element constructor fails
with a validation error:
<p xsi:type="xs:integer">3</p>
This is an unpleasant surprise for users - and there is a simple
solution. The specification already requires implementations to create
a namespace node for each namespace used in an element or attribute
name:
A namespace node is created corresponding to each namespace
declared in a namespace declaration attribute of this (or any
enclosing) direct element constructor, each computed namespace
within this (or any enclosing) computed element constructor, and
the xml namespace. These namespace nodes use the same prefixes and
URIs as the namespace declarations from which they are derived (the
prefix becomes the name of the namespace node, and the URI becomes
the string value of the namespace node).
A namespace node is created corresponding to any namespace used in
the name of the element or in the names of its attributes. However,
a namespace node need not be created if there is already a
namespace node for a given namespace URI on a given element. The
string value of the created namespace node is the namespace URI of
the element or attribute name. The name of the namespace node
(which represents the namespace prefix) is implementation-dependent;
it must not conflict with the name of any other namespace node
for the same element.
A similar rule should be added to create a namespace node
for each namespace used in an instance of the xs:QName type.
Jonathan
Received on Wednesday, 11 February 2004 18:47:44 UTC