- From: <bugzilla@jessica.w3.org>
- Date: Sun, 28 Nov 2010 17:27:59 +0000
- To: www-xml-schema-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11421
Summary: Definitions of \i and \c in regular expressions
Product: XML Schema
Version: 1.1 only
Platform: PC
OS/Version: Windows NT
Status: NEW
Severity: normal
Priority: P2
Component: Datatypes: XSD Part 2
AssignedTo: David_E3@VERIFONE.com
ReportedBy: mike@saxonica.com
QAContact: www-xml-schema-comments@w3.org
CC: cmsmcq@blackmesatech.com
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.
--
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Sunday, 28 November 2010 17:28:01 UTC