[EMAIL PROTECTED] wrote:
> I'd like to see the XNI changes made before the production-grade
> Xerces2 is put out.  I think things like writing a default

I have minor issues with the proposed changes. Details are below.

> - XMLResourceDescription needs to be added to the
>   org.apache.xerces.xni package;

"Description" seems like the wrong name for this interface. 
The methods don't describe the object that implements this
interface. Rather, it is a location of a resource. So what do 
you think of changing the interface to XMLResourceLocation
(or something similar)?

Also, I would add an additional method to the interface that
returns the expanded system identifier. This relates to James
Clark's bug report #5070 -- what he refers to as the "actualURI". 
In his bug report he states, rather appropriately, that even
though the callback gives you the baseSystemId and systemId,
it requires every application to expand the ID when this code
is already a part of the parser.

Therefore, I would suggest adding a method, like the following:

  public String getExpandedSystemId();

So, if the baseSystemId is "http://example.org/document.xml";
and the systemId is "dtd/grammar.dtd", then the expanded
systemId would be "http://example.org/dtd/grammar.dtd";.

> - XMLLocator and XMLEntityResolver need to be updated to extend
>   this interface;

No problem. 

> - XMLGrammarDescription needs to be added somewhere (probably to
>   xni.parsers, but I'm unsure here);

I'm not sure that this needs to be part of XNI. There's nothing
in XNI about grammar parsing (outside of DTD scanning) or grammar
caching -- that is an implementation detail. And as such, this
interface should be part of the implementation package, *not* in
XNI.

> - XMLGrammarPool needs to be added to the same place as
>   XMLGrammarDescription

Same as above.

But I like how this is progressing. Soon we'll have a very clean
and modular grammar caching facility. Very cool! :)

-- 
Andy Clark * [EMAIL PROTECTED]

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

Reply via email to