See http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12305 for more discussion 
on the topic.

This was a change from 1.4 to 2.x that wasn't backward compatible - it broke 
our application, among others.

The good news is that there is a workaround. While I'm not fond of the 
inconsistencies in the current behavior, it's not a major problem.

- Thomas Cox

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, February 19, 2003 10:19 AM
> To: [EMAIL PROTECTED]
> Subject: Relative URI resolving - no protocol error (very confusing)
> 
> 
> Hi, since the xerces mailing list archives appear to be down, 
> I'm submitting my question here. Forgive me if it has been 
> asked a thousand times before ;-) I'm very confused as to how 
> relative URI's are treated by Xerces. Currently I'm using 
> xerces 2.2.1.
> 
> I have an xml file containing a relative entity reference
> 
> <!DOCTYPE fopconfig [
> <!ENTITY fontsconfig SYSTEM "fonts/config.xml">
> ]>
> 
> I tried the following variations but it goes wrong no matter what.
> 
> 1) file:///
> 
> There used to be file:///fonts/config.xml for xerces 1.4
> I admit it's plain wrong if you read the URI specifications 
> but it worked and so when switching to xerces 2.x I had no 
> problem writing file:fonts/config.xml since the previous one 
> would indicate the root of the filesystem of the current host.
> 
> 2) file:
> It works but unfortunately, there is a catch. Xerces does not 
> resolve this to the location of the xml file containing the 
> entity but against the "current directory" of the JVM. It 
> appears the file: URI scheme has no provisions for relative 
> URI's. This would explain the behavior since normally a 
> relative URI needs to be resolved against the base URI of the 
> document that contains the entity declaration.
> 
> So there are good reasons why the two previous approaches 
> shouldn't work. But I can't find a good reason why the third doesn't
> 
> 3) the relative URI as seen above.
> Xerces does resolve the relative URI in function of the base 
> URI of the document which is exactly what I need and solves 
> all my other issues but for some reason it refuses to do so 
> when that base URI includes spaces (think about a filename on 
> windows). It gives an error on the relative URI of the entity 
> reference saying "no protocol" which I assume has something 
> todo with using java.net.URL inside Xerces.
> 
> I'm using Xerces as a SAX parser using the 
> org.xml.sax.InputSource class with a system identifier. What 
> does that identifier need to look like to make this work ?
> 
file:/path ?
path ?
path in urlencoded form (%20 and such) ?
...

For once I just want to know what I need to use in BOTH the entity reference 
AND for the inputsource system ID (which I assume gets used as base URI) to 
make it standard compliant and correctly read by xerces ?

Thanks for any input anyone has ;-)

---------

Erik Vanherck  -  System Programmer & Designer
Inventive Designers
Visit http://www.inventivedesigners.com
Visist http://www.inventivedesigners.com/scriptura for Scriptura information !

Phone: +32 - 3 - 8210170
Fax: +32 - 3 - 8210171
Email: [EMAIL PROTECTED]

"Computers in the future may weigh no more than 1.5 tons." - Popular Mechanics, 
forecasting the relentless march of science, 1949


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to