By using the Interface keyword in Java it is possible to 'hide' the implementation details of a project, similar to the way in which a GUI hides the lower level details of the computer. The following files represent Interface declarations which an XML processor must implement. By having a common set of Interface declarations for an XML processor, one part of the JOS package can 'plug in' to the XML processor through the Interface descriptions without having to worry about implementation details; the author of the actual XML processor can change the actual implementation of the XML processor to his liking, as long as he 'promises' to implement the methods given in the Interface descriptions. Another benefit is that several people can work on different XML processors at the same time, based on different ideas, but if each coder promises to provide the methods declared in the Interface than a consistant way to 'plug in' to the XML processors will be retained.
The following files begin to flesh out the Interface for an XML processor. I have begun by using an XML API by John Tigue described in the paper Informal Work on a Standardized XML API in Java (XAPI-J); later versions of this Interface will diverge from John Tigue's implementation.
IElement
IAttribute
IContent
IXMLProcessorFactory
IXMLProcessor
ParseException
Please note that I am only interested in designing the Interface & Framework which wraps around the actual XML processor; I am still looking for coders who are interested in coding the actual XML processor. Contact me at BradNeuberg, bkn3@columia.edu .
Note posted on 1-30-98: I have stopped working on an XMLInterfaceSpecification, since I found a working group that is trying to devise a standardized API for Java XML processors. In the meantime I am using Microsoft's XML parser; other Java XML Parsers include PaxSyntactica, DataChannel's parser, an DSSSL engine named Jade, and many many more.
-- VjekoNesek