Xerces Java Users,
Xerces is failing to correctly resolve XSDs to their locations using XML
catalogs that prefer public IDs during the loading of the XSDs for schema
validation. After extensive debugging, we've found that the following
method out of XMLCatalogResolver is always passed a "null" for the
publicId :
public LSInput resolveResource( String type, String
namespaceURI,
String publicId, String systemId, String baseURI) {
This prevents XMLCatalogResolver from being able to use public IDs to
resolve schema references.
Further debugging indicates the possible problem/solution lies in & around
line 957 of XSDHandler. This seems like it is the appropriate place to set
the public ID to be the name of the schemaNamespace.
Has anyone encountered these issues before? Let us know if you have
difficulty reproducing the issue. If you agree it is a bug, I'll be glad
to submit it to JIRA.
Thanks!
Mark Maxey