DTD and Schema Validation Technologies

Dear Editors,

In xml:id Version 1.0 W3C Working Draft 09 November 2004 in the section
"With DTD Validation" [1], the last call working draft says

  DTD authors must not declare xml:id as something other than ID. DTD
authors who declare attributes other than xml:id as type ID will not receive
the full benefits of xml:id processing. Such attributes may or may not be
recognized processors, including xml:id processors.

Similar language is used again in "With Schema Validation" [2].

I note that these sections both occur in an appendix titled "Validation
Technologies (Non-Normative)" [3], and I think that "must not" is odd to use
inside a Non-Normative appendix.  Furthermore, placing it as a "must not"
constraint on authors rather than a "should not" constrain on authors or a
"must not" constraint on Schemas and DTDs begs semantic questions, because
it is not possible to express conformance requirements on authors.  I found
the switch in topic between the first and second sentences confusing, and
recommend that they be split into two paragraphs.  Finally, I note a missing
word in two sentences in these sections.

Details:
----------------------------------------------------------------------------
-------
For violateion of the prohibition "DTD authors must not declare xml:id as
something other than ID." in [1] and the similar sentence in [2], no
consequences are given.  
- Are all XML-aware processors expected to note type clashes?
= All DTD or Schema aware processors?  
- Only xml:id processors?  
- Does it result in a non-terminating xml:id error as described in [4]? 
 
This last seems likeliest, but as the definition of xml:id error says that
it is when a document violates the constraints, and this constraint
is not on documents (nor even on Schemas or DTDs), but on authors, it seems
misplaced as well.

REQUESTED ACTION: 
If left in the non-normative appendix,
- Change the language of the first sentence to be non-normative, and either
state that the behavior is undefined or refer to [5] "Processing xml:id
Attributes"
Or,
- Move these constraints to a normative section of the document
- Write them as constraints on XML Schemas and DTDs rather than as
constraints on authors
- State explicitly what happens when a non-confirming Schema or DTD is
encountered by an xml:id processor
  (Note that the constraints in [5] are on the processing of documents, not
on Schemas or DTDs.)
-- Either xml:id processors are allowed to signal xml:id errors, 
-- Or xml:id processors will have undefined behavior in the face of type
clashes
- And what about types derived by restriction from xsd:ID?

----------------------------------------------------------------------------
-----------
As an editorial note, it was not clear to me on first reading that the next
sentence in [1] and [2]
   DTD authors who declare attributes other than xml:id as type ID will not
receive the full benefits of xml:id processing.
was the dual of the first sentence.  The parallel construction both with
"DTD Authors" lead me down a garden path.

REQUESTED ACTION:
I would recommend separating the two cases into two paragraphs.
The same recommendation goes for the Schema section as well.

----------------------------------------------------------------------------
------------
It appears that the xml:id Working Draft is asking authors to refrain from
using xsd:ID or ID DTD declarations and to convert documents to using xml:id
exclusively from this day forward.
If so, such a recommendation should be included prominently in the
Introduction to the document.
REQUESTED ACTION:
- Clarify whether this Working Draft proposes to deprecate XML Schema and
DTD ID declarations not named "xml:id". 

----------------------------------------------------------------------------
------------
As a final editorial note, the sentence (again in both DTD and XML Schema
sections)
  Such attributes may or may not be recognized processors, including xml:id
processors.
is missing a word.

REQUESTED ACTION:
Change it in both sections [1] and [2] to:
 Such attributes may or may not be recognized by processors, including
xml:id processors.

[1] http://www.w3.org/TR/2004/WD-xml-id-20041109/#with-dtd-validation
[2] http://www.w3.org/TR/2004/WD-xml-id-20041109/#with-schema-validation
[3] http://www.w3.org/TR/2004/WD-xml-id-20041109/#validation-technologies
[4] http://www.w3.org/TR/2004/WD-xml-id-20041109/#dt-xml-id-error
[5] http://www.w3.org/TR/2004/WD-xml-id-20041109/#processing

Sincerely,

Leigh L. Klotz, Jr.
Xerox Corporation

Received on Saturday, 20 November 2004 00:11:26 UTC