public class ParserAdapter extends Object implements XMLReader, DocumentHandler
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.
XMLReaderAdapter
,
XMLReader
,
Parser
Constructor and Description |
---|
ParserAdapter()
Construct a new parser adapter.
|
ParserAdapter(Parser parser)
Construct a new parser adapter.
|
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.
|
public ParserAdapter() throws SAXException
Use the "org.xml.sax.parser" property to locate the embedded SAX1 driver.
SAXException
- If the embedded driver
cannot be instantiated or if the
org.xml.sax.parser property is not specified.public ParserAdapter(Parser parser)
Note that the embedded parser cannot be changed once the adapter is created; to embed a different parser, allocate a new ParserAdapter.
parser
- The SAX1 parser to embed.NullPointerException
- If the parser parameter
is null.public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
The only features recognized are namespaces and namespace-prefixes.
setFeature
in interface XMLReader
name
- The feature name, as a complete URI.value
- The requested feature value.SAXNotRecognizedException
- If the feature
can't be assigned or retrieved.SAXNotSupportedException
- If the feature
can't be assigned that value.XMLReader.setFeature(java.lang.String, boolean)
public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
The only features recognized are namespaces and namespace-prefixes.
getFeature
in interface XMLReader
name
- The feature name, as a complete URI.SAXNotRecognizedException
- If the feature
value can't be assigned or retrieved.SAXNotSupportedException
- If the
feature is not currently readable.XMLReader.setFeature(java.lang.String, boolean)
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
No properties are currently recognized.
setProperty
in interface XMLReader
name
- The property name.value
- The property value.SAXNotRecognizedException
- If the property
value can't be assigned or retrieved.SAXNotSupportedException
- If the property
can't be assigned that value.XMLReader.setProperty(java.lang.String, java.lang.Object)
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
No properties are currently recognized.
getProperty
in interface XMLReader
name
- The property name.SAXNotRecognizedException
- If the property
value can't be assigned or retrieved.SAXNotSupportedException
- If the property
value is not currently readable.XMLReader.getProperty(java.lang.String)
public void setEntityResolver(EntityResolver resolver)
setEntityResolver
in interface XMLReader
resolver
- The new entity resolver.XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
public EntityResolver getEntityResolver()
getEntityResolver
in interface XMLReader
XMLReader.getEntityResolver()
public void setDTDHandler(DTDHandler handler)
setDTDHandler
in interface XMLReader
handler
- the new DTD handlerXMLReader.setEntityResolver(org.xml.sax.EntityResolver)
public DTDHandler getDTDHandler()
getDTDHandler
in interface XMLReader
XMLReader.getEntityResolver()
public void setContentHandler(ContentHandler handler)
setContentHandler
in interface XMLReader
handler
- the new content handlerXMLReader.setEntityResolver(org.xml.sax.EntityResolver)
public ContentHandler getContentHandler()
getContentHandler
in interface XMLReader
XMLReader.getEntityResolver()
public void setErrorHandler(ErrorHandler handler)
setErrorHandler
in interface XMLReader
handler
- The new error handler.XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
public ErrorHandler getErrorHandler()
getErrorHandler
in interface XMLReader
XMLReader.getEntityResolver()
public void parse(String systemId) throws IOException, SAXException
parse
in interface XMLReader
systemId
- The absolute URL of the document.IOException
- If there is a problem reading
the raw content of the document.SAXException
- If there is a problem
processing the document.parse(org.xml.sax.InputSource)
,
Parser.parse(java.lang.String)
public void parse(InputSource input) throws IOException, SAXException
parse
in interface XMLReader
input
- An input source for the document.IOException
- If there is a problem reading
the raw content of the document.SAXException
- If there is a problem
processing the document.parse(java.lang.String)
,
Parser.parse(org.xml.sax.InputSource)
public void setDocumentLocator(Locator locator)
setDocumentLocator
in interface DocumentHandler
locator
- A document locator.ContentHandler.setDocumentLocator(org.xml.sax.Locator)
public void startDocument() throws SAXException
startDocument
in interface DocumentHandler
SAXException
- The client may raise a
processing exception.DocumentHandler.startDocument()
public void endDocument() throws SAXException
endDocument
in interface DocumentHandler
SAXException
- The client may raise a
processing exception.DocumentHandler.endDocument()
public void startElement(String qName, AttributeList qAtts) throws SAXException
If necessary, perform Namespace processing.
startElement
in interface DocumentHandler
qName
- The qualified (prefixed) name.qAtts
- The XML attribute list (with qnames).SAXException
- The client may raise a
processing exception.DocumentHandler.endElement(java.lang.String)
,
AttributeList
public void endElement(String qName) throws SAXException
endElement
in interface DocumentHandler
qName
- The qualified (prefixed) name.SAXException
- The client may raise a
processing exception.DocumentHandler.endElement(java.lang.String)
public void characters(char[] ch, int start, int length) throws SAXException
characters
in interface DocumentHandler
ch
- An array of characters.start
- The starting position in the array.length
- The number of characters to use.SAXException
- The client may raise a
processing exception.DocumentHandler.characters(char[], int, int)
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
ignorableWhitespace
in interface DocumentHandler
ch
- An array of characters.start
- The starting position in the array.length
- The number of characters to use.SAXException
- The client may raise a
processing exception.DocumentHandler.ignorableWhitespace(char[], int, int)
public void processingInstruction(String target, String data) throws SAXException
processingInstruction
in interface DocumentHandler
target
- The processing instruction target.data
- The remainder of the processing instructionSAXException
- The client may raise a
processing exception.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, 2019, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.