[jdom-interest] SAX Parsers

David W. Smiley dsmiley at mitre.org
Thu Jul 20 07:57:04 PDT 2000

Brett McLaughlin wrote:
> What? SAX 2 is a core part of JDOM's builders and outputters. And we
> supersede JAXP. In fact, future versions of JAXP will almost certainly
> include support for JDOM, as will the parser that makes its way into the
> JDK, it looks like. So we're right on target there.

So in conclusion, I won't use JAXP for the time being, but maybe once it
supports SAX2.

> > (2) I hoped to use JDom without Xerces.  Since JDom needs SAX2, I downloaded the SAX2
> > library.  http://www.megginson.com/SAX/Java/  However, my app won't run because JDom's
> > SAXBuilder class refers to:
> > org/xml/sax/ext/LexicalHandler
> > which is not in the SAX2 library.
> Even once you get the SAX extensions (where LexicalHandler is), you
> can't use JDOM without a parser. SAX isn't a parser, it's an API, so you
> need a parser from somewhere. Xerces is the best, Project X works as
> well as Oracle V1 and V2.

	My point is that I wanted to use JDom without the Xerces library and I
was unsuccessful.  I understand, of course, that I'll need a parser;
it's just that I wanted to use another parser (Sun's) without having the
Xerces library around because JDom uses a few classes here and there in
Xerces.  This is not absolutely necessary, but I think JDom should not
tie itself to Xerces.  Is this recognized as a problem, and if so, what
is the solution?

> No - that requires users to know more than they need to about SAX, we
> had decided.

In my case I NEED to know about SAX because the default SAX handling
does not handle external entities the way I want it to.  I claim that if
the constructor I proposed is added, users will still not need to know
about SAX since they won't use that constructor.

>Setting an entity resolver, however, is something we will
> let you do, so that solves your problem nicely. We'll also let you set
> an Error Handler.

How will you let me do it then?  I would /really/ prefer my proposed
constructor instead of having the JDom API deal with concepts such as
entity resolvers.

> That's more than JAXP does, btw ;-) And you would
> still have to change system properties to use JAXP in the same way, so
> that doesn't offer you any better alternatives.


-- David Smiley
   The MITRE Corporation

More information about the jdom-interest mailing list