- 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
Parserand makes it act as a SAX2XMLReader, with feature, property, and Namespace support. Note that it is not possible to reportskippedEntityevents, 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
Constructors Constructor Description ParserAdapter()Construct a new parser adapter.ParserAdapter(Parser parser)Construct a new parser adapter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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() throws SAXExceptionConstruct 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 SAXExceptionAdapter 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 SAXExceptionAdapter 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 SAXExceptionAdapter 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 SAXExceptionAdapter 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)
-
-