home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Book HomeSAX2Search this book

A.3. 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.

A.3.1. 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, "The DeclHandler Interface " in Chapter 4, "Consuming SAX2 Events".

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;
}
	    

A.3.2. 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, "The LexicalHandler Interface " in Chapter 4, "Consuming SAX2 Events".

public interface LexicalHandler 
{
    public void startDTD(String root, String publicId, 
	String systemId)
	throws SAXException;
    public void endDTD() throws SAXException;
    public void startEntity(String name) throws SAXException;
    public void endEntity(String name) throws SAXException;
    public void startCDATA() throws SAXException;
    public void endCDATA() throws SAXException;
    public void comment(char buf[], int offset, int length) 
	throws SAXException;
}
	    


Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.