public class XMLReaderAdapter extends Objectimplements Parser , ContentHandler
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 SAX2 XMLReader and makes it act as a SAX1 Parser. The XMLReader must support a true value for the http://xml.org/sax/features/namespace-prefixes property or parsing will fail with a SAXException; if the XMLReader supports a false value for the http://xml.org/sax/features/namespaces property, that will also be used to improve efficiency.
| Constructor and Description |
|---|
XMLReaderAdapter()
Create a new adapter.
|
XMLReaderAdapter(XMLReader
Create a new adapter.
|
| Modifier and Type | Method and Description |
|---|---|
void |
characters(char[] ch, int start, int length)
Adapt a SAX2 characters event.
|
void |
endDocument()
End document event.
|
void |
endElement(String
Adapt a SAX2 end element event.
|
void |
endPrefixMapping(String
Adapt a SAX2 end prefix mapping event.
|
void |
ignorableWhitespace(char[] ch, int start, int length)
Adapt a SAX2 ignorable whitespace event.
|
void |
parse(InputSource
Parse the document.
|
void |
parse(String
Parse the document.
|
void |
processingInstruction(String
Adapt a SAX2 processing instruction event.
|
void |
setDocumentHandler(DocumentHandler
Register the SAX1 document event handler.
|
void |
setDocumentLocator(Locator
Set a document locator.
|
void |
setDTDHandler(DTDHandler
Register the DTD event handler.
|
void |
setEntityResolver(EntityResolver
Register the entity resolver.
|
void |
setErrorHandler(ErrorHandler
Register the error event handler.
|
void |
setLocale(Locale
Set the locale for error reporting.
|
void |
skippedEntity(String
Adapt a SAX2 skipped entity event.
|
void |
startDocument()
Start document event.
|
void |
startElement(String
Adapt a SAX2 start element event.
|
void |
startPrefixMapping(String
Adapt a SAX2 start prefix mapping event.
|
public XMLReaderAdapter()
throws SAXException
Use the "org.xml.sax.driver" property to locate the SAX2 driver to embed.
SAXException - If the embedded driver cannot be instantiated or if the org.xml.sax.driver property is not specified.
public XMLReaderAdapter(XMLReaderxmlReader)
Create a new adapter, wrapped around a SAX2 XMLReader. The adapter will make the XMLReader act like a SAX1 Parser.
xmlReader - The SAX2 XMLReader to wrap.
NullPointerException - If the argument is null.
public void setLocale(Localelocale) throws SAXException
This is not supported in SAX2, and will always throw an exception.
setLocale in interface
Parser
locale - the locale for error reporting.
SAXException - Thrown unless overridden.
Parser.setLocale(java.util.Locale)
public void setEntityResolver(EntityResolverresolver)
setEntityResolver in interface
Parser
resolver - The new resolver.
Parser.setEntityResolver(org.xml.sax.EntityResolver)
public void setDTDHandler(DTDHandlerhandler)
setDTDHandler in interface
Parser
handler - The new DTD event handler.
Parser.setDTDHandler(org.xml.sax.DTDHandler)
public void setDocumentHandler(DocumentHandlerhandler)
Note that the SAX1 document handler has no Namespace support.
setDocumentHandler in interface
Parser
handler - The new SAX1 document event handler.
Parser.setDocumentHandler(org.xml.sax.DocumentHandler)
public void setErrorHandler(ErrorHandlerhandler)
setErrorHandler in interface
Parser
handler - The new error event handler.
Parser.setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(StringsystemId) throws IOException , SAXException
This method will throw an exception if the embedded XMLReader does not support the http://xml.org/sax/features/namespace-prefixes property.
parse in interface
Parser
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(InputSourceinput) throws IOException , SAXException
This method will throw an exception if the embedded XMLReader does not support the http://xml.org/sax/features/namespace-prefixes property.
parse in interface
Parser
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(Locatorlocator)
setDocumentLocator in interface
ContentHandler
locator - The document locator.
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
public void startDocument()
throws SAXException
startDocument in interface
ContentHandler
SAXException - The client may raise a processing exception.
ContentHandler.startDocument()
public void endDocument()
throws SAXException
endDocument in interface
ContentHandler
SAXException - The client may raise a processing exception.
ContentHandler.endDocument()
public void startPrefixMapping(Stringprefix, String uri)
startPrefixMapping in interface
ContentHandler
prefix - The prefix being mapped.
uri - The Namespace URI being mapped to.
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
public void endPrefixMapping(Stringprefix)
endPrefixMapping in interface
ContentHandler
prefix - The prefix being mapped.
ContentHandler.endPrefixMapping(java.lang.String)
public void startElement(Stringuri, String localName, String qName, Attributes atts) throws SAXException
startElement in interface
ContentHandler
uri - The Namespace URI.
localName - The Namespace local name.
qName - The qualified (prefixed) name.
atts - The SAX2 attributes.
SAXException - The client may raise a processing exception.
ContentHandler.endDocument()
public void endElement(Stringuri, String localName, String qName) throws SAXException
endElement in interface
ContentHandler
uri - The Namespace URI.
localName - The Namespace local name.
qName - The qualified (prefixed) name.
SAXException - The client may raise a processing exception.
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
public void characters(char[] ch,
int start,
int length)
throws SAXException
characters in interface
ContentHandler
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.
ContentHandler.characters(char[], int, int)
public void ignorableWhitespace(char[] ch,
int start,
int length)
throws SAXException
ignorableWhitespace in interface
ContentHandler
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.
ContentHandler.ignorableWhitespace(char[], int, int)
public void processingInstruction(Stringtarget, String data) throws SAXException
processingInstruction in interface
ContentHandler
target - The processing instruction target.
data - The remainder of the processing instruction
SAXException - The client may raise a processing exception.
ContentHandler.processingInstruction(java.lang.String, java.lang.String)
public void skippedEntity(Stringname) throws SAXException
skippedEntity in interface
ContentHandler
name - The name of the skipped entity.
SAXException - Throwable by subclasses.
ContentHandler.skippedEntity(java.lang.String)