Class ParserAdapter
- java.lang.Object
-
- org.xml.sax.helpers.ParserAdapter
- All Implemented Interfaces:
-
DocumentHandler,XMLReader
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:
- 1.4, SAX 2.0
- See Also:
-
XMLReaderAdapter,XMLReader,Parser
Constructor Summary
| Constructor | Description |
|---|---|
ParserAdapter() | Construct a new parser adapter. |
ParserAdapter(Parser parser) | Construct a new parser adapter. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
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(String systemId) | Parse an XML document. |
void | parse(InputSource input) | 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 | setDocumentLocator(Locator locator) | Adapter implementation method; do not call. |
void | setDTDHandler(DTDHandler handler) | Set the DTD handler. |
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. |
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Constructor Detail
ParserAdapter
public ParserAdapter()
throws SAXException 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:
-
NullPointerException- If the parser parameter is null.
Method Detail
setFeature
public void setFeature(String name,
boolean value)
throws SAXNotRecognizedException,
SAXNotSupportedException Set a feature flag for the parser.
The only features recognized are namespaces and namespace-prefixes.
- Specified by:
-
setFeaturein interfaceXMLReader - 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.setFeature(java.lang.String, boolean)
getFeature
public boolean getFeature(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException Check a parser feature flag.
The only features recognized are namespaces and namespace-prefixes.
- Specified by:
-
getFeaturein interfaceXMLReader - 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.setFeature(java.lang.String, boolean)
setProperty
public void setProperty(String name,
Object value)
throws SAXNotRecognizedException,
SAXNotSupportedException Set a parser property.
No properties are currently recognized.
- Specified by:
-
setPropertyin interfaceXMLReader - 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.setProperty(java.lang.String, java.lang.Object)
getProperty
public Object getProperty(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException Get a parser property.
No properties are currently recognized.
- Specified by:
-
getPropertyin interfaceXMLReader - 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.getProperty(java.lang.String)
setEntityResolver
public void setEntityResolver(EntityResolver resolver)
Set the entity resolver.
- Specified by:
-
setEntityResolverin interfaceXMLReader - Parameters:
-
resolver- The new entity resolver. - See Also:
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
getEntityResolver
public EntityResolver getEntityResolver()
Return the current entity resolver.
- Specified by:
-
getEntityResolverin interfaceXMLReader - Returns:
- The current entity resolver, or null if none was supplied.
- See Also:
XMLReader.getEntityResolver()
setDTDHandler
public void setDTDHandler(DTDHandler handler)
Set the DTD handler.
- Specified by:
-
setDTDHandlerin interfaceXMLReader - Parameters:
-
handler- the new DTD handler - See Also:
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
getDTDHandler
public DTDHandler getDTDHandler()
Return the current DTD handler.
- Specified by:
-
getDTDHandlerin interfaceXMLReader - Returns:
- the current DTD handler, or null if none was supplied
- See Also:
XMLReader.getEntityResolver()
setContentHandler
public void setContentHandler(ContentHandler handler)
Set the content handler.
- Specified by:
-
setContentHandlerin interfaceXMLReader - Parameters:
-
handler- the new content handler - See Also:
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
getContentHandler
public ContentHandler getContentHandler()
Return the current content handler.
- Specified by:
-
getContentHandlerin interfaceXMLReader - Returns:
- The current content handler, or null if none was supplied.
- See Also:
XMLReader.getEntityResolver()
setErrorHandler
public void setErrorHandler(ErrorHandler handler)
Set the error handler.
- Specified by:
-
setErrorHandlerin interfaceXMLReader - Parameters:
-
handler- The new error handler. - See Also:
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
getErrorHandler
public ErrorHandler getErrorHandler()
Return the current error handler.
- Specified by:
-
getErrorHandlerin interfaceXMLReader - Returns:
- The current error handler, or null if none was supplied.
- See Also:
XMLReader.getEntityResolver()
parse
public void parse(String systemId)
throws IOException,
SAXException Parse an XML document.
- Specified by:
-
parsein interfaceXMLReader - 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. - See Also:
-
parse(org.xml.sax.InputSource),Parser.parse(java.lang.String)
parse
public void parse(InputSource input)
throws IOException,
SAXException Parse an XML document.
- Specified by:
-
parsein interfaceXMLReader - 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. - See Also:
-
parse(java.lang.String),Parser.parse(org.xml.sax.InputSource)
setDocumentLocator
public void setDocumentLocator(Locator locator)
Adapter implementation method; do not call. Adapt a SAX1 document locator event.
- Specified by:
-
setDocumentLocatorin interfaceDocumentHandler - Parameters:
-
locator- A document locator. - See Also:
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
startDocument
public void startDocument()
throws SAXException Adapter implementation method; do not call. Adapt a SAX1 start document event.
- Specified by:
-
startDocumentin interfaceDocumentHandler - Throws:
-
SAXException- The client may raise a processing exception. - See Also:
DocumentHandler.startDocument()
endDocument
public void endDocument()
throws SAXException Adapter implementation method; do not call. Adapt a SAX1 end document event.
- Specified by:
-
endDocumentin interfaceDocumentHandler - Throws:
-
SAXException- The client may raise a processing exception. - See Also:
DocumentHandler.endDocument()
startElement
public void startElement(String qName,
AttributeList qAtts)
throws SAXException Adapter implementation method; do not call. Adapt a SAX1 startElement event.
If necessary, perform Namespace processing.
- Specified by:
-
startElementin interfaceDocumentHandler - Parameters:
-
qName- The qualified (prefixed) name. -
qAtts- The XML attribute list (with qnames). - Throws:
-
SAXException- The client may raise a processing exception. - See Also:
-
DocumentHandler.endElement(java.lang.String),AttributeList
endElement
public void endElement(String qName)
throws SAXException Adapter implementation method; do not call. Adapt a SAX1 end element event.
- Specified by:
-
endElementin interfaceDocumentHandler - Parameters:
-
qName- The qualified (prefixed) name. - Throws:
-
SAXException- The client may raise a processing exception. - See Also:
DocumentHandler.endElement(java.lang.String)
characters
public void characters(char[] ch,
int start,
int length)
throws SAXException Adapter implementation method; do not call. Adapt a SAX1 characters event.
- Specified by:
-
charactersin interfaceDocumentHandler - 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.characters(char[], int, int)
ignorableWhitespace
public void ignorableWhitespace(char[] ch,
int start,
int length)
throws SAXException Adapter implementation method; do not call. Adapt a SAX1 ignorable whitespace event.
- Specified by:
-
ignorableWhitespacein interfaceDocumentHandler - 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.ignorableWhitespace(char[], int, int)
processingInstruction
public void processingInstruction(String target,
String data)
throws SAXException Adapter implementation method; do not call. Adapt a SAX1 processing instruction event.
- Specified by:
-
processingInstructionin interfaceDocumentHandler - 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.processingInstruction(java.lang.String, java.lang.String)