SAX: Parser Factory class

David Megginson ak117 at
Thu Apr 16 20:19:23 BST 1998

Andrew n marshall writes:

 > While it is great that there are so many SAX parsers available, the
 > thing that bothers me is that my application has to know what
 > Parser to load in just to use SAX.  And this means that even is a
 > SAX parser is available on the users machine, they may still have
 > to download the one I use to to run my application.

There might be a good reason for requiring them to download anyway --
the parser on the local machine, for example, might not include
external entities.  That said, I am considering including a few
optional language-specific glue classes in a special package called
org.xml.sax.helpers (these would not be a standard part of the SAX
interface, and would vary from language to language).  Among the Java
helpers, I was considering the following:

public class SAXParserFactory {

  public static SAXParser makeSAXParser ()
    throws [a whole bunch of exceptions]

  public static SAXParser makeSAXParser (String className)
    throws [a whole bunch of exceptions]


The first method would attempt to load the SAX parser in the class
name provided by the "sax.parser" property, and the second would
attempt to load an explicitly-named SAX parser.

The idea of a registry is interesting, but it creates a
chicken-and-egg problem (as with the JDBC): if I haven't loaded the
class yet, how can it register itself?

That said, there is no reason that you or someone else could not build
the more elaborate implementation if you wish -- I expect that people
will build all kinds of layers on top of SAX.

All the best,


David Megginson                 ak117 at
Microstar Software Ltd.         dmeggins at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list