[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]
