public class XMLReaderAdapter extends java.lang.Object implements Parser, ContentHandler
This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.
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 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(java.lang.String uri, java.lang.String localName, java.lang.String qName)Adapt a SAX2 end element event. | 
| void | endPrefixMapping(java.lang.String prefix)Adapt a SAX2 end prefix mapping event. | 
| void | ignorableWhitespace(char[] ch, int start, int length)Adapt a SAX2 ignorable whitespace event. | 
| void | parse(InputSource input)Parse the document. | 
| void | parse(java.lang.String systemId)Parse the document. | 
| void | processingInstruction(java.lang.String target, java.lang.String data)Adapt a SAX2 processing instruction event. | 
| void | setDocumentHandler(DocumentHandler handler)Register the SAX1 document event handler. | 
| void | setDocumentLocator(Locator locator)Set a document locator. | 
| void | setDTDHandler(DTDHandler handler)Register the DTD event handler. | 
| void | setEntityResolver(EntityResolver resolver)Register the entity resolver. | 
| void | setErrorHandler(ErrorHandler handler)Register the error event handler. | 
| void | setLocale(java.util.Locale locale)Set the locale for error reporting. | 
| void | skippedEntity(java.lang.String name)Adapt a SAX2 skipped entity event. | 
| void | startDocument()Start document event. | 
| void | startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, Attributes atts)Adapt a SAX2 start element event. | 
| void | startPrefixMapping(java.lang.String prefix, java.lang.String uri)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(XMLReader xmlReader)
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.java.lang.NullPointerException - If the argument is null.public void setLocale(java.util.Locale locale)
               throws SAXException
This is not supported in SAX2, and will always throw an exception.
setLocale in interface Parserlocale - The locale for error reporting.SAXException - Throws an exception (using the previous or default locale) if the requested locale is not supported.Parser.setLocale(java.util.Locale)public void setEntityResolver(EntityResolver resolver)
setEntityResolver in interface Parserresolver - The new resolver.Parser.setEntityResolver(org.xml.sax.EntityResolver)public void setDTDHandler(DTDHandler handler)
setDTDHandler in interface Parserhandler - The new DTD event handler.Parser.setDTDHandler(org.xml.sax.DTDHandler)public void setDocumentHandler(DocumentHandler handler)
Note that the SAX1 document handler has no Namespace support.
setDocumentHandler in interface Parserhandler - The new SAX1 document event handler.Parser.setDocumentHandler(org.xml.sax.DocumentHandler)public void setErrorHandler(ErrorHandler handler)
setErrorHandler in interface Parserhandler - The new error event handler.Parser.setErrorHandler(org.xml.sax.ErrorHandler)public void parse(java.lang.String systemId)
           throws java.io.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 ParsersystemId - The absolute URL of the document.java.io.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 java.io.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 Parserinput - An input source for the document.java.io.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 ContentHandlerlocator - The document locator.ContentHandler.setDocumentLocator(org.xml.sax.Locator)public void startDocument()
                   throws SAXException
startDocument in interface ContentHandlerSAXException - The client may raise a processing exception.ContentHandler.startDocument()public void endDocument()
                 throws SAXException
endDocument in interface ContentHandlerSAXException - The client may raise a processing exception.ContentHandler.endDocument()public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
startPrefixMapping in interface ContentHandlerprefix - The prefix being mapped.uri - The Namespace URI being mapped to.ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)public void endPrefixMapping(java.lang.String prefix)
endPrefixMapping in interface ContentHandlerprefix - The prefix being mapped.ContentHandler.endPrefixMapping(java.lang.String)public void startElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String qName,
                         Attributes atts)
                  throws SAXException
startElement in interface ContentHandleruri - 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(java.lang.String uri,
                       java.lang.String localName,
                       java.lang.String qName)
                throws SAXException
endElement in interface ContentHandleruri - 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 ContentHandlerch - 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 ContentHandlerch - 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(java.lang.String target,
                                  java.lang.String data)
                           throws SAXException
processingInstruction in interface ContentHandlertarget - 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(java.lang.String name)
                   throws SAXException
skippedEntity in interface ContentHandlername - The name of the skipped entity.SAXException - Any SAX exception, possibly wrapping another exception.ContentHandler.skippedEntity(java.lang.String)