An XmlReader reads a character stream and constructs the internal data of an XmlDocument. Internally, it contains an implementation of the Aelfred XmlHandler interface to parse the character stream and construct a tree of XmlElements.
Typically, when you parse an XML document, you do not want the parse to barf on badly-formed XML with an exception. XmlReader therefore prints error and warning messages to an output stream, which is by default System.out, but can be set to another stream to allow an application to capture this output (to display it in a GUI, for example). A "verbose" flag can be used to make the XML reader print out lots and lots of other information as well. Once the parse is complete, the caller should use the getErrorCount() method to see if there were any errors.
This parser is capable of resolving external entities using either public IDs or system IDs. System IDs are usually given as a complete URL to the given file. Public IDs are given as partial pathnames to which the parser prepends a locally known location for libraries of XML files. In Diva, the partial pathname (eg "graph.dtd") is looked up in the default resource bundle in the diva.resource package. DTDs that can be recognized as "public" must therefore be entered into diva/resource/Defaults.properties file. If both IDs are given, this parser tries to use the public ID first.
@author Steve Neuendorffer, John Reekie
@version $Id: XmlReader.java,v 1.24 2005/12/30 17:56:26 cxh Exp $