Hi all,
I've noticed the Xerces, when resolving XSDL include and redefine tags,
passes the literla value of the "schemaLocaiton" attribute to the
EntityResolver--see org.apache.xerces.validators.schema.TraverseSchema:
String location = locationAttr.getValue();
// expand it before passing it to the parser
InputSource source = null;
if (fEntityResolver != null) {
source = fEntityResolver.resolveEntity("", location);
}
if (source == null) {
location = expandSystemId(location, fCurrentSchemaURL);
source = new InputSource(location);
}
This is a problem. If the schemaLoation attribute is a relative URI, the
relative URI is passed to the Entity Resolver. It seems to make more sense
to convert relative URIs to absolute URIs and then pass to the entity
resolver. Because, really a realtive URI is not unique, and so the only way
to resolve consistently is to have a unique, absolute URI.
Kelly
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]