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 Constructor Summary
XMLReaderAdapter()
Create a new adapter.
|
|
Public Method Summary
void |
characters(char[] ch, int start, int length)
Adapt a SAX2 characters event.
|
void |
endDocument()
End document event.
|
void | |
void | |
void |
ignorableWhitespace(char[] ch, int start, int length)
Adapt a SAX2 ignorable whitespace event.
|
void | |
void | |
void | |
void | |
void | |
void | |
void | |
void | |
void | |
void | |
void |
startDocument()
Start document event.
|
void |
startElement(String uri, String localName, String qName, Attributes atts)
Adapt a SAX2 start element event.
|
void |
Inherited Method Summary
Public Constructors
public XMLReaderAdapter ()
Create a new adapter.
Use the "org.xml.sax.driver" property to locate the SAX2 driver to embed.
Throws
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.
Parameters
xmlReader | The SAX2 XMLReader to wrap. |
---|
Throws
NullPointerException | If the argument is null. |
---|
Public Methods
public void characters (char[] ch, int start, int length)
Adapt a SAX2 characters event.
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. |
---|
public void endDocument ()
public void endElement (String uri, String localName, String qName)
Adapt a SAX2 end element event.
Parameters
uri | The Namespace URI. |
---|---|
localName | The Namespace local name. |
qName | The qualified (prefixed) name. |
Throws
SAXException | The client may raise a processing exception. |
---|
public void endPrefixMapping (String prefix)
Adapt a SAX2 end prefix mapping event.
Parameters
prefix | The prefix being mapped. |
---|
public void ignorableWhitespace (char[] ch, int start, int length)
Adapt a SAX2 ignorable whitespace event.
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. |
---|
public void parse (InputSource input)
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.
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. |
public void parse (String systemId)
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.
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. |
public void processingInstruction (String target, String data)
Adapt a SAX2 processing instruction event.
Parameters
target | The processing instruction target. |
---|---|
data | The remainder of the processing instruction |
Throws
SAXException | The client may raise a processing exception. |
---|
public void setDTDHandler (DTDHandler handler)
Register the DTD event handler.
Parameters
handler | The new DTD event handler. |
---|
See Also
public void setDocumentHandler (DocumentHandler handler)
Register the SAX1 document event handler.
Note that the SAX1 document handler has no Namespace support.
Parameters
handler | The new SAX1 document event handler. |
---|
public void setDocumentLocator (Locator locator)
Set a document locator.
Parameters
locator | The document locator. |
---|
public void setEntityResolver (EntityResolver resolver)
Register the entity resolver.
Parameters
resolver | The new resolver. |
---|
public void setErrorHandler (ErrorHandler handler)
Register the error event handler.
Parameters
handler | The new error event handler. |
---|
See Also
public void setLocale (Locale locale)
Set the locale for error reporting.
This is not supported in SAX2, and will always throw an exception.
Parameters
locale | the locale for error reporting. |
---|
Throws
SAXException | Thrown unless overridden. |
---|
See Also
public void skippedEntity (String name)
Adapt a SAX2 skipped entity event.
Parameters
name | The name of the skipped entity. |
---|
Throws
SAXException | Throwable by subclasses. |
---|
See Also
public void startDocument ()
public void startElement (String uri, String localName, String qName, Attributes atts)
Adapt a SAX2 start element event.
Parameters
uri | The Namespace URI. |
---|---|
localName | The Namespace local name. |
qName | The qualified (prefixed) name. |
atts | The SAX2 attributes. |
Throws
SAXException | The client may raise a processing exception. |
---|