org.xml.sax.helpers

Class ParserAdapter

public class ParserAdapter extends Object implements XMLReader, DocumentHandler

Adapt a SAX1 Parser as a SAX2 XMLReader.
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 SAX1 Parser and makes it act as a SAX2 XMLReader, with feature, property, and Namespace support. Note that it is not possible to report skippedEntity events, since SAX1 does not make that information available.

This adapter does not test for duplicate Namespace-qualified attribute names.

Since: SAX 2.0

Version: 2.0.1 (sax2r2)

Author: David Megginson

See Also: XMLReaderAdapter XMLReader Parser

Constructor Summary
ParserAdapter()
Construct a new parser adapter.
ParserAdapter(Parser parser)
Construct a new parser adapter.
Method Summary
voidcharacters(char[] ch, int start, int length)
Adapter implementation method; do not call.
voidendDocument()
Adapter implementation method; do not call.
voidendElement(String qName)
Adapter implementation method; do not call.
ContentHandlergetContentHandler()
Return the current content handler.
DTDHandlergetDTDHandler()
Return the current DTD handler.
EntityResolvergetEntityResolver()
Return the current entity resolver.
ErrorHandlergetErrorHandler()
Return the current error handler.
booleangetFeature(String name)
Check a parser feature flag.
ObjectgetProperty(String name)
Get a parser property.
voidignorableWhitespace(char[] ch, int start, int length)
Adapter implementation method; do not call.
voidparse(String systemId)
Parse an XML document.
voidparse(InputSource input)
Parse an XML document.
voidprocessingInstruction(String target, String data)
Adapter implementation method; do not call.
voidsetContentHandler(ContentHandler handler)
Set the content handler.
voidsetDocumentLocator(Locator locator)
Adapter implementation method; do not call.
voidsetDTDHandler(DTDHandler handler)
Set the DTD handler.
voidsetEntityResolver(EntityResolver resolver)
Set the entity resolver.
voidsetErrorHandler(ErrorHandler handler)
Set the error handler.
voidsetFeature(String name, boolean value)
Set a feature flag for the parser.
voidsetProperty(String name, Object value)
Set a parser property.
voidstartDocument()
Adapter implementation method; do not call.
voidstartElement(String qName, AttributeList qAtts)
Adapter implementation method; do not call.

Constructor Detail

ParserAdapter

public ParserAdapter()
Construct a new parser adapter.

Use the "org.xml.sax.parser" property to locate the embedded SAX1 driver.

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

ParserAdapter

public ParserAdapter(Parser parser)
Construct a new parser adapter.

Note that the embedded parser cannot be changed once the adapter is created; to embed a different parser, allocate a new ParserAdapter.

Parameters: parser The SAX1 parser to embed.

Throws: java.lang.NullPointerException If the parser parameter is null.

Method Detail

characters

public void characters(char[] ch, int start, int length)
Adapter implementation method; do not call. Adapt a SAX1 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: DocumentHandler

endDocument

public void endDocument()
Adapter implementation method; do not call. Adapt a SAX1 end document event.

Throws: SAXException The client may raise a processing exception.

See Also: DocumentHandler

endElement

public void endElement(String qName)
Adapter implementation method; do not call. Adapt a SAX1 end element event.

Parameters: qName The qualified (prefixed) name.

Throws: SAXException The client may raise a processing exception.

See Also: DocumentHandler

getContentHandler

public ContentHandler getContentHandler()
Return the current content handler.

Returns: The current content handler, or null if none was supplied.

See Also: XMLReader

getDTDHandler

public DTDHandler getDTDHandler()
Return the current DTD handler.

Returns: The current DTD handler, or null if none was supplied.

See Also: XMLReader

getEntityResolver

public EntityResolver getEntityResolver()
Return the current entity resolver.

Returns: The current entity resolver, or null if none was supplied.

See Also: XMLReader

getErrorHandler

public ErrorHandler getErrorHandler()
Return the current error handler.

Returns: The current error handler, or null if none was supplied.

See Also: XMLReader

getFeature

public boolean getFeature(String name)
Check a parser feature flag.

The only features recognized are namespaces and namespace-prefixes.

Parameters: name The feature name, as a complete URI.

Returns: The current feature value.

Throws: SAXNotRecognizedException If the feature value can't be assigned or retrieved. SAXNotSupportedException If the feature is not currently readable.

See Also: XMLReader

getProperty

public Object getProperty(String name)
Get a parser property.

No properties are currently recognized.

Parameters: name The property name.

Returns: The property value.

Throws: SAXNotRecognizedException If the property value can't be assigned or retrieved. SAXNotSupportedException If the property value is not currently readable.

See Also: XMLReader

ignorableWhitespace

public void ignorableWhitespace(char[] ch, int start, int length)
Adapter implementation method; do not call. Adapt a SAX1 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: DocumentHandler

parse

public void parse(String systemId)
Parse an XML document.

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 Parser

parse

public void parse(InputSource input)
Parse an XML document.

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: ParserAdapter parse

processingInstruction

public void processingInstruction(String target, String data)
Adapter implementation method; do not call. Adapt a SAX1 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: DocumentHandler

setContentHandler

public void setContentHandler(ContentHandler handler)
Set the content handler.

Parameters: resolver The new content handler.

See Also: XMLReader

setDocumentLocator

public void setDocumentLocator(Locator locator)
Adapter implementation method; do not call. Adapt a SAX1 document locator event.

Parameters: locator A document locator.

See Also: ContentHandler

setDTDHandler

public void setDTDHandler(DTDHandler handler)
Set the DTD handler.

Parameters: resolver The new DTD handler.

See Also: XMLReader

setEntityResolver

public void setEntityResolver(EntityResolver resolver)
Set the entity resolver.

Parameters: resolver The new entity resolver.

See Also: XMLReader

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
Set the error handler.

Parameters: resolver The new error handler.

See Also: XMLReader

setFeature

public void setFeature(String name, boolean value)
Set a feature flag for the parser.

The only features recognized are namespaces and namespace-prefixes.

Parameters: name The feature name, as a complete URI. value The requested feature value.

Throws: SAXNotRecognizedException If the feature can't be assigned or retrieved. SAXNotSupportedException If the feature can't be assigned that value.

See Also: XMLReader

setProperty

public void setProperty(String name, Object value)
Set a parser property.

No properties are currently recognized.

Parameters: name The property name. value The property value.

Throws: SAXNotRecognizedException If the property value can't be assigned or retrieved. SAXNotSupportedException If the property can't be assigned that value.

See Also: XMLReader

startDocument

public void startDocument()
Adapter implementation method; do not call. Adapt a SAX1 start document event.

Throws: SAXException The client may raise a processing exception.

See Also: DocumentHandler

startElement

public void startElement(String qName, AttributeList qAtts)
Adapter implementation method; do not call. Adapt a SAX1 startElement event.

If necessary, perform Namespace processing.

Parameters: qName The qualified (prefixed) name. qAtts The XML 1.0 attribute list (with qnames).

Throws: SAXException The client may raise a processing exception.