This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The definition of \c is straightforward enough: the set of name characters, those ·matched· by NameChar where NameChar is a link to a production in the XML 1.1 specification. The definition of \i by contrast is rather strange: the set of initial name characters, those ·matched· by NameStartChar in [XML] or by Letter | '_' | ':' in [XML 1.0] How are we to read this? I don't think "or" here means "the union of these two sets of characters"; I think it means use one definition if you're using XML 1.0, a different definition if you are using XML 1.1. But why doesn't it use NameStartChar in both cases? What seems to have happened is that in XML 1.0 ed 4 and earlier, names were defined to start with (Letter | '_' | ':'), but in XML 1.0 ed 5, they are defined to start with NameStartChar (which is a larger set of characters). So we have chosen a definition that fixes \i to the pre-5th-edition of XML names, while moving \c forward to the definition used in 1.0ed5 and 1.1. This can't be right. I would suggest aligning both character classes with the definitions of XML names as they appear in XML 1.0 ed 5 and XML 1.1.
Proposed change: delete the words or by Letter | '_' | ':' in [XML 1.0]
This change has now been made in the status-quo documents at http://www.w3.org/XML/Group/2004/06/xmlschema-2/datatypes.diff.html http://www.w3.org/XML/Group/2004/06/xmlschema-2/datatypes.diff-1.0.html http://www.w3.org/XML/Group/2004/06/xmlschema-2/datatypes.diff-wd.html (member-only links) Accordingly, I'm marking the bug resolved. Michael, would you do the honors, please? Thanks.