JAXP SAX: Difference between revisions
Line 27: | Line 27: | ||
=Component Packages= | =Component Packages= | ||
* <tt>[https://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/package-frame.html javax.xml.parsers]</tt> | * <tt>[https://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/package-frame.html javax.xml.parsers]</tt> defines <tt>SAXParserFactory</tt> and exception classes. | ||
* <tt>[https://docs.oracle.com/javase/8/docs/api/org/xml/sax/package-frame.html org.xml.sax]</tt> the basic SAX | * <tt>[https://docs.oracle.com/javase/8/docs/api/org/xml/sax/package-frame.html org.xml.sax]</tt> the basic SAX interfaces. |
Revision as of 20:42, 9 November 2016
External
Internal
Overview
A SAX parser implements event-driven, push parsing.
To use a SAX parser, use SAXParserFactory to generate a parser instance. The actual implementation of the parser implements the SAXParser interface and is determined by the value of javax.xml.parsers.SAXParserFactory system property. Then call parsers's parse() method. The parser contains a SAXReader instance, which invokes callback methods the application must implement. The methods are defined by the ContentHandler, ErrorHandler, DTDHandler and EntityResolver interfaces.
When an XML tag is recognized, the parser invokes the corresponding methods (startDocument(), startElement()), ...) on the ContentHandler implementation.
The ErrorHandler implementation is messaged on various parsing errors. The default implementation is rudimentary, if a more nuanced behavior is necessary, the handler must be implemented.
For a working example of SAX parsing, see SAX Example below.
SAX Example
Component Packages
- javax.xml.parsers defines SAXParserFactory and exception classes.
- org.xml.sax the basic SAX interfaces.