Hi Michael,

Thank you for the answer. I can see why this is changed.

Just to be sure. I also see that when using the 
org.apache.xerces.xni.XMLEntityResolver and function 
resolveEntity(XMLResourceIdentifier resourceIdentifier), the value of 
resourceIdentifier.getLiteralSystemId() is now equal to 
resourceIdentifier.getExpandedSystemId(). The original location value found in 
the XML document or schema is no longer available in XMLResourceIdentifier.

Thanks,
Carla

From: Michael Glavassevich [mailto:[email protected]]
Sent: 09 March 2011 06:08
To: [email protected]
Subject: Re: Different behavior entity resolver Xerces 2.11.0 and Xerces 2.10.0


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: [email protected]
E-mail: [email protected]

<[email protected]> 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

Reply via email to