Hi David,
At 12.50 03/12/2004 -0500, [EMAIL PROTECTED] wrote:
Hi Alberto,
One problem I noticed with your fix is the call to resolveEntity() in the various overloads of resolveSystemId() always result in a null pointer for the public ID, meaning that any mechanism that relies on public IDs will not work. For example, in IGXMLScanner.::resolveSystemId():
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::ExternalEntity, expSysId.getRawBuffer(), 0, XMLUni::fgZeroLenString, lastInfo.systemId); srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
You can see the XMLResourceIdentifier instance here is constructed with a null pointer for the public ID parameter.
Perhaps changing the signature for resolveSystemId() to provide the public ID, if any, will solve this problem?
Yes, I too think that resolveSystemId should propagate the publicId (in my commit I also fixed DGXMLScanner::resolveSystemId so that it propagates the baseUri, as IGXMLScanner was doing)
Please go ahead and change the signature.
Thanks, Alberto
Thanks!
Dave
Alberto Massari <[EMAIL PROTECTED]> 12/03/2004 09:14 AM Please respond to xerces-c-dev
To: [EMAIL PROTECTED] cc: (bcc: David N Bertoni/Cambridge/IBM) Subject: Re: DTD caching problems
Hi David,
At 12.05 03/12/2004 -0500, David Cargill wrote:
>Hi Alberto, >Looks like we are both working on the same problem. I have a different >solution for #1 and that is to call switchGrammar in scanDocType. That is >what happens in IGXMLScanner but not DGXMLScanner and that is why it works >for IG and not DG.
I have thought about that, but I think that changing orphanGrammar would be a safer also for other cases when we forget to keep the two maps in synch.
But feel free to revert my change.
>For #2, still looking at how to avoid the 2nd call. Another customer >reported a similar problem as this as well...
Have a look at what I committed, and let me know if this solves your problem too.
Alberto
>Regards, >David A. Cargill >XML Parser Development >IBM Toronto Lab >(905) 413-2371, tie 969 >[EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]