Name

LexicalHandler

Synopsis

This extension interface defines methods that a SAX parser can call to notify an application about the lexical structure of an XML document. If your application requires this kind of information (for example if it wants to create a new document that has a similar structure to the one it reads), then pass an object that implements this interface to the setProperty( ) method of an XMLReader, using the property name “http://www.xml.org/sax/properties/lexical-handler”. Because this is an extension handler, SAX parsers are not required to support it, and may throw a SAXNotRecognizedException or a SAXNotSupportedException when you attempt to register a DeclHandler.

If a LexicalHandler is successfully registered on an XMLReader, then the parser will call startDTD( ) and endDTD( ) to report the beginning and end of the document’s DTD. It will call startCDATA( ) and endCDATA( ) to report the start and end of a CDATA section. The content of the CDATA section will be reported through the characters( ) method of the ContentHandler interface. When the parser expands an entity, it first calls startEntity( ) to specify the name of the entity it is about to expand, and then calls endEntity( ) when the entity expansion is complete. Finally, whenever the parser encounters an XML comment, it calls the comment( ) method.

public interface LexicalHandler {
// Public Instance Methods
     void comment(char[ ] ch, int start, int length) 
        throws org.xml.sax.SAXException;  
     void endCDATA ...

Get Java in a Nutshell, 5th Edition 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.