I've recently started using Xerces 2.9.0, which has
xml-commons-resolver-1_2
It has a catalog.xsd file, in org.apache.xml.resolver.etc
This schema doesn't validate, even by Xerces 2.9 itself!!??
The schema has
<xs:simpleType name='pubIdChars'>
<!-- A string of the characters defined as pubIdChar in production 13
of the Second Edition of the XML 1.0 Recommendation. Does not
include
the whitespace characters because they're normalized by XML
parsing. -->
<xs:restriction base='xs:string'>
<xs:pattern value="[a-zA-Z0-9-'()+,./:=?;[EMAIL PROTECTED]"/>
</xs:restriction>
</xs:simpleType>
But the validator says the pattern value should be
<xs:pattern value="[a-zA-Z0-9\-'()+,./:=?;[EMAIL PROTECTED]"/>
That is, have an escaped '-' character where it's used literally.
Some googling around implied the parentheses '(' and ')' should also be
escaped, giving
<xs:pattern value="[a-zA-Z0-9\-'\(\)+,./:=?;[EMAIL PROTECTED]"/>
So ... I'm curious, is this a simple bug and the file that's being
distributed should be fixed?
Or, is there some complex special case here where is doesn't matter? Or
that is should be escaped for
one type of context or processing but not escaped for another?
I don't know of any cases of the resolving functionality actually failing
because of this ... but,
seems it should shipped in a valid form?
Thanks for any education/insight you can give me.