⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
org.xml.sax.helpers

Class XMLReaderAdapter

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

All Implemented Interfaces:
ContentHandler, Parser


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. See http://www.saxproject.org for further information.

This class wraps a SAX2 org.xml.sax.XMLReader XMLReader and makes it act as a SAX1 org.xml.sax.Parser Parser. The XMLReader must support a true value for the http://xml.org/sax/features/namespace-prefixes property or parsing will fail with a org.xml.sax.SAXException 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
Author:
David Megginson
See Also:
org.xml.sax.Parser
org.xml.sax.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(java.lang.String systemId)

Parse the document.

void

parse(InputSource input)

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.

Constructor Details

XMLReaderAdapter

public XMLReaderAdapter()

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 Details

characters

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

Adapt a SAX2 characters event.

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:
org.xml.sax.ContentHandler.characters

endDocument

public void endDocument()

End document event.

Throws:
SAXException - The client may raise a processing exception.
See Also:
org.xml.sax.ContentHandler.endDocument

endElement

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

Adapt a SAX2 end element event.

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:
org.xml.sax.ContentHandler.endElement

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)

Adapt a SAX2 end prefix mapping event.

Parameters:
prefix - The prefix being mapped.
See Also:
org.xml.sax.ContentHandler.endPrefixMapping

ignorableWhitespace

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

Adapt a SAX2 ignorable whitespace event.

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:
org.xml.sax.ContentHandler.ignorableWhitespace

parse

public void parse(java.lang.String systemId)

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.

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)
org.xml.sax.Parser.parse(java.lang.String)

parse

public void parse(InputSource input)

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.

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)
org.xml.sax.Parser.parse(org.xml.sax.InputSource)

processingInstruction

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

Adapt a SAX2 processing instruction event.

Parameters:
target - The processing instruction target.
data - The remainder of the processing instruction
Throws:
SAXException - The client may raise a processing exception.
See Also:
org.xml.sax.ContentHandler.processingInstruction

setDocumentHandler

public void setDocumentHandler(DocumentHandler handler)

Register the SAX1 document event handler.

Note that the SAX1 document handler has no Namespace support.

Parameters:
handler - The new SAX1 document event handler.
See Also:
org.xml.sax.Parser.setDocumentHandler

setDocumentLocator

public void setDocumentLocator(Locator locator)

Set a document locator.

Parameters:
locator - The document locator.
See Also:
org.xml.sax.ContentHandler.setDocumentLocator

setDTDHandler

public void setDTDHandler(DTDHandler handler)

Register the DTD event handler.

Parameters:
handler - The new DTD event handler.
See Also:
org.xml.sax.Parser.setDTDHandler

setEntityResolver

public void setEntityResolver(EntityResolver resolver)

Register the entity resolver.

Parameters:
resolver - The new resolver.
See Also:
org.xml.sax.Parser.setEntityResolver

setErrorHandler

public void setErrorHandler(ErrorHandler handler)

Register the error event handler.

Parameters:
handler - The new error event handler.
See Also:
org.xml.sax.Parser.setErrorHandler

setLocale

public void setLocale(java.util.Locale locale)

Set the locale for error reporting.

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

Parameters:
locale - locale for error reporting.
Throws:
SAXException - Thrown unless overridden.
See Also:
org.xml.sax.Parser.setLocale

skippedEntity

public void skippedEntity(java.lang.String name)

Adapt a SAX2 skipped entity event.

Parameters:
name - The name of the skipped entity.
Throws:
SAXException - Throwable by subclasses.
See Also:
org.xml.sax.ContentHandler.skippedEntity

startDocument

public void startDocument()

Start document event.

Throws:
SAXException - The client may raise a processing exception.
See Also:
org.xml.sax.ContentHandler.startDocument

startElement

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

Adapt a SAX2 start element event.

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:
org.xml.sax.ContentHandler.endDocument

startPrefixMapping

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

Adapt a SAX2 start prefix mapping event.

Parameters:
prefix - The prefix being mapped.
uri - The Namespace URI being mapped to.
See Also:
org.xml.sax.ContentHandler.startPrefixMapping