Feedback on XML id

The members of the XForms working group are pleased to see progress being made
toward providing a general identifier capability to XML.  Many XML vocabularies,
including XForms and XHTML, will benefit substantially from this work.
 
We would like to ask that a few points be clarified in the spec.
 
1) The use of the term 'unreserve' is a bit confusing.  We realize that technically xml:id 
is reserved by XML, so you are unreserving it from core XML so that you can define it.
However, the reservation of xml:* seemed to be to allow the W3C core working group 
to define additional XML related attributes as necessary.  As this is what's happening,
there is nothing really being unreserved; the spec is simply exercising the W3C's
foresight in reserving xml:* to define something in the xml namespace.  So, for
example, the abstract could say something along the lines that, within the reserved
xml namespace, the spec defines xml:id.
 
2) Section 4.3 does not seem to clearly communicate what we expected from
this attribute.  We expected that xml:id would be of type ID even if there is no
DTD (or schema) declaration to set its type to other than pcdata.
 
The first sentence of 4.3 (after the editorial issue) is not worded in a way that 
communicates this for all cases.  It says what happens if a processor "does neither 
DTD nor schema validation..."  But if the processor does DTD or schema validation, 
the xml:id attribute may still not be declared to be of type ID in the DTD or schema, 
but we want xml:id to act like an ID attribute anyway.
 
The wording of the title of the section should also be worked into the first sentence
so it is clear from the text (not just the context derived from the section title) that
the processor should 'report' xml:id attributes whose ID types are undeclared in the
DTD or schema.
 
Finally, a termdef is needed for the first use of the word 'report'.  The description 
at the end of the section says what it means to 'report' an xml:id attribute, and
that wording can be modified to provide an anchor for the termdef (i.e. make it
clear that you are defining what 'report xml:id' means).
 
3) The definition of 'report xml:id' should include having an affect on the behavior 
of the XPath 1.0 id() function.  This seems important because XPath 1.0 is
not based on infoset, so including it in the definition will allow conforming
XPath 1.0 processors to provide the correct behavior of xml:id within consuming
processors for XForms, XSLT and other XML vocabularies.
 
4) At the end of section 3, the following appears "Note that xml:id can be
used in non-namespace-aware processors".  Because it is in a section on
syntax, it is unclear what meaning it will have when 'used'.  The assumption
is that xml:id 'has the meaning defined in this specification' when used in
non-namespace-aware processors.
 
Thanks,
John Boyer, Ph.D.
Senior Product Architect and Research Scientist
PureEdge Solutions Inc.
 

Received on Friday, 14 May 2004 19:30:34 UTC