Re: [Sax-devel] RFE [ #496133 ] New resolver entry point
Brought to you by:
dmegginson
From: Rob L. <ro...@el...> - 2002-01-25 23:22:34
|
Norman Walsh wrote:-> > The alternative, if SAX doesn't provide the API is either: > > 1. To layer a SAXExtended API on top of SAX below other APIs, or > > 2. Implement > > package.xmlschema.resolveURI() > package.transform.resolveURI() > package.xinclude.resolveURI() > ... > package.adinfinitum.resolveURI() > > neither of which seems ideal. > I've been following this discussion with interest. I can fully understand Norm's position that he wants to use a standard API for resolution of external identifiers. It hasn't been stated, but I suspect he would dearly love to plug his Java resolver classes into this API, and thereby allow many classes of application to gain the benefit. However, for once I believe that Norm is misguided in wanting to use the SAX EntityResolver for this purpose. I think this discussion comes down to the question "what is SAX for". Is it (a) a means to parse XML 1.0 + namespaces or (b) a framework for working with the whole family of XML specifications? In my view it was designed for (a) and is quite well-suited to that task. I can understand the desire to use it for (b), but this view will undoubtedly lead to a more complicated and muddy API. I think a better solution to this problem is to create a general-purpose resolver API. It need not be layered on top of SAX, in fact I think it may be more appropriate for it to be completely separate. This new API could come packaged with a SAX EntityResolverImpl that simply acts as a bridge between the two APIs, passing SAX EntityResolver(2) events on to be resolved by the new-fangled API. So, architecturally, I think a new API is the right way to go. The only difficulty with this idea is all the work involved in creating a new standard and getting it adopted. But who would be in a better position to achieve this that the well-respected members of the OASIS Entity Resolution Committee? ;-))) Regards ~Rob -- Rob Lugt ElCel Technology http://www.elcel.com/ |