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.

Public Constructor Summary

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

Public Method Summary

void
characters(char[] ch, int start, int length)
Adapter implementation method; do not call.
void
endDocument()
Adapter implementation method; do not call.
void
endElement(String qName)
Adapter implementation method; do not call.
ContentHandler
getContentHandler()
Return the current content handler.
DTDHandler
getDTDHandler()
Return the current DTD handler.
EntityResolver
getEntityResolver()
Return the current entity resolver.
ErrorHandler
getErrorHandler()
Return the current error handler.
boolean
getFeature(String name)
Check a parser feature flag.
Object
getProperty(String name)
Get a parser property.
void
ignorableWhitespace(char[] ch, int start, int length)
Adapter implementation method; do not call.
void
parse(InputSource input)
Parse an XML document.
void
parse(String systemId)
Parse an XML document.
void
processingInstruction(String target, String data)
Adapter implementation method; do not call.
void
setContentHandler(ContentHandler handler)
Set the content handler.
void
setDTDHandler(DTDHandler handler)
Set the DTD handler.
void
setDocumentLocator(Locator locator)
Adapter implementation method; do not call.
void
setEntityResolver(EntityResolver resolver)
Set the entity resolver.
void
setErrorHandler(ErrorHandler handler)
Set the error handler.
void
setFeature(String name, boolean value)
Set a feature flag for the parser.
void
setProperty(String name, Object value)
Set a parser property.
void
startDocument()
Adapter implementation method; do not call.
void
startElement(String qName, AttributeList qAtts)
Adapter implementation method; do not call.

Inherited Method Summary

Public Constructors

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.

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
NullPointerException If the parser parameter is null.

Public Methods

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.

public void endDocument ()

Adapter implementation method; do not call. Adapt a SAX1 end document event.

Throws
SAXException The client may raise a processing exception.

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.

public ContentHandler getContentHandler ()

Return the current content handler.

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

public DTDHandler getDTDHandler ()

Return the current DTD handler.

Returns
  • the current DTD handler, or null if none was supplied

public EntityResolver getEntityResolver ()

Return the current entity resolver.

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

public ErrorHandler getErrorHandler ()

Return the current error handler.

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

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.

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.

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.

public void parse (InputSource input)

Parse an XML document.

Parameters
input An input source for the document.
Throws
IOException If there is a problem reading the raw content of the document.
SAXException If there is a problem processing the document.

public void parse (String systemId)

Parse an XML document.

Parameters
systemId The absolute URL of the document.
Throws
IOException If there is a problem reading the raw content of the document.
SAXException If there is a problem processing the document.

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.

public void setContentHandler (ContentHandler handler)

Set the content handler.

Parameters
handler the new content handler

public void setDTDHandler (DTDHandler handler)

Set the DTD handler.

Parameters
handler the new DTD handler

public void setDocumentLocator (Locator locator)

Adapter implementation method; do not call. Adapt a SAX1 document locator event.

Parameters
locator A document locator.

public void setEntityResolver (EntityResolver resolver)

Set the entity resolver.

Parameters
resolver The new entity resolver.

public void setErrorHandler (ErrorHandler handler)

Set the error handler.

Parameters
handler The new error handler.

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.

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.

public void startDocument ()

Adapter implementation method; do not call. Adapt a SAX1 start document event.

Throws
SAXException The client may raise a processing exception.

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 attribute list (with qnames).
Throws
SAXException The client may raise a processing exception.