It all begins (and began) with JAXP 1.0.
This first version of Sun’s API provided, basically, a thin
layer over existing APIs that allowed for
vendor-neutral parsing of code. For SAX,
this isn’t a huge deal; now that you are a SAX expert, you are
smart enough to use the
instead of directly instantiating a vendor’s parser class. Of
course, as you’re also a DOM expert, you know that it’s a
pain to deal with DOM in a vendor-neutral way, so JAXP helps out
quite a bit in this regard. Additionally, JAXP provided some methods
for working with validation and namespaces, another vendor-specific
task that can now be handled (in most cases) in a much better way.
Starting with SAX
Before getting into how JAXP works with SAX, I will fill you in on
some SAX 1.0 details. Remember the
org.xml.sax.helpers.DefaultHandler class I showed
you in Chapter 4 that implemented all the core SAX
2.0 handlers? There was a similar class in SAX 1.0 called
class implemented the SAX 1.0 handlers (which were slightly different
in that version). As long as you understand this, you’ll be all
set to deal with JAXP 1.0.
To use JAXP with a SAX-compliant parser, your only task is to extend
class and implement the callbacks desired for your application.
That’s it, no different than doing the same for
DefaultHandler in SAX 2.0. An instance of your extension class then becomes the core argument for most of the JAXP methods that deal with ...