Data Model Last Call 1 Comments

138 comments

This document is incomplete. It will be updated ASAP after the Nov 12 publication date of the 2nd Data Model Last Call Working Draft.

This document summarizes the comments on the XQuery 1.0 and XPath 2.0 Data Model document dated May 2, 2003. Comments received via both public amd member-only mailing lists, up until mid-August 2003 are recorded in this document.

Material reproduced from comments has been marked up, and obvious typos have been corrected. Postings and documents which raise several substantively distinct points have been silently divided among several comments. To consult the original postings, see the sources listed for each comment.

Commentators are requested to review the entries for the comments they have made, and to check to make sure we have correctly understood and paraphrased their comment.

Not all postings to the comments mailing list have resulted in entries in this list. For example, postings which ask for clarification and do not result in any errata, are not necessarily included in this list.

The status of each issue is recorded in the table. The status may be: “open” indicating that the issue has not been processed; “addressed” indicating that the issue has been addressed; or “closed” indicating that the issue is closed. Issues marked as “addressed” will be changed to “closed” as the original submitters agree that the issues have been addressed to their satisfaction.

Comment Status Class Summary
DM-LC1-0001 addressed editorial XPath/XQuery/Data Model : Data Model Inconsistency?
DM-LC1-0002 addressed editorial fn:base-uri($srcval) is still unclear
DM-LC1-0003 addressed editorial Data Model: 3.2 Document order of fragments?
DM-LC1-0004 addressed editorial Data Model : What is a "fragment"?
DM-LC1-0005 addressed editorial Data Model 3.3 - "sequences of fragments and sequences of documents"
DM-LC1-0006 addressed editorial Serialization / Data Model - make more clearly consistent
DM-LC1-0007 addressed editorial Data Model: 4 - Nodes (and "root nodes")
DM-LC1-0008 addressed editorial Data Model: 4.1.1 "uri" or "URI"?
DM-LC1-0009 addressed editorial Data Model: 4.1.3 - "qualified name" or expanded-QName?
DM-LC1-0010 addressed editorial Data Model: 4.1.4 Parent Accessor
DM-LC1-0011 addressed editorial Data Model: 4.2.1 - "document" or "document node"?
DM-LC1-0012 addressed editorial Data Model: 4.1.11 Typo
DM-LC1-0013 addressed editorial Data Model: 4.2.3
DM-LC1-0014 addressed technical Related to DM-LC1-0030.
DM-LC1-0015 addressed technical RE: /WD-xpath-datamodel-20030502/
DM-LC1-0016 addressed technical Addressed by DM-LC1-0015
DM-LC1-0017 addressed editorial DM: What is a "document"?
DM-LC1-0018 addressed editorial DM: What is an "element"?
DM-LC1-0019 addressed editorial DM: Imprecise Headings in 4.2 to 4.8
DM-LC1-0020 addressed editorial DM: 3.3 "sequences of documents"
DM-LC1-0021 addressed editorial DM: 3.3 "inconsistent data models are forbidden"
DM-LC1-0022 addressed editorial DM: Inconsistency between 3.4 and 4.1.7
DM-LC1-0023 addressed editorial [DM] 3.6 - What does this mean?
DM-LC1-0024 addressed editorial [DM] 4.1.3 "qualified name"
DM-LC1-0025 addressed editorial [DM] 4.1.3 What is an xsd:QName?
DM-LC1-0026 addressed editorial [DM] 4.2.2 Table
DM-LC1-0027 addressed editorial data model: parent of namespace nodes
DM-LC1-0028 addressed editorial Data Model - 4.5.4 Data Model to Infoset Mapping
DM-LC1-0029 addressed editorial data model - PSVI to DM mapping - parent of Element nodes
DM-LC1-0030 addressed technical Related to DM-LC1-0014.
DM-LC1-0031 addressed editorial copy/paste error
DM-LC1-0032 closed editorial Resolving issue 526 will change the data model
DM-LC1-0033 addressed technical-minor make datetime tuples real types
DM-LC1-0034 addressed editorial implementation defined and implementation-dependent
DM-LC1-0035 addressed editorial Data model spec issues
DM-LC1-0036 addressed editorial Data model spec issues
DM-LC1-0037 addressed editorial Data model spec issues
DM-LC1-0038 addressed editorial Data model spec issues
DM-LC1-0039 addressed editorial Data model spec issues
DM-LC1-0040 addressed editorial Data model spec issues
DM-LC1-0041 addressed editorial Data model spec issues
DM-LC1-0042 addressed editorial Data model spec issues
DM-LC1-0043 addressed editorial Data model spec issues
DM-LC1-0044 addressed editorial SAG-DM-01; Mixed content
DM-LC1-0045 addressed technical SAG-DM-02; Type hierarchy
DM-LC1-0046 addressed technical SAG-DM-03; Document node metadata
DM-LC1-0047 addressed editorial Improve definition of stable order
DM-LC1-0048 addressed technical-minor Namespace nodes
DM-LC1-0049 addressed editorial-major Documents are not internally/cross-document consistent
DM-LC1-0050 addressed pending-clarification ORA-DM-DATASET
DM-LC1-0051 addressed editorial clarify relationship between nodes and information items
DM-LC1-0052 addressed editorial document nodes vs. root nodes
DM-LC1-0053 addressed editorial Clarify
DM-LC1-0054 addressed editorial ORA-DM-ANYTYPE-TYPED-VALUE
DM-LC1-0055 addressed technical-minor Clarify rules for anonymous type names
DM-LC1-0056 addressed editorial ORA-DM-SCHEMA-VALIDATED
DM-LC1-0057 addressed editorial ORA-DM-SYNTHETIC
DM-LC1-0058 addressed editorial ORA-DM-QNAME-FONT
DM-LC1-0059 addressed editorial ORA-DM-UNTYPEDATOMIC
DM-LC1-0060 addressed technical What should we do about the term "fragment" in the DM document?
DM-LC1-0061 addressed editorial ORA-DM-CHILD
DM-LC1-0062 addressed editorial Name is right; inform the commenter
DM-LC1-0063 addressed editorial ORA-DM-TYPE-CONSISTENCY
DM-LC1-0064 addressed editorial ORA-DM-NAMESPACE-PREFIXES
DM-LC1-0065 addressed editorial Related to DM-LC1-0060.
DM-LC1-0066 addressed editorial ORA-DM-A-LANGUAGE
DM-LC1-0067 addressed editorial ORA-DM-VALUE
DM-LC1-0068 addressed editorial Related to DM-LC1-0047
DM-LC1-0069 addressed editorial ORA-DM-A-ORDER
DM-LC1-0070 addressed editorial ORA-DM-DOCORDER
DM-LC1-0071 addressed editorial ORA-DM-ORDER-NODES
DM-LC1-0072 addressed editorial ORA-DM-ORDERTOTAL
DM-LC1-0073 addressed editorial ORA-DM-NOTXML
DM-LC1-0074 addressed editorial ORA-DM-VALUES-NODES
DM-LC1-0075 addressed editorial ORA-DM-TYPEITALICS
DM-LC1-0076 addressed editorial ORA-DM-PARENT
DM-LC1-0077 addressed editorial ORA-DM-NONEMPTY
DM-LC1-0078 addressed editorial ORA-DM-PROPERTIES-BRACKETS
DM-LC1-0079 addressed editorial ORA-DM-NODES-TREES
DM-LC1-0080 addressed editorial ORA-DM-PROPERTIES-DOCUMENT
DM-LC1-0081 addressed editorial ORA-DM-PROPERTIES-BASEURI
DM-LC1-0082 addressed editorial ORA-DM-PROPERTIES-AMBIGUITY
DM-LC1-0083 addressed technical ORA-DM-MAPPINGS-USE
DM-LC1-0084 addressed technical ORA-DM-MAPPINGS-DOCUMENT
DM-LC1-0085 addressed editorial ORA-DM-MAPPINGS-SETS
DM-LC1-0086 addressed editorial References to the xsi:nil attribute are a mistake.
DM-LC1-0087 addressed technical ORA-DM-MAPPINGS-ORDER
DM-LC1-0088 addressed editorial ORA-DM-MAPPINGS-CHILDREN
DM-LC1-0089 addressed editorial ORA-DM-ATOMIC-SINGULAR
DM-LC1-0090 addressed editorial ORA-DM-MAPPINGS-SEQUENCE
DM-LC1-0091 addressed editorial LC place holder for XML Core editorial comments
DM-LC1-0092 addressed technical Expanded name terminology
DM-LC1-0093 addressed technical Type mapping list incomplete
DM-LC1-0094 addressed technical Atomic values list incomplete
DM-LC1-0095 addressed technical Why are union values sequences?
DM-LC1-0096 addressed editorial ORA-DM-MAPPING-FORMAT 4.2.3 PSVI to Data Model mapping
DM-LC1-0097 addressed editorial ORA-DM-MAPPINGS-SEQUENCE2 4.2.4 Data model to Infoset mapping
DM-LC1-0098 addressed editorial ORA-DM-CHILDPARENT 4.3.1 Overview
DM-LC1-0099 addressed editorial ORA-DM-CHILDPARENT2 4.3.1 Overview
DM-LC1-0100 addressed editorial ORA-DM-NSATT-ORDER 4.3.2 Accessors
DM-LC1-0101 addressed editorial ORA-DM-OTHERWISE 4.4.3 PSVI to Data Model mapping
DM-LC1-0102 addressed editorial ORA-DM-PI 4.6.1 Overview
DM-LC1-0103 addressed editorial ORA-DM-FRAGMENT-TREE Appendix A, XML Information Set Conformance
DM-LC1-0104 addressed technical ORA-DM-PARENT-ACCESSOR 4.1 Accessors
DM-LC1-0105 addressed technical-minor ORA-DM-STRINGVALUE 4.1.5 string-value Accessor
DM-LC1-0106 addressed technical-minor ORA-DM-COMMENTNODE 4.1.6 typed-value Accessor
DM-LC1-0107 addressed technical-minor ORA-DM-NAMESPACENODE 4.1.6 typed-value Accessor
DM-LC1-0108 addressed technical DOM WG: DOM1
DM-LC1-0109 addressed technical DOM WG: DOM2
DM-LC1-0110 addressed technical-minor DOM WG: DOM3
DM-LC1-0111 addressed technical DOM WG: DOM4
DM-LC1-0112 addressed technical DOM WG: DOM5
DM-LC1-0113 addressed technical DOM WG: DOM6
DM-LC1-0114 addressed technical DOM WG: DOM7
DM-LC1-0115 addressed technical DOM WG: DOM8
DM-LC1-0116 addressed editorial Comments for WD-xpath-datamodel-20030502 and WD-xpath-functions-20030502
DM-LC1-0117 addressed technical Additiaonl XML Core comment on XPath data model
DM-LC1-0118 addressed editorial Holder for editorial comments from I18N
DM-LC1-0119 addressed technical I18N [7]: extended data models: language associated with text nodes, for example
DM-LC1-0120 addressed technical I18N [8]: improve support for inherited attributes
DM-LC1-0121 addressed technical I18N [11]: anyType, anyAtomicType, etc.
DM-LC1-0122 addressed technical I18N [12]: Date and time mappings
DM-LC1-0123 addressed technical I18N [19]: Discrepancy between string value of element and string value of document
DM-LC1-0124 addressed technical I18N [20]: Use of xs:string where xs:anyURI would be better
DM-LC1-0125 addressed technical I18N [21]: DM to Infoset mapping issues
DM-LC1-0126 addressed technical I18N [33]: Enumerate cases where lexical representation differs from XPath 1.0
DM-LC1-0127 addressed technical I18N [D]: Update the example
DM-LC1-0128 addressed editorial Place holder for XML Schema WG editorial issues
DM-LC1-0129 addressed technical 2.1: timezone issues
DM-LC1-0130 addressed technical 2.2: anyAtomicType
DM-LC1-0131 addressed technical 2.3: untypedAtomic
DM-LC1-0132 addressed technical 2.6: Plans for CR/PR/REC
DM-LC1-0133 addressed editorial Place holder for editorial comments from Don Chamberlin
DM-LC1-0134 addressed technical [validity] = invalid
DM-LC1-0135 addressed technical typed-value of elements with complex type
DM-LC1-0136 addressed technical Prefixes for namespaces in the infoset mapping
DM-LC1-0137 addressed technical type of typed-value of comment nodes
DM-LC1-0138 addressed editorial Data model spec issues

DM-LC1-0001: XPath/XQuery/Data Model : Data Model Inconsistency?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
I am trying to put a few statements together and, at the moment at least, 
they don't quite add up for me.

In XPath Chapter 2 it is stated, "Each node has a unique node identity."

In Data Model Chapter 6 it is stated, "A sequence has no identity".

In XPath Chapter 2 it is stated, "An item is identical to a singleton 
sequence containing that item."

However, if the item in a singleton sequence is a node then it seems that the 
sequence with a single node has no identity. However if the node exists "on 
its own", as it were, it does have identity. ... If you see what I mean. :)

Is there an inconsistency? Or have I missed a caveat somewhere?

Perhaps the seeming problem can be solved by adding some judicious qualifying 
phrase in an appropriate place?
Norman.Walsh@Sun.COM (Norman Walsh)
Reworded:

“Equality comparison of sequences is performed by comparing the
items of the sequences. Whereas you can compare the identity of two nodes,
you cannot compare the identity of two sequences; you can only determine
whether or not they contain the same members.”

DM-LC1-0002: fn:base-uri($srcval) is still unclear

Status: addressed
Class: editorial
per@bothner.com (Per Bothner)
There may be an editorial typo in the specification
of the one-argument base-uri.  The result is that it
is unclear where the base-uri of a text node
be non-empty.  I think the intent is "yes",
in which case I think this one-word fix will help.  Change
"The base-uri of all other node types is the empty sequence."
to
"The base-uri property of all other node types is the empty sequence."
 From the context, that appears to have been the intent.

Both the Functions and Operators and the Data Model documents have
the same problem.
Norman.Walsh@Sun.COM (Norman Walsh)
I believe this has been clarified in the 12 Nov draft.

DM-LC1-0003: Data Model: 3.2 Document order of fragments?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In looking at 3.2 in Data Model there is a description of document order in 
*documents* and mention of free-standing nodes. But there appears to be no 
mention of document order in fragments.

It seems to me that fragments may have document order. 

Was it a conscious choice not to discuss this in the Data Model 
specification? Or is it intended that the document order which is specified 
for *documents* is also intended to apply to fragments?

I have a supplementary question on fragments which I will send in a few 
minutes. It may impact on this question.
Norman.Walsh@Sun.COM (Norman Walsh)
I believe I’ve corrected that oversight in the 12 Nov draft.

DM-LC1-0004: Data Model : What is a "fragment"?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
On reading the Data Model document it seems to me that the term "fragment" is 
used in a way which is ambiguous and potentially confusing.

In 4 it is stated that "A tree whose root node [is not a document node] is a 
fragment.".

However in 4.2.3 it is stated, "When a data model fragment is created from 
the PSVI, a document information item is mapped to a document node.". I take 
that to indicate that a "fragment" acquires a document node. But, if I 
understand 4 correctly, it is then by definition not a fragment.

I am not sure if the intention is that "fragment" and "data model fragment" 
are intended to have different meanings (if so that should be clarified) or 
if they have the same meaning and the descriptions in 4 and 4.2.3 are 
inconsistent.
Norman.Walsh@Sun.COM (Norman Walsh)
I’ve reworded the text to use the term ‘fragment’ consistently in the 12 Nov draft.

DM-LC1-0005: Data Model 3.3 - "sequences of fragments and sequences of documents"

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In 3.3 of Data model mention is made of "sequences of fragments and sequences 
of documents". I assume that the intention is to refer to sequences of "root 
nodes" and sequences of "document nodes"?

I think I know what is intended but the way it is phrased opens the 
possibility of sequences of things other than atomic values and nodes. Some 
rephrasing seems desirable.
Norman.Walsh@Sun.COM (Norman Walsh)
I’ve changed the wording to avoid that ambiguity in the 12 Nov draft.

DM-LC1-0006: Serialization / Data Model - make more clearly consistent

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In the penultimate sentence of 3.3 of Data Model mention is made of 
serialization via the infoset.

However, the infoset is not mentioned anywhere in the new Serialization WD, 
as far as I can see.

Two suggestions:
1. There should, perhaps, be a cross reference from Data Model to 
Serialization
2. The descriptions of serialization might better be more clearly aligned 
between the documents.
Norman.Walsh@Sun.COM (Norman Walsh)
The serialization spec is now explicitly referenced in the 12 Nov draft.

DM-LC1-0007: Data Model: 4 - Nodes (and "root nodes")

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In 4 of Data Model mention is made of fragments which, it is stated, don't 
have a document node as "root node".

Which other node types can be a "root node"? It isn't stated. Can all 6 other 
node kinds be a "root node"? If so it should be stated, if not then that too 
should be made clear.

Can, as an edge case, a "tree" have a "root item" i.e. an atomic value? Not 
much of a tree, I admit. :)

In a Note in 4.2.1 it is stated that document nodes and XPath 1.0 root nodes 
are essentially identical. It seems a little perverse, to me at least, to use 
the term "root node" in XPath 2.0 to contrast with "document node" (as in 4) 
while recognising that a document node and an XPath 1.0 root node are very 
similar.

As a final point re 4, the term "root" (unqualified) and the term "root node" 
are both used in the same section. Are they synonymous? Or is some 
distinction intended?
Norman.Walsh@Sun.COM (Norman Walsh)
All seven kinds of nodes can be roots, I believe that has been
clarified in the 12 Nov draft.

I believe the spec has also made it clear that an atomic value cannot
be the root of a tree. The spec has also been clarified to use the
term ‘root node’ consistently.

DM-LC1-0008: Data Model: 4.1.1 "uri" or "URI"?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In 4.1.1 of Data Model, in line 1, reference is made to a "uri reference". 
Should that be "URI reference"?
Norman.Walsh@Sun.COM (Norman Walsh)
Yes, that has been fixed in the 12 Nov draft.

DM-LC1-0009: Data Model: 4.1.3 - "qualified name" or expanded-QName?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In 4.1.3 of Data Model, in the first bullet point, the term "qualified name" 
is used. I think you may have intended to use "expanded-QName" which would 
seem to correspond better to the returned xsd:QName type.
Norman.Walsh@Sun.COM (Norman Walsh)
You are correct. I have corrected that in the 12 Nov draft.

DM-LC1-0010: Data Model: 4.1.4 Parent Accessor

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
Can a root node which is not a document node be a parent node?

The last sentence in 4 implies that a fragment has a "root node" which is not 
a document node. Can such a "root node" have child nodes or, more precisely, 
be a parent node?
Norman.Walsh@Sun.COM (Norman Walsh)
The answer is yes, and I’m not sure how the confusion arises. That a
node is a root is independent of its other accessors. In any event,
the sections on both the parent accessor and on root nodes have been
reworded in the 12 Nov draft. Is the new wording clear?

DM-LC1-0011: Data Model: 4.2.1 - "document" or "document node"?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In numbered points 5 and 6 I suggest that "document D" be replaced by 
"document node D" and, in 7, "a document" be replaced by "a document node".
Norman.Walsh@Sun.COM (Norman Walsh)
Yes, fixed in the 12 Nov draft.

DM-LC1-0012: Data Model: 4.1.11 Typo

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
"emtpy" should be "empty"
Norman.Walsh@Sun.COM (Norman Walsh)
Yes, thank you.

DM-LC1-0013: Data Model: 4.2.3

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In the second line of paragraph 2 of 4.2.3 reference is made to "Element, 
Processing Instruction, Comment and Text nodes". Since dm:node-kind() returns 
node kinds with lower case initial letters should that not be reflected here?
Norman.Walsh@Sun.COM (Norman Walsh)
That section no longer exists.

DM-LC1-0014: Related to DM-LC1-0030.

Status: addressed
Class: technical
elharo@metalab.unc.edu (Elliotte Rusty Harold)
Section 4.3.3. of the Data Model draft states:

     If the [validity] property exists and is "valid" and the 
[attributes] property contains an attribute with the local-name "nil" 
and the namespace URI "http://www.w3.org/2001/XMLSchema-instance", 
then "true", otherwise "false".

I do not see why validity should be required for an element to be 
nil. The mere presence of the xsi:nil="true" attribute should be 
sufficient. Or just maybe it should also be required that the element 
be empty. However, there's no reason it needs to be valid. I have 
profitably used xsi:nil in documents without any schema or DTD.

I suggest deleting the phrase "the [validity] property exists and is 
"valid" and "
Norman.Walsh@Sun.COM (Norman Walsh)
The reference to the xsi:nil attribute was an error, it is the PSVI property
that is interrogated. That has been fixed in the 12 Nov draft.

DM-LC1-0015: RE: /WD-xpath-datamodel-20030502/

Status: addressed
Class: technical
Michael.Kay@softwareag.com (Kay, Michael)
> From section 5.
> quote.
> The value space of the atomic values is the union of the 
> value spaces of the nineteen primitive XML Schema types. unquote.
> 
> Does this imply that no types (or at least atomic types) from 
> any other source are valid within this data model? 
> 
> Is this lockout for anything other than XML schema types or 
> some direct derivation?
> 
> Or more specifically, lockin to XML schema types?
> 

We have added statements in the XPath and XSLT specifications saying that
the set of types may be extended by implementors, I think the Data Model
document probably needs to say something to reflect this.
Norman.Walsh@Sun.COM (Norman Walsh)
Done. Corrected in the 12 Nov draft.

DM-LC1-0016: Addressed by DM-LC1-0015

Status: addressed
Class: technical
David.Pawson@rnib.org.uk (David.Pawson@rnib.org.uk)
From section 5.
quote.
The value space of the atomic values is the union of the value spaces of the
nineteen primitive XML Schema types.
unquote.

Does this imply that no types (or at least atomic types) from
any other source are valid within this data model? 

Is this lockout for anything other than XML schema types or
some direct derivation?

Or more specifically, lockin to XML schema types?
Norman.Walsh@Sun.COM (Norman Walsh)
No. The spec has been updated to reflect that implementors may extend
the set of types available. This change is reflected in the 12 Nov draft.

DM-LC1-0017: DM: What is a "document"?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
I am concerned at the use of the word "document" in the Data Model document.

The term "document" seems to be used for at least three purposes, as far as I 
can see.

In 4.1.4 we read, "A tree whose root node is a document node is a document". 
Well, no it isn't, not really.

It seems to me that some distinct term ... "document tree"? ... should be 
used where the sense of 4.1.4 is intended,  to avoid confusion with XML 
documents and with document nodes.

In 4.2 we find a heading "Documents" which I think is an informal shorthand 
for document nodes. Or is the 4.1.4 "document tree" sense intended in parts?

In 4.2, we have ".... XML documents. Documents have the following properties 
....". I assume that by "Documents" it is intended to refer to "document 
nodes"? XML documents qua XML documents certainly don't have the stated 
properties.

It is disappointing to see these ambiguities persisting in the Data Model 
document. I seem to recall raising this issue some time ago. In a formal 
specification document I think it ought to be tidier and that a greater level 
of precision and consistency should be aimed for and achieved. Not least when 
the specification is deemed to be in Last Call.
Norman.Walsh@Sun.COM (Norman Walsh)
The statement in 4.1.4 (now in the introduction) is a definition. That’s what
“document” means in this specification. I renamed the section title in 4.2 (now 7.1)
and the other corresponding sections to remove the ambiguity you note. As to whether
documents have the properties ascribed or not, I think they do: they’re part of
what makes a document a document.

In any event, the spec has been extensively redrafted and I believe
that these points are now clearer in the 12 Nov draft. Please let me
know if you disagree.

DM-LC1-0018: DM: What is an "element"?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
There are similar ambiguities/inconsistencies in the use of the term 
"element" to those which I pointed out re the use of "document".

For example, in 4.3 the heading is "Elements", I assume that what is intended 
is "Element Nodes".

In 4.3.1 we read "... XML elements. Elements have the following properties 
..."

But elements simply don't have the properties stated. Element nodes may. If 
that is the term which was intended it should be used.
Norman.Walsh@Sun.COM (Norman Walsh)
Corrected in the 12 Nov draft as per DM-LC1-0017.

DM-LC1-0019: DM: Imprecise Headings in 4.2 to 4.8

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In each of the headings of 4.2 to 4.8 inclusive the word "Nodes" is omitted 
and should, for clarity, be present.
Norman.Walsh@Sun.COM (Norman Walsh)
Yes.

DM-LC1-0020: DM: 3.3 "sequences of documents"

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In 3.3 it is claimed that the data model supports "sequences of documents". 
As far as I am aware it doesn't.

I assume that what was intended was "sequences of document nodes".

If, however, the above was intended to convey the notion that a sequence may 
consists of nodes, atomic values and documents then other parts of the DM 
document need to be brought into line. I assume that simply adding "nodes" 
solves the seeming inconsistency.
Norman.Walsh@Sun.COM (Norman Walsh)
Okay. Fixed in the 12 Nov draft.

DM-LC1-0021: DM: 3.3 "inconsistent data models are forbidden"

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In 3.3 of DM how is an "inconsistent data model" defined? If they are 
forbidden it seems sensible to have a clear definition what is being referred 
to.
Norman.Walsh@Sun.COM (Norman Walsh)
I removed that sentence in the 12 Nov draft.

DM-LC1-0022: DM: Inconsistency between 3.4 and 4.1.7

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In 3.4 it is stated that dm:type, in the absence of type information, returns 
xs:anyType or xs:anySimpleType. However in 4.1.7 it states that the type 
returned in such a circumstance will be unique and implementation-defined.

On the face of it the statements are inconsistent.
Norman.Walsh@Sun.COM (Norman Walsh)
This has been reworded in the 12 Nov draft.

DM-LC1-0023: [DM] 3.6 - What does this mean?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
I am having problems deciphering the following sentence in 3.6:

"If a PSVI is not available, then the data model is constructed from the 
Infoset in a manner that is compatible with the expectations of well-formed 
or DTD-validated parsing of an XML document."

Whose expectations are being referred to?

What are the expectations?

The sentence seems to be saying something like, "The data model will be 
constructed the way you expect for well-formed or DTD-validated XML 
documents.". But that seems to second guess what I expect which may not be 
what you assume I expect.

Something more precise in terms of wording would aid comprehension, I think.
Norman.Walsh@Sun.COM (Norman Walsh)
This has been reworded in the 12 Nov draft.

DM-LC1-0024: [DM] 4.1.3 "qualified name"

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In the first bullet point in 4.1.3 it is stated that a "qualified name" is 
returned. As the term is used in Namespaces in XML, I don't think that is 
correct.

I think you may have intended to say "expanded-QName".
Norman.Walsh@Sun.COM (Norman Walsh)
Yes. Fixed in the 12 Nov draft.

DM-LC1-0025: [DM] 4.1.3 What is an xsd:QName?

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In the second bullet point of 4.1.3 it is stated that a processing 
instruction returns an xs:QName but it has no namespace URI.

It seems to me that something that has no namespace URI may not be consistent 
with the definition of xsd:QName in W3C XML Schema. What is described in 
4.1.3 is half a tuple.
Norman.Walsh@Sun.COM (Norman Walsh)
An empty namespace name was intended. That’s been clarified in the 12 Nov
draft, I believe.

DM-LC1-0026: [DM] 4.2.2 Table

Status: addressed
Class: editorial
Svgdeveloper@aol.com (Andrew Watt)
In the Returns column for dm:string-value I suggest you replace "document in" 
with "document node in".
Norman.Walsh@Sun.COM (Norman Walsh)
This has been reworded in the 12 Nov draft.

DM-LC1-0027: data model: parent of namespace nodes

Status: addressed
Class: editorial
per@bothner.com (Per Bothner)
DM 4.5.2 and G.4 say that dm:parent of a namespace node
is "the parent element node".  It does not define
what this means.

However, none of the namespace nodes in D Example
show a value for dm:parent, though dm:parent is
shown for other nodes.

Should there be a constraint in 4.3.1 and/or 4.5.1 that
is a namespace node has a parent, then it should be among
the namespace of its parent?  The converse constraint would
prohibit sharing of namespace nodes, as in D example.
The issue should at least be mentioned.

One solution is to just define dm:parent of a namespace as ().
Norman.Walsh@Sun.COM (Norman Walsh)
I’ve clarified the 12 Nov spec and added a note to the example
to explain the lack of parents on the namespace nodes.

DM-LC1-0028: Data Model - 4.5.4 Data Model to Infoset Mapping

Status: addressed
Class: editorial
Peter.Coppens@datadirect-technologies.com (Peter Coppens)
appropriate namespace prefix, as described below"
 
I can't seem to find that description.
Norman.Walsh@Sun.COM (Norman Walsh)
This comment has been overtaken by events: the data model to
infoset mapping sections no longer exist in the 12 Nov draft.

DM-LC1-0029: data model - PSVI to DM mapping - parent of Element nodes

Status: addressed
Class: editorial
Peter.Coppens@datadirect-technologies.com (Peter Coppens)
<http://www.w3.org/TR/xpath-datamodel/> , section 4.3.3 PSVI to Data Model
Mapping, contains
parent 
The value of the [parent] property.
I wonder whether this is correct, as I assume the [parent] property is an
infoset item.
Norman.Walsh@Sun.COM (Norman Walsh)
This has been clarified in the 12 Nov draft.

DM-LC1-0030: Related to DM-LC1-0014.

Status: addressed
Class: technical
cowan@mercury.ccil.org (John Cowan)
Jonathan Robie scripsit:

> The Data Model, which is in Last Call, is particularly important right 
> now - we have tried to design it so that we support XML Schema, but also 
> merely-well-formed XML and XML governed by DTDs. We have also tried to 
> keep it relatively simple. If people have time to review only one 
> document, this is the one.

I have reviewed it, and I'm copying this to the public comments list.

I would like to see the Infoset-only model nevertheless process xsi:type
attributes as a special case.  This would make it possible for a process
to serialize information about element types, at least, directly into
an XML document.

In addition, an xdt:attributeTypes attribute would be a Good Thing:
this would have list-of-QName type, and would alternate an attribute name
with its type.

Adopting these very slight modifications of Infoset-only rules would
allow upstream processes to specify type information (which is AFAICT
the main contribution of the PSVI to the data model) without the overhead
of a full PSVI.
Norman.Walsh@Sun.COM (Norman Walsh)
The working groups decided not to pursue this course.

DM-LC1-0031: copy/paste error

Status: addressed
Class: editorial
MBlackstone@alionscience.com (Blackstone Michael E)
In section 4.6.1, Overview (of Processing Instructions), the sentence
"Namespace nodes must satisfy the following constraints."
should be 
"Processing instruction nodes must satisfy the following constraints."
Norman.Walsh@Sun.COM (Norman Walsh)
Fixed in the 12 Nov draft.

DM-LC1-0032: Resolving issue 526 will change the data model

Status: closed
Class: editorial
Norman.Walsh@Sun.COM (Norman Walsh)
Untyped data will map to untypedAtomic and untypedAny (which may get
renamed) not anySimpleType and anyType.
Norman.Walsh@Sun.COM (Norman Walsh)
Fixed in the 12 Nov draft.

DM-LC1-0033: make datetime tuples real types

Status: addressed
Class: technical-minor
xan@tibco.com (Xan Gregg)
Introducing a new structure, datetime tuples, to capture the info you 
want for datetime types is a good idea, but why not use a real, named 
XML Schema type, as is done for duration?  Of course, it's not 
completely analogous because the value space is expanded by the tuple 
rather than restricted as is the case for the new duration types. The 
tuple seems too magical when there are more transparent options 
available.

Here is a simpleType that captures (a superset of) the value space for 
the tuple.

   <xs:simpleType name="datetimeTZ">
     <xs:annotation>
       <xs:documentation>
         A "list" of a datetime/duration union with the convention
         that list always has two items: the first item is a datetime
         and the second item is a duration.
       </xs:documentation>
     </xs:annotation>
     <xs:list itemType="datetimeORduration"/>
   </xs:simpleType>

   <xs:simpleType name="datetimeORduration">
     <xs:union memberTypes="xs:datetime xs:duration"/>
   </xs:simpleType>

Most datetime F&O functions would operate on xdt:datetimeTZ instead of 
xs:datetime, just as functions operate on xdt:*Duration instead of 
xs:duration.

While there is a lexial representation for datetimeTZ (as a two-value 
list), F&O or FS would define functions/casts to convert datetimeTZ to 
the timezoned datetime lexical representation and back.

I'm sure the WG has been round and round on this issue, but in case you 
have considered the above option, please do.
Norman.Walsh@Sun.COM (Norman Walsh)
The working groups decided not to pursue this course.

DM-LC1-0034: implementation defined and implementation-dependent

Status: addressed
Class: editorial
David.Pawson@rnib.org.uk (David.Pawson@rnib.org.uk)
There appears to be an inconsistancy between 
the use of implementation-defined and same, without the hyphenation.
I think the functions document uses it without hyphenation, others
are more consistant.
Norman.Walsh@Sun.COM (Norman Walsh)
I have made this consistent (without hyphenation) in the 12 Nov draft.

DM-LC1-0035: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
Prodded by someone in my company, I finally took the time to read the 
data model spec (http://www.w3.org/TR/xpath-datamodel/).  I had a few 
thoughts, which I hope will be helpful.  I apologize in advance that 
I've not been following the mailing list until now, so some of my issues 
may be redundant with what others have already said.

xdt:untypedAtomic is only defined by inference, as near as I can tell. 
Shouldn't it be defined somewhere?  Is it, and I just missed it?
Norman.Walsh@Sun.COM (Norman Walsh)
I’ve added definitions for the new types to section 8. The exact disposition
of this material among the specs has not been firmly decided, but I’ll make sure
that the DM either defines them or points explicitly to their definition.

DM-LC1-0036: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
Notation – in the paragraph immediately after the example, the term 
"Item" is used, but doesn't correspond to anything in the example. 
Actually, I found the example confusing, employing the word "Node" to 
refer to both the concept of a node, and the category of a node, so far 
as I could tell.

Spec uses the xdt prefix without defining it anywhere that I could find. 
It first shows up in the example here.
Norman.Walsh@Sun.COM (Norman Walsh)
This issues have been fixed by rewording the Notation section and adding
new material to Section 8, Atomic Values. These changes appear in the 12
Nov draft.

DM-LC1-0037: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
anonymous type names - "globally unique" - this sounds suspiciously like 
a GUID or UUID. Does this need to be unique for all time, or merely the 
duration of the processing? In other words, how "global" is global meant 
in this context? Must an anonymous type name conform to a valid NCName? 
Or alternatively, must it explicitly NOT be a valid NCName?  Should 
these be stuck in a standard namespace, so as to guarantee they won't 
conflict?  Or alternately, should the requirement be that the namespace 
of the anonymous type be in the same namespace as its first 
non-anonymous ancestor?  I understand the desire to name the otherwise 
anonymous types, but tightening up the definition here could be 
extraordinarily useful downstream, or at least help clarify intent.
Norman.Walsh@Sun.COM (Norman Walsh)
The spec has been reworded to provide additional clarity. These changes
appear in the 12 Nov draft.

DM-LC1-0038: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
Section 3.6.1 – I found that the use of "tuple" here confuses matters 
for me greatly, in that sequences cannot hold tuples, only atomic values 
or nodes. Perhaps what is really being done here is the definition of an 
alternative simple type that represents date time values? If introducing 
an xdt:untypedAtomic, why not just introduce a new pair of types for 
dateTimes with/without timezones to work around the issue?
Norman.Walsh@Sun.COM (Norman Walsh)
The spec has been reworded to avoid the term ‘tuple’.

DM-LC1-0039: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
Section 4.1.1 – dm:base-uri

The three paragraphs confused me with the first few readings, especially 
with regard to empty versus non-empty behavior. I get the idea, but it 
seems contradictory to first say that something is empty, and then to 
say if it is empty, it takes the value of its parent, of course, that is 
not what it is saying, but that is how I read it first.  Additional 
insertions of the appropriate "accessor" or "property" term in relation 
to "base-uri" would help here.
Norman.Walsh@Sun.COM (Norman Walsh)
This section has been reworded.

DM-LC1-0040: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
Section 4.3.2 - the definition of the dm:element-declaration() accessor 
is confusing. Some context as to what point this serves, as well as an 
example would have helped me.  I've read this several times, and I still 
don't get it.  Is there any way to define this without referencing yet 
another external specification?  Also, the sentence before the 
definition reads "One additional accessors is defined on element 
nodes:", but "accessors" should not be plural.
Norman.Walsh@Sun.COM (Norman Walsh)
This accessor has been removed.

DM-LC1-0041: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
4.5 - Namespaces - does the reserved "xml" prefix need mentioning here, 
or is that understood?
Norman.Walsh@Sun.COM (Norman Walsh)
I clarified this for the 12 Nov draft.

DM-LC1-0042: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
4.6, 4.7 - does it make sense to have accessor functions for the 
specific characteristics of comments and PIs?
Norman.Walsh@Sun.COM (Norman Walsh)
The PI target and value and the comment value are accessible with
the existing accessors.

DM-LC1-0043: Data model spec issues

Status: addressed
Class: editorial
eric@tibco.com (Eric Johnson)
Section 6: Says "Sequences are 'flat', they may not contain other 
sequences," and immediately thereafter, "An important characteristic of 
the data model is that there is no distinction between an item (a node 
or an atomic value) and a singleton sequence containing that item. An 
item is equivalent to a singleton sequence containing that item and vice 
versa." These two statements are somewhat contradictory, in that if a 
single item can be considered a sequence of one item, then a sequence 
can implicitly contain a sequence of sequences with only one item. I 
understand what is meant, but think the wording could be more precise.
Norman.Walsh@Sun.COM (Norman Walsh)
Reworded for the 12 Nov draft.

DM-LC1-0044: SAG-DM-01; Mixed content

Status: addressed
Class: editorial
Michael.Kay@softwareag.com (Kay, Michael)
Section 4.3.2 of the data model document does not appear to reflect the
decisions of the working group in relation to mixed content: specifically,
that the type of an element declared as having mixed content should be the
string value, as an instance of xdt:untypedAtomic.

The correct rules are stated in section 4.1.6. It is not clear why 4.3.2
attempts to restate the same rules in a different way. In fact, the overall
structure of section 4, which presents the same accessor functions organized
first by function and then by the kind of node that they apply to, seems
designed to lead to inconsistencies of this kind.
Norman.Walsh@Sun.COM (Norman Walsh)
These sections have been extensively redrafted. I believe the 12 Nov
spec is clearer.

DM-LC1-0045: SAG-DM-02; Type hierarchy

Status: addressed
Class: technical
Michael.Kay@softwareag.com (Kay, Michael)
The correct place for a diagrammatic representation of the type hierarchy
used in the data model would appear to be in the data model book; other
specifications such as F&O should refer to it rather than repeating it.

There is no good overview of the type hierarchy anywhere, the information is
completely scattered. In particular, there is no explanation of the fact
that there are actually two independent but related type hierarchies, one
for "values" (of expressions) and one for "content" (of nodes). The fact
that we refer to both these overlapping spaces as having types means we need
to make it much clearer that there are two different spaces, and to show how
they are related to each other.
Norman.Walsh@Sun.COM (Norman Walsh)
The diagram did not make it into the Data Model document, though a number
of other clarifications have been attempted. Do you still feel that additional
material should appear in the Data Model?

DM-LC1-0046: SAG-DM-03; Document node metadata

Status: addressed
Class: technical
Michael.Kay@softwareag.com (Kay, Michael)
In most database systems, documents are likely to have properties extraneous
to the actual XML content of the document, and these properties are often
useful for retrieval. Examples of such properties include document names,
URIs, dates of creation and modification, ownership, security levels,
document size, associated schema, document version, and so on. They may also
include user-allocated properties, for example the approval status of the
document in some publication workflow.

Many XML database systems are likely to want to offer other interfaces in
addition to XQuery. A popular interface for content management systems is
the WebDAV interface. WebDAV allows a document to have an arbitrary set of
properties, including properties under the control of the system and
properties under the control of the user.

Document nodes constructed by a query may also have properties, for example
the MIME media type, the serialization parameters, and the intended
destination of the document when serialized.

We think it would be useful to extend the data model to allow a document
node to have such a set of properties. It should be possible to query these
properties, and to set them when constructing a document node. It should be
understood that the properties are accessible to applications but that they
are not serialized as part of the document content.

A possible (though controversial) design that would meet this requirement is
to allow a document node to have attributes.
Norman.Walsh@Sun.COM (Norman Walsh)
The WGs declined to allow document nodes to have attributes. Implementations
are free to store addtional metadata as they wish.

DM-LC1-0047: Improve definition of stable order

Status: addressed
Class: editorial
obecker@informatik.hu-berlin.de (Oliver Becker)
section 3.2 Document Order of the XQuery 1.0 and XPath 2.0 Data Model
uses the term "stable" to characterize orders.
I do not find any definition in this document what a stable order is.

Do you mean, if two nodes A and B whose order is implementation-dependent
are in some concrete order then this order doesn't change within this
model (for the lifetime of this instance; never)?
Does it have to be the same order between two invocations of an implementation?

Moreover, regarding distinct documents, the specification says

   "The relative order of nodes in distinct documents is 
   implementation-dependent but stable. In other words, given two 
   distinct documents A and B, if a node in document A is before a 
   node in document B, then every node in document A is before every 
   node in document B."

That sounds as if the second sentence ("In other words, ...") is a
conclusion or an explanation of the term "stable order", but I can't 
apply this meaning to attribute or namespace nodes.

I believe this section needs a clarification.
Norman.Walsh@Sun.COM (Norman Walsh)
The 12 Nov spec has been clarified.

DM-LC1-0048: Namespace nodes

Status: addressed
Class: technical-minor
obecker@informatik.hu-berlin.de (Oliver Becker)
I would appreciate if the XQuery 1.0 and XPath 2.0 Data Model defines
whether a default null namespace is represented by a namespace node
or not.

Section 4.5 Namespaces says in 4.5.1

   2 The namespace prefix may be the empty sequence. If the URI is the 
     zero-length string, the prefix must be the empty sequence.
     
Hmm, there might exist namespace nodes without prefix and without URI.
Such a node would be created by an xmlns="".
OTOH, I would interpret this as an undeclaration of the default namespace, 
thus it removes an existing namespace node (that would be present otherwise).

The specification should unambiguously state, under which circumstances
such namespace nodes come into live.

I prefer not to introduce such "null" namespace nodes. There shouldn't be a 
difference between <foo /> and <foo xmlns="" />

One more question:
Are situations imaginable that a namespace node doesn't have a parent?
Since the specification thinks so I would like to see a comment just
as for attribute nodes.

---

In http://lists.w3.org/Archives/Public/public-qt-comments/2003Jun/0225.html,
Michael Kay replies:

I agree with you, I think the text is wrong. There should never be a
namespace node whose string value (namespace URI) is zero-length, as
namespace nodes always represent the declaration of a namespace and not the
undeclaration.

I think that it is now possible in XSLT to create a parentless namespace
node: viz

<xsl:variable name="ns" as="node()">
  <xsl:namespace name="my">namespace.uri</xsl:namespace>
</xsl:variable>

Though this probably isn't what was envisaged when the DM spec was written -
at one time there was an idea that namespace nodes would be "shared" between
elements in some way.
Norman.Walsh@Sun.COM (Norman Walsh)
I believe the 12 Nov draft has been updated to address these issues.

DM-LC1-0049: Documents are not internally/cross-document consistent

Status: addressed
Class: editorial-major
stephen.buxton@oracle.com (Stephen Buxton)
Consistency of style, within a document and between documents, is 
important.

For example, in the Data Model document there are two different styles 
of definition. One style is [Definition: here is the definition.] The 
other style is to italicize the defined word - for example, the 
definitions of "document" and "fragment" in section 4 "Nodes" second 
paragraph. Note that elsewhere in the same document, for the most part, 
italics serves other purposes than definition: to indicate distinguished 
values ("valid" "invalid" and "notKnown" in 3.6 "Mapping PSV Infoset 
additions to Types" second paragraph) or emphasis ("If the validity 
property *does not exist*..." later in the same section).

If there is a semantic difference behind the two styles, there should be 
a clear reason why some definitions use the more formal "[Definition: 
here is the definition.]" style, while others just use italics. And the 
document should explain the two conventions and the reasons for having 
both of them.
Norman.Walsh@Sun.COM (Norman Walsh)
That was editorial carelessness and has been cleaned up in the 12 Nov draft.

DM-LC1-0050: ORA-DM-DATASET

Status: addressed
Class: pending-clarification
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, **Section 1, Introduction. *The distinction between data 
model and value in the second paragraph is good, but I think a third 
concept should also be introduced and given a name. This third concept 
is the set of all values currently under consideration during the 
execution of some processor (XSLT, XQuery, etc.) using the data model. A 
possible name for this concept is "data set". Thus the three concepts are:

"data model" - the abstract framework specified by this specification
"data set" - a concrete realization of the data model at a particular 
point in the execution of a processor
"value" - a value in a data set.
Norman.Walsh@Sun.COM (Norman Walsh)
The paragraph in question doesn’t seem to be drawing a
distinction between the data model and values, it merely points out
that the data model serves two purposes. With respect to a term for a
concrete realization, where it’s convenient for the spec to refer to
one, it now consistently uses the term “instance of the data model.”

Please let me know if you feel additional clarification is required.

DM-LC1-0051: clarify relationship between nodes and information items

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 4. Nodes. *It seems that a node is similar to, but 
not exactly the same as, an information item, as found in the Infoset 
recommendation and enhanced with the PSV contributions in the XML Schema 
Part 1 recommendation. It would be helpful to say this explicitly, 
especially since you share the term "property" with the Infoset, so it 
is easy to form the impression that a node is simply an information 
item. The reader who starts with this impression is then left wondering 
where the properties not found in the Infoset came from (for example, 
the document-uri property of the document node).

In addition, it would be helpful to specify your general conventions for 
nodes here at the beginning. For example, each node consists of a list 
of named properties. In the Infoset, a property may be "unknown" or "no 
value", but in this specification, those values are not used, and 
instead you say a property may be "empty", even if it is not a collection.

Suggestion: The Data Model document might be well advised to include an 
appendix describing the relationships between Data Model properties and 
the Infoset information items and the PSVI, just as the XPath 1.0 spec 
did for its data model

(We are aware of the Processing Model work and its relationship to this 
comment).
Norman.Walsh@Sun.COM (Norman Walsh)
The relationship between the data model and the infoset is described
in the introduction. Do you believe that additional explanation is necessary?

DM-LC1-0052: document nodes vs. root nodes

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 4.2.1* says /"Document nodes and XPath 1.0 root 
nodes are essentially identical."/
If these terms are identical, why invent another term ?
If they are not identical, it would be good to have some indication of 
the differences here.
And if we must have another term, why call it a "document node" ? This 
will naturally be confused with the "document element", which in XPath 
1.0 is the child of the root node.
Norman.Walsh@Sun.COM (Norman Walsh)
The note about “essentially identical” has been removed in the 12 Nov draft.

DM-LC1-0053: Clarify

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 3.3* /"The data model supports incompletely 
validated documents, but inconsistent data models are forbidden."/
The two occurrences of "data model" in this sentence presumably refer to 
different notions. The first is "THE data model", ie, the subject of 
this specification. I don't know what the second "data model" is 
referring to, since presumably this specification is taking pains to 
insure that it is not inconsistent. My best guess is that the second 
"data model" is referring to an instance of the data model.
Assuming we reword the sentence as "...inconsistent instances of the 
data model are forbidden", we are left with the question of defining 
what makes an instance "inconsistent". Perhaps what is meant is that the 
remainder of the specification contains constraints on the data model, 
and instances are forbidden to violate those constraints. Also, since 
the constraints of XML 1.0 do not necessarily apply (see the note at the 
end of section 4.2.4 "Data model to infoset mapping", which says that 
the document information item is not necessarily valid), we can not just 
assume that the collection of constraints that do apply are obvious; 
there needs to be explicit statement of what the constraints are.

Note: see also

http://lists.w3.org/Archives/Public/public-qt-comments/2003May/0104.html
Norman.Walsh@Sun.COM (Norman Walsh)
This section of the spec has been clarified in the 12 Nov draft.

DM-LC1-0054: ORA-DM-ANYTYPE-TYPED-VALUE

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 4.1.6* says:

/"If the node is an element node with type xs:anyType, then its typed 
value is equal to its string value, as an instance of xdt:untypedAtomic."/

But *Data Model, Section 4.3.2* says: /"If the element node's type is 
xs:anyType, the dm:typed-value accessor returns the node's string value 
as xs:anySimpleType"/

This seems to be contradictory.
Norman.Walsh@Sun.COM (Norman Walsh)
These parts of the spec have been extensively reworked. I believe this
inconsistency has been addressed in the 12 Nov draft.

DM-LC1-0055: Clarify rules for anonymous type names

Status: addressed
Class: technical-minor
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 3.4*
What is the namespace for an anonymous type name ?
Can it be the result of an expression ?
Does it need to come from a schema ?
What is legal in an anonymous type name ?

Michael Rys addressed this question in

http://lists.w3.org/Archives/Public/public-qt-comments/2003May/0305.html 
<http://lists.w3.org/Archives/Public/public-qt-comments/2003May/0291.html> 
by saying that "Since the name is not exposed and thus the format used 
by an implementation not testable, any such definition would be vacuous 
and not testable or enforceable."

So, is it the Working Groups position that there are no rules at all 
governing anonymous type names ? If so, please add text to that effect.
Norman.Walsh@Sun.COM (Norman Walsh)
I believe the 12 Nov spec is explicit on that point.

DM-LC1-0056: ORA-DM-SCHEMA-VALIDATED

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 3.3* /"Schema-validated documents include documents 
in which some elements or attributes have been validated by "lax" or 
"skip" validation."/

This sentence probably means "a document is considered to be 
Schema-validated if it has been validated against a Schema even if, as 
part of that validation, some elements or attributes have been validated 
by 'lax' or 'skip' validation".
But it can be read as "if a document has had one element validated using 
'skip' validation, then that's sufficient for it be treated as a 
'Schema-validated document' ".
Norman.Walsh@Sun.COM (Norman Walsh)
The 12 Nov spec has been clarified.

DM-LC1-0057: ORA-DM-SYNTHETIC

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*
Data Model, Section 3.3* What are "Purely synthetic data model instances" ?
Norman.Walsh@Sun.COM (Norman Walsh)
This term has been removed from the spec.

DM-LC1-0058: ORA-DM-QNAME-FONT

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 4.1.7* "xs:QName" has the wrong font.
Norman.Walsh@Sun.COM (Norman Walsh)
Fixed in the 12 Nov draft.

DM-LC1-0059: ORA-DM-UNTYPEDATOMIC

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 4.4.2* refers to "xs:untypedAtomic". This should 
read "xdt:untypedAtomic".
Norman.Walsh@Sun.COM (Norman Walsh)
Fixed in the 12 Nov draft.

DM-LC1-0060: What should we do about the term "fragment" in the DM document?

Status: addressed
Class: technical
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 4.1.2* If a fragment is a node (as implied by *Data 
Model, Section 3.3* ), we need a node kind for it here.
Norman.Walsh@Sun.COM (Norman Walsh)
Any tree that has a root that isn’t a document node is a fragment.
I believe the 12 Nov spec has been clarified on this point.

DM-LC1-0061: ORA-DM-CHILD

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 4.3.1* should mention that a child cannot be the 
child of any other node (of more than one node).
Norman.Walsh@Sun.COM (Norman Walsh)
I believe that this is covered by constraint 8.

DM-LC1-0062: Name is right; inform the commenter

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 4.3.1* /" attributes of an element must have 
distinct names"/ should say "distinct QNames"
Norman.Walsh@Sun.COM (Norman Walsh)
Fixed in the 12 Nov spec.

DM-LC1-0063: ORA-DM-TYPE-CONSISTENCY

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 5* says:

/"The typed value of nodes whose type is unknown (for instance because 
they have not been validated) are labeled with the type xs:anySimpleType."/

This should say "... labeled with the type xs:anySimpleType or 
xs:anyType" to be consistent with *Data Model, Section 3.4 6th paragraph*

[cf http://lists.w3.org/Archives/Public/public-qt-comments/2003Jun/0235.html]
Norman.Walsh@Sun.COM (Norman Walsh)
This has been corrected in the 12 Nov draft.

DM-LC1-0064: ORA-DM-NAMESPACE-PREFIXES

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
The Data Model specification refers to several namespaces by prefixes 
(xs:, xsi:, xdt:) that are commonly associated with those namespaces.
Please provide a reference to the specifications where these namespaces 
are defined, preferably early in the Data Model document.
Norman.Walsh@Sun.COM (Norman Walsh)
Fixed in the 12 Nov draft.

DM-LC1-0065: Related to DM-LC1-0060.

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
The term "fragment" is used inconsistently throughout the Data Model 
specification, appearing sometimes in the phrases "document fragment" 
and "data model fragment".

The authoritative definition appears to be in section 4 "Nodes", second 
para:
"A tree whose root node is some other kind of node [ie, not a document 
node] is referred to as a fragment".
In view of this definition, the term "document fragment" appears to be 
an oxymoron.

The phrase "data model fragment" appears to be used to mean something 
more general than this definition of "fragment".
For example, Appendix A, "XML Information Set Conformance" first para:
"The following information items must be exposed by the infoset producer 
to construct a data model fragment:...".
In point of fact, the listed information items are equally necessary to 
support documents and not just fragments (note the definition says that 
fragments and documents are mutually exclusive, not that fragments are a 
superset including documents).

[Note: cf http://lists.w3.org/Archives/Public/public-qt-comments/2003May/0032.html]
Norman.Walsh@Sun.COM (Norman Walsh)
I believe this has been clarified in the 12 Nov draft.

DM-LC1-0066: ORA-DM-A-LANGUAGE

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*
Data Model, Section 1. Introduction* Second para, last sentence:
"A language is closed ... if the value of every expression in a 
language...".
The second occurrence of "language" is meant to refer back to the first 
occurrence.
Suggested solution: change the second "a language" to either "the 
language" or "that language".
Alternatively, you can replace the first occurrence of "a language" by 
"a language L" and replace the second occurrence by "L".
Norman.Walsh@Sun.COM (Norman Walsh)
Yes, fixed.

DM-LC1-0067: ORA-DM-VALUE

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 1. Introduction* this paragraph distinguishes 
"value" from "data model".
But the remainder of the specification does not continue to maintain 
this distinction.
I have found the following terms used as synonyms for "value":
"data model", "data model fragment".
Norman.Walsh@Sun.COM (Norman Walsh)
As noted in the response to DM-LC1-0050, I don’t believe the intent of the
introduction is to establish a firm distinction between data model and value.
Specifically, what it says is that all values can be expressed in the
data model; that the data model is closed.

DM-LC1-0068: Related to DM-LC1-0047

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 3.2 Document order*
Assuming that the term 'stable' means 'stable for the life of the 
query', it is not clear that there is any requirement that namespace 
declarations must always appear in the same order, or that attributes of 
an element must always appear in the same order. For documents that are 
dynamically generated, this requirement may be burdensome.
Norman.Walsh@Sun.COM (Norman Walsh)
Namespace and attribute nodes must be in a stable order.

DM-LC1-0069: ORA-DM-A-ORDER

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 3.2 Document order* First para, last sentence 
"There is precisely one document order and it satisfies the following 
constraints...". The preceding definition defines "a document order". 
Note the article "a", implying that there can be more than one. Indeed, 
the constraints acknowledge that there is more than one way to order 
namespace declarations or attributes. So what does "there is precisely 
one document order" mean ?

Perhaps you mean "For a particular implementation of this data model, 
and for each document considered by that implementation, there is 
precisely one document order..."
Norman.Walsh@Sun.COM (Norman Walsh)
This section has been reworded in the 12 Nov draft.

DM-LC1-0070: ORA-DM-DOCORDER

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*Data Model, Section 3.2 Document order*
The definition defines "document order" for all nodes in a document, but 
the same notion of order is intended to apply to all trees, including 
fragments.
This is seen, for example, in section 4.1.8 "children Accessor", where 
it says that "For document and element nodes, it returns the nodes that 
are children of that node in document order". An element in a fragment 
needs to have its children ordered, but the definition of "document 
order" does not currently cover this case since "document order" only 
applies to documents.

One solution would be to change the term from "document order" to "tree 
order". However, the term "document order" seems pretty well entrenched, 
so perhaps a better solution is to keep the term but make it apply to 
all trees, not just documents.
Norman.Walsh@Sun.COM (Norman Walsh)
This section has been redrafted in the 12 Nov spec to make this
clearer.

DM-LC1-0071: ORA-DM-ORDER-NODES

Status: addressed
Class: editorial
stephen.buxton@oracle.com (Stephen Buxton)
*
Data Model, Section 3.2 Document order*
Is this section about "document order" or is it actually about "order of 
nodes" whether they are in the same document or not?
The title says it is about "document order", and the only definition in 
this section is called "document order", but the last two paragraphs 
broaden the discussion to include order of nodes in multiple documents, 
or not in a document at all.

Suggested solution: change the title to "Node order" or something similar.
Norman.Walsh@Sun.COM (Norman Walsh)
I’ve attempted to clarify these points in the 12 Nov draft.
Please let me know if you feel additional clarification is required.

DM-LC1-0072: ORA-DM-ORDERTOTAL