classpathx-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Classpathx-discuss] EntityResolver problem with Aelfred parser


From: Maarten Coene
Subject: Re: [Classpathx-discuss] EntityResolver problem with Aelfred parser
Date: Thu, 22 Apr 2004 10:44:17 +0200
User-agent: Mozilla Thunderbird 0.5 (Windows/20040207)

Hi,

is there any chance this issue will be solved in the upcoming release?

We have an application that does a lot of XML processing and we are using Xerces as parser. I would like to give the gnu jaxp parser a try, but I can't because of this issue. The problem is we are using DTD's that are not accessible through an URL or through the filesystem (that's why there is a custom EntityResolver registered with the parser).

regards,
Maarten

Maarten Coene wrote:

I'm not saying that the Aelfred parser should guess how to resolve the entity, all I'm saying is that *if the application has registered an EntityResolver*, the parser should *first* ask this EntityResolver to resolve the entity. If this EntityResolver can't resolve it, the parser should use it's default strategy (using the base URI or whatever) to resolve the entity (in my example: throw an exception like Aelfred does now).

There are situations where providing a base URI is not appropriate. For instance: suppose I have stored the DTD files into a database, what should I specifiy as base URI ? Or what if I have hard-coded the DTD declaration as a String in my custom EntityResolver (e.g. to improve performance).

I also think this is what the EntityResolver.resolveEntity(...) javadoc says ...

Maarten

David Brownell wrote:

Maarten Coene wrote:

Hi,

I have a problem with specifying an EntityResolver with the Aelfred SAXDriver. In some situations, the specified EntityResolver will not be used to resolve the entities. This can happen if you pass an InputSource to the SAXDriver.parse( ... ) method without specifying a systemId.



Passing such an InputSource is a bug in your application level
code.  Provide a base URI, and all SAX parsers should act the
same.  If you don't, there's no way to guess the right value;
and I don't know any "how to guess" convention that can won't
break in some environments.  (For a file, it might be $PWD.
For an HTTP URI, it might be something else entirely ...)
Which is why it doesn't guess, and reports that error.

If you really really want to make it harder to notice that kind
of application bug, don't just hide that guess ... make it an
explicit thing, at least by way of a "here's where we guess"
comment.  A settable parser property for the default value
would is the best option I've heard.

- Dave






_______________________________________________
Classpathx-discuss mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/classpathx-discuss






reply via email to

[Prev in Thread] Current Thread [Next in Thread]