public class XMLReaderAdapter extends Object implements Parser, ContentHandler
Adapt a SAX2 XMLReader as a SAX1 Parser.
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.
public XMLReaderAdapter() throws SAXException
Create a new adapter.
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(XMLReader xmlReader)
Create a new adapter.
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(Locale locale) throws SAXException
Set the locale for error reporting.
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(EntityResolver resolver)
Register the entity resolver.
setEntityResolver
in interface Parser
resolver
- The new resolver.Parser.setEntityResolver(org.xml.sax.EntityResolver)
public void setDTDHandler(DTDHandler handler)
Register the DTD event handler.
setDTDHandler
in interface Parser
handler
- The new DTD event handler.Parser.setDTDHandler(org.xml.sax.DTDHandler)
public void setDocumentHandler(DocumentHandler handler)
Register the SAX1 document event handler.
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(ErrorHandler handler)
Register the error event handler.
setErrorHandler
in interface Parser
handler
- The new error event handler.Parser.setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(String systemId) throws IOException, SAXException
Parse the document.
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(InputSource input) throws IOException, SAXException
Parse the document.
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(Locator locator)
Set a document locator.
setDocumentLocator
in interface ContentHandler
locator
- The document locator.ContentHandler.setDocumentLocator(org.xml.sax.Locator)
public void startDocument() throws SAXException
Start document event.
startDocument
in interface ContentHandler
SAXException
- The client may raise a processing exception.ContentHandler.startDocument()
public void endDocument() throws SAXException
End document event.
endDocument
in interface ContentHandler
SAXException
- The client may raise a processing exception.ContentHandler.endDocument()
public void startPrefixMapping(String prefix, String uri)
Adapt a SAX2 start prefix mapping event.
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(String prefix)
Adapt a SAX2 end prefix mapping event.
endPrefixMapping
in interface ContentHandler
prefix
- The prefix being mapped.ContentHandler.endPrefixMapping(java.lang.String)
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException
Adapt a SAX2 start element event.
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(String uri, String localName, String qName) throws SAXException
Adapt a SAX2 end element event.
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
Adapt a SAX2 characters event.
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
Adapt a SAX2 ignorable whitespace event.
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(String target, String data) throws SAXException
Adapt a SAX2 processing instruction event.
processingInstruction
in interface ContentHandler
target
- The processing instruction target.data
- The remainder of the processing instructionSAXException
- The client may raise a processing exception.ContentHandler.processingInstruction(java.lang.String, java.lang.String)
public void skippedEntity(String name) throws SAXException
Adapt a SAX2 skipped entity event.
skippedEntity
in interface ContentHandler
name
- The name of the skipped entity.SAXException
- Throwable by subclasses.ContentHandler.skippedEntity(java.lang.String)
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.