When used with the bundled "commons" resolver, the resolver API as presented by 'org.apache.xerces.util.XMLCatalogResolver' generates invalid file scheme URIs with the prefix "file://". The only valid prefixes are "file:/" and "file:///". This error causes Xerces to reject the generated system IDs.
This was tested on Xerces 2.9.1. Assume the following catalog file: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public"> <uri name="http://foo/bar" uri="foo/bar.xsd"/> </catalog> Assume further that this file is placed in "/home/me/". Then a resolution with namespaceURI="http://foo/bar" gives an LSInput object with systemId="file://home/me/foo/bar.xsd". When the resolver object is used with a DOM 3 Xerces parser, these invalid URLs causes Xerces to reject them. Whether this is a bug in Xerces' 'org.apache.xerces.util.XMLCatalogResolver' or a bug in the resolver itself, I don't know. I also reported this bug in ASF Bugzilla as (http://issues.apache.org/bugzilla/show_bug.cgi?id=44263), but since it may be a bug in Xerces, I thought I would also post it here. Regards, Kristian Spangsege --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]