The org.xml.sax.ext Package

The org.xml.sax.ext package holds extension interfaces that not all SAX2 parsers are expected to implement. These classes are in a sense optional but are provided by all widely used implementations and are required by Sun’s JAXP API.

Unlike the handlers in the SAX core, these handlers do not have type-safe routines to bind them to XMLReader objects. They are identified using URIs, and bindings are accessed using the getProperty() and setProperty() methods.

The DeclHandler class

This is the primary way SAX2 exposes typing constraints from an XML Document Type Declaration. It also reports entity declarations.

For more information, refer to Section 4.3.1 in Chapter 4.

public interface DeclHandler 
{
    // data typing
    public void attributeDecl(String element, String string 
	attribute,
	    String type, String mode, String defaultValue )
	throws SAXException;
    public void elementDecl(String name, String model) throws 
	SAXException;
    // entity info
    public void externalEntityDecl(String name,
	    String publicId, String systemId)
	throws SAXException;
    public void internalEntityDecl(String name, String value)
	throws SAXException;
}

The LexicalHandler Interface

Many parsers expose certain data even though it is, for most purposes, not part of the information that an XML document intends to convey to applications. This interface exposes some such data.

For more information, refer to Section 4.2 in Chapter 4.

public interface LexicalHandler { public void startDTD(String root, String ...

Get SAX2 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.