This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In XML 1.1 the NameChar production changed. The XSD 1.1 spec references the NameChar production of XML 1.1 whereas the XSD 1.0 spec references the NameChar production of XML 1.0. The testcase 'reZ006i.i' in group 'reZ006i' tests the multiCharEsc \c ("the set of name characters, those matched by NameChar"). Char ͆ is a NameChar in XML 1.1 but isn't in XML 1.0. So the expected result of the testcase should be invalid for XSD 1.0 and valid for XSD 1.1.
I think it is intended - though it is not unambiguously stated - that the interpretation of \i and \c is covered by the general rule in section 1.3: "This specification defines some datatypes which depend on definitions in [XML] and [Namespaces in XML]; those definitions, and therefore the datatypes based on them, vary between version 1.0 ([XML 1.0], [Namespaces in XML 1.0]) and version 1.1 ([XML], [Namespaces in XML]) of those specifications. In any given use of this specification, the choice of the 1.0 or the 1.1 definition of those datatypes is ·implementation-defined·." On this interpretation, the result of this test becomes implementation-defined.
We have version tokens defined for "XML-1.0" vs. "XML-1.1". We can make this test have different validity for the different versions. e.g. 1.0: invalid (schema 1.0) XML-1.0: invalid (schema 1.1, with XML 1.0) XML-1.1: valid (schema 1.1, with XML 1.1)
decision: we mark the tests as depending on a specific version of XML. Michael Kay will check and be sure they are so labeled.
The rules for name characters are the same in XML 1.0 5th edition and XML 1.1 2nd edition; we require an XSD processor to support XML 1.0 5e or later, or XML 1.1 2e or later; therefore I think every XSD 1.1 processor (at least until the XML rules change again) must support the same set of characters for \i and \c. (The question of what an XSD 1.0 processor supports is not addressed here...) I propose to create new versions of the instance documents valid.c.xml, valid.i.xml, invalid.c.xml, and invalid.i.xml that reflect the character classifications in XML 1.0 5th edition (by moving some characters from the invalid instance to the valid instance). I then propose to change the test metadata so that use of these instances becomes mandatory for an XSD 1.1 processor.
Looking at it more closely, the design of these tests seems badly flawed. There is no test for the complement metacharacters \I and \C; and the tests for invalid.i and invalid.c succeed if a single entry in the instance document is invalid, whereas it would clearly be better to test a wide range of invalid characters. I'm therefore proposing to mark all these tests as XSD 1.0 only, and replace them with a new set of tests in the Saxonica test set.
Fixed by changing the XSD 1.1 validity of the tests, and adding more tests in the Saxonica area. Note that the XSD 1.0 results for these tests depend on whether XML 1.1/1.0e5 rules are being used, or whether XML 1.0e4-or-earlier is being used. XSD 1.0 allows either. I haven't attempted to make the tests work for XSD 1.0 processors, the focus is on XSD 1.1 where I believe support for XML 1.1/1.0e5 naming rules is mandatory.