Hi Carla, The change in behaviour is most likely due to the fix for this JIRA issue [1]. From a quick glance at the DOM Level 3 Load & Save spec [2] I didn't see anything which forbids expansion of the system ID before reporting it.
Thanks. [1] https://issues.apache.org/jira/browse/XERCESJ-809 [2] http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSResourceResolver Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: mrgla...@ca.ibm.com E-mail: mrgla...@apache.org <carla.spr...@emc.com> wrote on 03/08/2011 10:15:48 AM: > Hi, > > When parsing an XML document "personal-schema.xml" with > xsi:noNamespaceSchemaLocation="personal.xsd" with the code below, I > get different systemId parameter values in the LSResourceResolver in > version 2.11.0 and 2.10.0 : > > DOMImplementationLS implementationLS = new DOMImplementationImpl(); > LSParser builder = implementationLS.createLSParser > (DOMImplementationLS.MODE_SYNCHRONOUS, null); > > LSResourceResolver resolver = new LSResourceResolver() { > > public LSInput resolveResource(String type, String namespace, > String publicId, > String systemId, String baseURI) { > // in Xerces 2.11.0, systemId is expanded: ?file:/C:/my/ > path/to/doc/personal.xsd? > // in Xerces 2.10.0, the value is exactly the same as > declared in the document: ?personal.xsd? > return null; > } > }; > > builder.getDomConfig().setParameter("validate", Boolean.TRUE); > builder.getDomConfig().setParameter("resource-resolver", resolver); > Document doc = builder.parseURI(getURL ("personal-schema.xml").toString()); > > Is this a bug? > > Thanks! > Carla