
Eliot Kimber wrote:
Yes, I've been digging into the code and I have a first stab at a fix.
What I've done is extended the XMLEntityResolver interface to add a resolveResourceByUri() method which does nothing but try to resolve the system ID value using the resolver's resolveUri() method.
The problem is that resolveEntity() only works for true entities (that is, resources that would be mapped via SYSTEM and PUBLIC catalog entries). It would be inappropriate to use URI entries to try to resolve an external parsed or unparsed entity, in the same way it's inappropriate to use SYSTEM or PUBLIC to resolve a schema location URI.
I'm trying to hack, I mean fix, the Xerces code for schema resolution to use URI catalog entries, but in trying to test my fix using a DOM parser I can't figure out how to set up the configuration so the schema loader uses my fixed XMLCatalogEntityResolver instead of the default XMLEntityManager. I'm wondering of someone at Oxygen could show me how Oxygen sets this up since clearly Oxygen is able to set up this configuration. Thanks, Eliot -- W. Eliot Kimber Professional Services Innodata Isogen 9390 Research Blvd, #410 Austin, TX 78759 (512) 372-8841 ekimber@innodata-isogen.com www.innodata-isogen.com