## org.xml.sax.helpers
Class XMLReaderAdapter

    java.lang.Object
      |
      +--org.xml.sax.helpers.XMLReaderAdapter

public class XMLReaderAdapter
extends java.lang.Object
implements Parser, ContentHandler

Adapt a SAX2 XMLReader as a SAX1 Parser.

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

This class wraps a SAX2 `XMLReader` and makes it act as a SAX1 `Parser`. The XMLReader must support a true value for the http://xml.org/sax/features/namespace-prefixes property or parsing will fail with a `SAXException`; if the XMLReader supports a false value for the http://xml.org/sax/features/namespaces property, that will also be used to improve efficiency.

Since:
  SAX 2.0
Version:
  2.0
Author:
  David Megginson, sax@megginson.com
See Also:
  `Parser`, `XMLReader`

Constructor Summary
`XMLReaderAdapter()` Create a new adapter.
`XMLReaderAdapter(XMLReader xmlReader)` Create a new adapter.

Method Summary
`void` `characters(char[] ch, int start, int length)` Adapt a SAX2 characters event.
`void` `endDocument()` End document event.
`void` `endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)` Adapt a SAX2 end element event.
`void` `endPrefixMapping(java.lang.String prefix)` Adapt a SAX2 end prefix mapping event.
`void` `ignorableWhitespace(char[] ch, int start, int length)` Adapt a SAX2 ignorable whitespace event.
`void` `parse(InputSource input)` Parse the document.
`void` `parse(java.lang.String systemId)` Parse the document.
`void` `processingInstruction(java.lang.String target, java.lang.String data)` Adapt a SAX2 processing instruction event.
`void` `setDocumentHandler(DocumentHandler handler)` Register the SAX1 document event handler.
`void` `setDocumentLocator(Locator locator)` Set a document locator.
`void` `setDTDHandler(DTDHandler handler)` Register the DTD event handler.
`void` `setEntityResolver(EntityResolver resolver)` Register the entity resolver.
`void` `setErrorHandler(ErrorHandler handler)` Register the error event handler.
`void` `setLocale(java.util.Locale locale)` Set the locale for error reporting.
`void` `skippedEntity(java.lang.String name)` Adapt a SAX2 skipped entity event.
`void` `startDocument()` Start document event.
`void` `startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, Attributes atts)` Adapt a SAX2 start element event.
`void` `startPrefixMapping(java.lang.String prefix, java.lang.String uri)` Adapt a SAX2 start prefix mapping event.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XMLReaderAdapter

    public XMLReaderAdapter()
                     throws SAXException

  Create a new adapter.

  Use the "org.xml.sax.driver" property to locate the SAX2 driver to embed.

  Throws:
    SAXException - If the embedded driver cannot be instantiated or if the org.xml.sax.driver property is not specified.

### XMLReaderAdapter

    public XMLReaderAdapter(XMLReader xmlReader)

  Create a new adapter.

  Create a new adapter, wrapped around a SAX2 XMLReader. The adapter will make the XMLReader act like a SAX1 Parser.

  Parameters:
    `xmlReader` - The SAX2 XMLReader to wrap.
  Throws:
    java.lang.NullPointerException - If the argument is null.

Method Detail

### setLocale

    public void setLocale(java.util.Locale locale)
                   throws SAXException

  Set the locale for error reporting.

  This is not supported in SAX2, and will always throw an exception.

  Specified by:
    setLocale in interface Parser
  Parameters:
    `The` - locale for error reporting.
  See Also:
    `Parser.setLocale(java.util.Locale)`

### setEntityResolver

    public void setEntityResolver(EntityResolver resolver)

  Register the entity resolver.
  Specified by:
    setEntityResolver in interface Parser
  Parameters:
    `resolver` - The new resolver.
  See Also:
    `Parser.setEntityResolver(org.xml.sax.EntityResolver)`

### setDTDHandler

    public void setDTDHandler(DTDHandler handler)

  Register the DTD event handler.
  Specified by:
    setDTDHandler in interface Parser
  Parameters:
    `handler` - The new DTD event handler.
  See Also:
    `Parser.setDTDHandler(org.xml.sax.DTDHandler)`

### setDocumentHandler

    public void setDocumentHandler(DocumentHandler handler)

  Register the SAX1 document event handler.

  Note that the SAX1 document handler has no Namespace support.

  Specified by:
    setDocumentHandler in interface Parser
  Parameters:
    `handler` - The new SAX1 document event handler.
  See Also:
    `Parser.setDocumentHandler(org.xml.sax.DocumentHandler)`

### setErrorHandler

    public void setErrorHandler(ErrorHandler handler)

  Register the error event handler.
  Specified by:
    setErrorHandler in interface Parser
  Parameters:
    `handler` - The new error event handler.
  See Also:
    `Parser.setErrorHandler(org.xml.sax.ErrorHandler)`

### parse

    public void parse(java.lang.String systemId)
               throws java.io.IOException,
                      SAXException

  Parse the document.

  This method will throw an exception if the embedded XMLReader does not support the http://xml.org/sax/features/namespace-prefixes property.

  Specified by:
    parse in interface Parser
  Parameters:
    `systemId` - The absolute URL of the document.
  Throws:
    java.io.IOException - If there is a problem reading the raw content of the document.
    SAXException - If there is a problem processing the document.
  See Also:
    `parse(org.xml.sax.InputSource)`, `Parser.parse(java.lang.String)`

### parse

    public void parse(InputSource input)
               throws java.io.IOException,
                      SAXException

  Parse the document.

  This method will throw an exception if the embedded XMLReader does not support the http://xml.org/sax/features/namespace-prefixes property.

  Specified by:
    parse in interface Parser
  Parameters:
    `input` - An input source for the document.
  Throws:
    java.io.IOException - If there is a problem reading the raw content of the document.
    SAXException - If there is a problem processing the document.
  See Also:
    `parse(java.lang.String)`, `Parser.parse(org.xml.sax.InputSource)`

### setDocumentLocator

    public void setDocumentLocator(Locator locator)

  Set a document locator.
  Specified by:
    setDocumentLocator in interface ContentHandler
  Parameters:
    `locator` - The document locator.
  See Also:
    `ContentHandler.setDocumentLocator(org.xml.sax.Locator)`

### startDocument

    public void startDocument()
                       throws SAXException

  Start document event.
  Specified by:
    startDocument in interface ContentHandler
  Throws:
    SAXException - The client may raise a processing exception.
  See Also:
    `ContentHandler.startDocument()`

### endDocument

    public void endDocument()
                     throws SAXException

  End document event.
  Specified by:
    endDocument in interface ContentHandler
  Throws:
    SAXException - The client may raise a processing exception.
  See Also:
    `ContentHandler.endDocument()`

### startPrefixMapping

    public void startPrefixMapping(java.lang.String prefix,
                                   java.lang.String uri)

  Adapt a SAX2 start prefix mapping event.
  Specified by:
    startPrefixMapping in interface ContentHandler
  Parameters:
    `prefix` - The prefix being mapped.
    `uri` - The Namespace URI being mapped to.
  See Also:
    `ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)`

### endPrefixMapping

    public void endPrefixMapping(java.lang.String prefix)

  Adapt a SAX2 end prefix mapping event.
  Specified by:
    endPrefixMapping in interface ContentHandler
  Parameters:
    `prefix` - The prefix being mapped.
  See Also:
    `ContentHandler.endPrefixMapping(java.lang.String)`

### startElement

    public void startElement(java.lang.String uri,
                             java.lang.String localName,
                             java.lang.String qName,
                             Attributes atts)
                      throws SAXException

  Adapt a SAX2 start element event.
  Specified by:
    startElement in interface ContentHandler
  Parameters:
    `uri` - The Namespace URI.
    `localName` - The Namespace local name.
    `qName` - The qualified (prefixed) name.
    `atts` - The SAX2 attributes.
  Throws:
    SAXException - The client may raise a processing exception.
  See Also:
    `ContentHandler.endDocument()`

### endElement

    public void endElement(java.lang.String uri,
                           java.lang.String localName,
                           java.lang.String qName)
                    throws SAXException

  Adapt a SAX2 end element event.
  Specified by:
    endElement in interface ContentHandler
  Parameters:
    `uri` - The Namespace URI.
    `localName` - The Namespace local name.
    `qName` - The qualified (prefixed) name.
  Throws:
    SAXException - The client may raise a processing exception.
  See Also:
    `ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)`

### characters

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

  Adapt a SAX2 characters event.
  Specified by:
    characters in interface ContentHandler
  Parameters:
    `ch` - An array of characters.
    `start` - The starting position in the array.
    `length` - The number of characters to use.
  Throws:
    SAXException - The client may raise a processing exception.
  See Also:
    `ContentHandler.characters(char[], int, int)`

### ignorableWhitespace

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

  Adapt a SAX2 ignorable whitespace event.
  Specified by:
    ignorableWhitespace in interface ContentHandler
  Parameters:
    `ch` - An array of characters.
    `start` - The starting position in the array.
    `length` - The number of characters to use.
  Throws:
    SAXException - The client may raise a processing exception.
  See Also:
    `ContentHandler.ignorableWhitespace(char[], int, int)`

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.String data)
                               throws SAXException

  Adapt a SAX2 processing instruction event.
  Specified by:
    processingInstruction in interface ContentHandler
  Parameters:
    `target` - The processing instruction target.
    `data` - The remainder of the processing instruction
  Throws:
    SAXException - The client may raise a processing exception.
  See Also:
    `ContentHandler.processingInstruction(java.lang.String, java.lang.String)`

### skippedEntity

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

  Adapt a SAX2 skipped entity event.
  Specified by:
    skippedEntity in interface ContentHandler
  Parameters:
    `name` - The name of the skipped entity.
  See Also:
    `ContentHandler.skippedEntity(java.lang.String)`

Copyright © 1999-2001 Apache XML Project. All Rights Reserved.