SAX Readers
Without spending any further time on the preliminaries, it’s
time to code. As a sample to familiarize you with SAX, this chapter
details the
SAXTreeViewer
class. This class uses SAX to parse an XML document supplied on the
command line, and displays the document visually as a Swing
JTree. If you don’t know anything about
Swing, don’t worry; I don’t focus on that, but just use
it for visual purposes. The focus will remain on SAX, and how events
within parsing can be used to perform customized action. All that
really happens is that a JTree is used, which
provides a nice simple tree model, to display the XML input document.
The key to this tree is the
DefaultMutableTreeNode
class, which you’ll get quite used to in using this example, as
well as the
DefaultTreeModel
that takes care of the layout.
The first thing you need to do in any SAX-based application is get an
instance of a class that conforms to the
SAX
org.xml.sax.XMLReader interface. This interface
defines parsing behavior and allows us to set features and properties
(which I’ll cover later in this chapter). For those of you
familiar with SAX 1.0,
this interface replaces the
org.xml.sax.Parser
interface.
Warning
This is a good time to point out that SAX 1.0 is not covered in this book. While there is a very small section at the end of this chapter explaining how to convert SAX 1.0 code to SAX 2.0, you really are not in a good situation if you are using SAX 1.0. While the first edition of this book came ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access