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 SAX2XMLReader
, with feature, property, and Namespace support. Note that it is not possible to reportskippedEntity
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)
- See Also:
-
XMLReaderAdapter
,XMLReader
,Parser
-
-
Constructor Summary
Constructors Constructor and 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 and 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(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
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.
-
-
-
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:
-
setFeature
in 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:
-
getFeature
in 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:
-
setProperty
in 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:
-
getProperty
in 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:
-
setEntityResolver
in 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:
-
getEntityResolver
in 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:
-
setDTDHandler
in 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:
-
getDTDHandler
in 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:
-
setContentHandler
in 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:
-
getContentHandler
in 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:
-
setErrorHandler
in 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:
-
getErrorHandler
in 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:
-
parse
in 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:
-
parse
in 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:
-
setDocumentLocator
in 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:
-
startDocument
in 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:
-
endDocument
in 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:
-
startElement
in 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:
-
endElement
in 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:
-
characters
in 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:
-
ignorableWhitespace
in 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:
-
processingInstruction
in 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)
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.