Bugzilla – Bug 20676
Last modified: 2014-05-23 16:19:09 UTC
This test checks regular expression \c against lot of characters. The issue is with the only character in nonmatch section, U+0346 COMBINING BRIDGE ABOVE.
According to http://www.w3.org/TR/xmlschema11-2/#cces-mce
\c the set of name characters, those ·matched· by NameChar
And NameChar is defined as
[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
in http://www.w3.org/TR/xml11/#NT-NameChar. This implies that U+0346 that belongs to range #x0300-#x036F is valid name character and shall match regular expression \c.
p.s. This issue is probably related to the fact that NameChar production was changed in 05 February 2008 edition of XML specification. In elder version it includes following production
that doesn't contain mentioned character, so it was valid at that time.
Yes, I agree. The test is based on the old (pre XML 1.0e4) definitions of name characters. We allow implementations to use either the old or the new definitions; we should either add appropriate dependencies to the tests, or stick to characters that work with both.
The two tests -0986 and -0987 are in any case very unwieldy. I normally don't run them because they take too long, and they are very difficult to read and edit because of the long line length. They need redesigning.
We've decided to refactor the test and add dependency checks similar or equal to the QT3 model for support of different XML REC editions.
Instead of splitting this unwieldy test in multiple tests and adding dependencies on XML versions solely for one characters seems too far fetched.
I've gone forward and removed the offending character. See Rev#443, 2014-05-23. Bug resolved as fixed.