The JavaTM Web Services Tutorial

Simple API for XML

Eric Armstrong

In this chapter we focus on the Simple API for XML (SAX), an event-driven, serial-access mechanism for accessing XML documents. This is the protocol that most servlets and network-oriented programs will want to use to transmit and receive XML documents, because it's the fastest and least memory-intensive mechanism that is currently available for dealing with XML documents.

The SAX protocol requires a lot more programming than the Document Object Model (DOM). It's an event-driven model (you provide the callback methods, and the parser invokes them as it reads the XML data), which makes it harder to visualize. Finally, you can't "back up" to an earlier part of the document, or rearrange it, any more than you can back up a serial data stream or rearrange characters you have read from that stream.

For those reasons, developers who are writing a user-oriented application that displays an XML document and possibly modifies it will want to use the DOM mechanism described in the next part of the tutorial, Document Object Model.

However, even if you plan to build with DOM apps exclusively, there are several important reasons for familiarizing yourself with the SAX model:

Note: The examples in this chapter can be found in <JWSDP_HOME>/docs/tutorial/examples/jaxp/sax/samples.

In This Chapter
When to Use SAX
Writing a Simple XML File
Echoing an XML File with the SAX Parser
Adding Additional Event Handlers
Handling Errors with the Nonvalidating Parser
Substituting and Inserting Text
Creating a Document Type Definition (DTD)
DTD's Effect on the Nonvalidating Parser
Defining Attributes and Entities in the DTD
Referencing Binary Entities
Choosing your Parser Implementation
Using the Validating Parser
Defining Parameter Entities and Conditional Sections
Parsing the Parameterized DTD
Handling Lexical Events
Using the DTDHandler and EntityResolver
Further Information

This tutorial contains information on the 1.0 version of the Java Web Services Developer Pack.

All of the material in The Java Web Services Tutorial is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.