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]

Reply via email to