Xerces 3.1.1

## org.xml.sax.ext
Interface LexicalHandler

All Known Implementing Classes:
  BaseMarkupSerializer

public interface LexicalHandler

SAX2 extension handler for lexical events.

> This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.

This is an optional extension handler for SAX2 to provide lexical information about an XML document, such as comments and CDATA section boundaries; XML readers are not required to support this handler.

The events in the lexical handler apply to the entire document, not just to the document element, and all lexical handler events must appear between the content handler's startDocument and endDocument events.

To set the LexicalHandler for an XML reader, use the `setProperty` method with the propertyId "http://xml.org/sax/handlers/LexicalHandler". If the reader does not support lexical events, it will throw a `SAXNotRecognizedException` or a `SAXNotSupportedException` when you attempt to register the handler.

Since:
  SAX 2.0
Version:
  2.0beta
See Also:
  `XMLReader.setProperty(java.lang.String, java.lang.Object)`, `SAXNotRecognizedException`, `SAXNotSupportedException`

Method Summary
`void` `comment(char[] ch, int start, int length)` Report an XML comment anywhere in the document.
`void` `endCDATA()` Report the end of a CDATA section.
`void` `endDTD()` Report the end of DTD declarations.
`void` `endEntity(java.lang.String name)` Report the end of an entity.
`void` `startCDATA()` Report the start of a CDATA section.
`void` `startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)` Report the start of DTD declarations, if any.
`void` `startEntity(java.lang.String name)` Report the beginning of an entity in content.

Method Detail

### startDTD

    public void startDTD(java.lang.String name,
                         java.lang.String publicId,
                         java.lang.String systemId)
                  throws SAXException

  Report the start of DTD declarations, if any.

  Any declarations are assumed to be in the internal subset unless otherwise indicated by a `startEntity` event.

  Note that the start/endDTD events will appear within the start/endDocument events from ContentHandler and before the first startElement event.

  Parameters:
    `name` - The document type name.
    `publicId` - The declared public identifier for the external DTD subset, or null if none was declared.
    `systemId` - The declared system identifier for the external DTD subset, or null if none was declared.
  Throws:
    SAXException - The application may raise an exception.
  See Also:
    `endDTD()`, `startEntity(java.lang.String)`

### endDTD

    public void endDTD()
                throws SAXException

  Report the end of DTD declarations.
  Throws:
    SAXException - The application may raise an exception.
  See Also:
    `startDTD(java.lang.String, java.lang.String, java.lang.String)`

### startEntity

    public void startEntity(java.lang.String name)
                     throws SAXException

  Report the beginning of an entity in content.

  NOTE:</entity> entity references in attribute values -- and the start and end of the document entity -- are never reported.

  The start and end of the external DTD subset are reported using the pseudo-name "[dtd]". All other events must be properly nested within start/end entity events.

  Note that skipped entities will be reported through the `skippedEntity` event, which is part of the ContentHandler interface.

  Parameters:
    `name` - The name of the entity. If it is a parameter entity, the name will begin with '%'.
  Throws:
    SAXException - The application may raise an exception.
  See Also:
    `endEntity(java.lang.String)`, `DeclHandler.internalEntityDecl(java.lang.String, java.lang.String)`, `DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)`

### endEntity

    public void endEntity(java.lang.String name)
                   throws SAXException

  Report the end of an entity.
  Parameters:
    `name` - The name of the entity that is ending.
  Throws:
    SAXException - The application may raise an exception.
  See Also:
    `startEntity(java.lang.String)`

### startCDATA

    public void startCDATA()
                    throws SAXException

  Report the start of a CDATA section.

  The contents of the CDATA section will be reported through the regular `characters` event.

  Throws:
    SAXException - The application may raise an exception.
  See Also:
    `endCDATA()`

### endCDATA

    public void endCDATA()
                  throws SAXException

  Report the end of a CDATA section.
  Throws:
    SAXException - The application may raise an exception.
  See Also:
    `startCDATA()`

### comment

    public void comment(char[] ch,
                        int start,
                        int length)
                 throws SAXException

  Report an XML comment anywhere in the document.

  This callback will be used for comments inside or outside the document element, including comments in the external DTD subset (if read).

  Parameters:
    `ch` - An array holding the characters in the comment.
    `start` - The starting position in the array.
    `length` - The number of characters to use from the array.
  Throws:
    SAXException - The application may raise an exception.

Xerces 3.1.1