RE: IBM-DM-012: Problems with element node, string-value accessor

 

I think that this whole section is mixed up. In my opinion, it should
say that it returns the concatenation of the string-values of all its
text node descendants in document order and add a note that for
simple-content typed elements, that it is implementation-defined whether
this string-value is calculated from the typed value or not.

 

Best regards

Michael (speaking for himself)

 

________________________________

From: public-qt-comments-request@w3.org
[mailto:public-qt-comments-request@w3.org] On Behalf Of XML Query
Sent: Monday, February 02, 2004 11:08 AM
To: public-qt-comments@w3.org
Subject: IBM-DM-012: Problems with element node, string-value accessor

 


Data Model Section 6.2.2 (Element Nodes--Accessors): The dm:string-value
accessor does not seem to be defined in terms of the properties of an
element node. This problem has many manifestations. For example, 

(a) "If the element type is xs:string, or a type derived from xs:string,
returns that string."  Eh?  Returns what string? Does it mean that the
value returned is the content property of the child text node?   

(b) "If the element type is xs:anyURI, returns the characters of the
URI."  What URI? Again, are we talking about the content of the child
text node? 

(c) "If the element type is xs:QName": this bullet has many problems. It
discusses a "value" but does not specify where the value is found. It
discusses the case when "in-scope namespaces map the default namespace
to any namespace URI". Does this mean that the default namespace is a
specific (rather than "any") URI? It refers to an error, "default
namespace is defined". But this error needs a better
description--certainly it is not an error simply to define a default
namespace. Also, the list of subcases seems to be incomplete. The first
bullet deals with the case when the "value" has no namespace URI and the
default namespace satisfies some (poorly specified) condition; but what
about the case when the the "value" has no namespace URI and the default
namespace does not satisfy this condition? 

(d) "If the element type is xs:dateTime, . . .": This paragraph requires
the "original lexical representation" to be returned by the string-value
accessor. But I believe there is no such requirement--isn't it possible
that the original lexical representation might have been normalized into
some different but equivalent representation? In general we do not
attempt to preserve "original" lexical representations. Also, presumably
this section applies to subtypes of the date/time types as well as the
date/time types themselves. Also, this section describes how to compute
a string-value from a "normalized value" and an "explicit timezone", but
these things are not among the listed properties of an element node. 

(e) "In all other cases, returns the concatenation of the string-values
of all its text node descendants in document order." Finally, something
that is actually found in the data model! Unfortunately, this sub-bullet
is under the higher-level bullet where the "element has a simple type or
a complex type with simple content." But in these cases, the element
node has only a single text-node child, so why are we talking about
"descendants"? 

(f) If the element has a simple type or a complex type with simple
content, why doesn't the string-value accessor simply return exactly the
content of the child text node? If the child text node doesn't contain
the string-value in these cases, then what does it contain? 

Received on Monday, 2 February 2004 14:51:19 UTC