Brad, I found this behavior to be extremely annoying also. The documentation states that the system id in the document is converted to a url format *before* handing off to the entity resolver. It is unclear why it cannot be passed in as is also, maybe as a 3rd parameter. Or better still, have a prior step where a 'URLConverter' class decides how it is to be converted instead of applying a hardcoded rule blindly.
For your specific situation (which was similar to what I wanted), I ended up using a PUBLIC identifier, and leaving the system id empty. I then used this logic 1. if the system id is empty, look up the dtd from a known location based on the public id 2. else, we have a fully specified dtd url, so let the default mechanism handle it Hope this helps .... Regards... Milind Gadre ecPlatforms, Inc 901 Mariner's Island Blvd, Suite 565 San Mateo, CA 94404 C: 510-919-0596 F: 815-352-0779 [EMAIL PROTECTED] ----- Original Message ----- From: "Brad O'Hearne" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, February 15, 2001 7:13 AM Subject: SystemID sent to EntityResolver contains absolute path > Hello all, > > I am using an EntityResolver to resolve the proper value for my DTD referred > to in my xml file. I have no path in the xml file, just the dtd name, i.e. > "brad.dtd". However, when the resolveEntity method is called, the value > passed to the publicId parameter is NULL and the value passed to the > systemId parameter is not simply "brad.dtd", but something like the > following: "file:///data/dev/brad.dtd". Is there any way just to receive > the actual value in the xml file, "brad.dtd"? > > Brad > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
