org.xml.sax.helpers

Class XMLFilterImpl

public class XMLFilterImpl extends Object implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler

Base class for deriving an XML filter.
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 is designed to sit between an XMLReader and the client application's event handlers. By default, it does nothing but pass requests up to the reader and events on to the handlers unmodified, but subclasses can override specific methods to modify the event stream or the configuration requests as they pass through.

Since: SAX 2.0

Version: 2.0.1 (sax2r2)

Author: David Megginson

See Also: XMLFilter XMLReader EntityResolver DTDHandler ContentHandler ErrorHandler

Constructor Summary
XMLFilterImpl()
Construct an empty XML filter, with no parent.
XMLFilterImpl(XMLReader parent)
Construct an XML filter with the specified parent.
Method Summary
voidcharacters(char[] ch, int start, int length)
Filter a character data event.
voidendDocument()
Filter an end document event.
voidendElement(String uri, String localName, String qName)
Filter an end element event.
voidendPrefixMapping(String prefix)
Filter an end Namespace prefix mapping event.
voiderror(SAXParseException e)
Filter an error event.
voidfatalError(SAXParseException e)
Filter a fatal error event.
ContentHandlergetContentHandler()
Get the content event handler.
DTDHandlergetDTDHandler()
Get the current DTD event handler.
EntityResolvergetEntityResolver()
Get the current entity resolver.
ErrorHandlergetErrorHandler()
Get the current error event handler.
booleangetFeature(String name)
Look up the value of a feature.
XMLReadergetParent()
Get the parent reader.
ObjectgetProperty(String name)
Look up the value of a property.
voidignorableWhitespace(char[] ch, int start, int length)
Filter an ignorable whitespace event.
voidnotationDecl(String name, String publicId, String systemId)
Filter a notation declaration event.
voidparse(InputSource input)
Parse a document.
voidparse(String systemId)
Parse a document.
voidprocessingInstruction(String target, String data)
Filter a processing instruction event.
InputSourceresolveEntity(String publicId, String systemId)
Filter an external entity resolution.
voidsetContentHandler(ContentHandler handler)
Set the content event handler.
voidsetDocumentLocator(Locator locator)
Filter a new document locator event.
voidsetDTDHandler(DTDHandler handler)
Set the DTD event handler.
voidsetEntityResolver(EntityResolver resolver)
Set the entity resolver.
voidsetErrorHandler(ErrorHandler handler)
Set the error event handler.
voidsetFeature(String name, boolean value)
Set the value of a feature.
voidsetParent(XMLReader parent)
Set the parent reader.
voidsetProperty(String name, Object value)
Set the value of a property.
voidskippedEntity(String name)
Filter a skipped entity event.
voidstartDocument()
Filter a start document event.
voidstartElement(String uri, String localName, String qName, Attributes atts)
Filter a start element event.
voidstartPrefixMapping(String prefix, String uri)
Filter a start Namespace prefix mapping event.
voidunparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Filter an unparsed entity declaration event.
voidwarning(SAXParseException e)
Filter a warning event.

Constructor Detail

XMLFilterImpl

public XMLFilterImpl()
Construct an empty XML filter, with no parent.

This filter will have no parent: you must assign a parent before you start a parse or do any configuration with setFeature or setProperty, unless you use this as a pure event consumer rather than as an XMLReader.

See Also: XMLReader XMLReader XMLFilterImpl

XMLFilterImpl

public XMLFilterImpl(XMLReader parent)
Construct an XML filter with the specified parent.

See Also: XMLFilterImpl XMLFilterImpl

Method Detail

characters

public void characters(char[] ch, int start, int length)
Filter a character data event.

Parameters: ch An array of characters. start The starting position in the array. length The number of characters to use from the array.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

endDocument

public void endDocument()
Filter an end document event.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

endElement

public void endElement(String uri, String localName, String qName)
Filter an end element event.

Parameters: uri The element's Namespace URI, or the empty string. localName The element's local name, or the empty string. qName The element's qualified (prefixed) name, or the empty string.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

endPrefixMapping

public void endPrefixMapping(String prefix)
Filter an end Namespace prefix mapping event.

Parameters: prefix The Namespace prefix.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

error

public void error(SAXParseException e)
Filter an error event.

Parameters: e The error as an exception.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

fatalError

public void fatalError(SAXParseException e)
Filter a fatal error event.

Parameters: e The error as an exception.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

getContentHandler

public ContentHandler getContentHandler()
Get the content event handler.

Returns: The current content handler, or null if none was set.

getDTDHandler

public DTDHandler getDTDHandler()
Get the current DTD event handler.

Returns: The current DTD handler, or null if none was set.

getEntityResolver

public EntityResolver getEntityResolver()
Get the current entity resolver.

Returns: The current entity resolver, or null if none was set.

getErrorHandler

public ErrorHandler getErrorHandler()
Get the current error event handler.

Returns: The current error handler, or null if none was set.

getFeature

public boolean getFeature(String name)
Look up the value of a feature.

This will always fail if the parent is null.

Parameters: name The feature name.

Returns: The current value of the feature.

Throws: org.xml.sax.SAXNotRecognizedException If the feature value can't be assigned or retrieved from the parent. org.xml.sax.SAXNotSupportedException When the parent recognizes the feature name but cannot determine its value at this time.

getParent

public XMLReader getParent()
Get the parent reader.

Returns: The parent XML reader, or null if none is set.

See Also: XMLFilterImpl

getProperty

public Object getProperty(String name)
Look up the value of a property.

Parameters: name The property name.

Returns: The current value of the property.

Throws: org.xml.sax.SAXNotRecognizedException If the property value can't be assigned or retrieved from the parent. org.xml.sax.SAXNotSupportedException When the parent recognizes the property name but cannot determine its value at this time.

ignorableWhitespace

public void ignorableWhitespace(char[] ch, int start, int length)
Filter an ignorable whitespace event.

Parameters: ch An array of characters. start The starting position in the array. length The number of characters to use from the array.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

notationDecl

public void notationDecl(String name, String publicId, String systemId)
Filter a notation declaration event.

Parameters: name The notation name. publicId The notation's public identifier, or null. systemId The notation's system identifier, or null.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

parse

public void parse(InputSource input)
Parse a document.

Parameters: input The input source for the document entity.

Throws: org.xml.sax.SAXException Any SAX exception, possibly wrapping another exception. java.io.IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.

parse

public void parse(String systemId)
Parse a document.

Parameters: systemId The system identifier as a fully-qualified URI.

Throws: org.xml.sax.SAXException Any SAX exception, possibly wrapping another exception. java.io.IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.

processingInstruction

public void processingInstruction(String target, String data)
Filter a processing instruction event.

Parameters: target The processing instruction target. data The text following the target.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

resolveEntity

public InputSource resolveEntity(String publicId, String systemId)
Filter an external entity resolution.

Parameters: publicId The entity's public identifier, or null. systemId The entity's system identifier.

Returns: A new InputSource or null for the default.

Throws: org.xml.sax.SAXException The client may throw an exception during processing. java.io.IOException The client may throw an I/O-related exception while obtaining the new InputSource.

setContentHandler

public void setContentHandler(ContentHandler handler)
Set the content event handler.

Parameters: resolver The new content handler.

setDocumentLocator

public void setDocumentLocator(Locator locator)
Filter a new document locator event.

Parameters: locator The document locator.

setDTDHandler

public void setDTDHandler(DTDHandler handler)
Set the DTD event handler.

Parameters: resolver The new DTD handler.

setEntityResolver

public void setEntityResolver(EntityResolver resolver)
Set the entity resolver.

Parameters: resolver The new entity resolver.

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
Set the error event handler.

Parameters: handle The new error handler.

setFeature

public void setFeature(String name, boolean value)
Set the value of a feature.

This will always fail if the parent is null.

Parameters: name The feature name. value The requested feature value.

Throws: org.xml.sax.SAXNotRecognizedException If the feature value can't be assigned or retrieved from the parent. org.xml.sax.SAXNotSupportedException When the parent recognizes the feature name but cannot set the requested value.

setParent

public void setParent(XMLReader parent)
Set the parent reader.

This is the XMLReader from which this filter will obtain its events and to which it will pass its configuration requests. The parent may itself be another filter.

If there is no parent reader set, any attempt to parse or to set or get a feature or property will fail.

Parameters: parent The parent XML reader.

See Also: XMLFilterImpl

setProperty

public void setProperty(String name, Object value)
Set the value of a property.

This will always fail if the parent is null.

Parameters: name The property name. value The requested property value.

Throws: org.xml.sax.SAXNotRecognizedException If the property value can't be assigned or retrieved from the parent. org.xml.sax.SAXNotSupportedException When the parent recognizes the property name but cannot set the requested value.

skippedEntity

public void skippedEntity(String name)
Filter a skipped entity event.

Parameters: name The name of the skipped entity.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

startDocument

public void startDocument()
Filter a start document event.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

startElement

public void startElement(String uri, String localName, String qName, Attributes atts)
Filter a start element event.

Parameters: uri The element's Namespace URI, or the empty string. localName The element's local name, or the empty string. qName The element's qualified (prefixed) name, or the empty string. atts The element's attributes.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

startPrefixMapping

public void startPrefixMapping(String prefix, String uri)
Filter a start Namespace prefix mapping event.

Parameters: prefix The Namespace prefix. uri The Namespace URI.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

unparsedEntityDecl

public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Filter an unparsed entity declaration event.

Parameters: name The entity name. publicId The entity's public identifier, or null. systemId The entity's system identifier, or null. notationName The name of the associated notation.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.

warning

public void warning(SAXParseException e)
Filter a warning event.

Parameters: e The warning as an exception.

Throws: org.xml.sax.SAXException The client may throw an exception during processing.