# Interface XMLFilter

All Superinterfaces:
  `XMLReader`

All Known Implementing Classes:
  `XMLFilterImpl`

public interface XMLFilter extends XMLReader
Interface for an XML filter.

An XML filter is like an XML reader, except that it obtains its events from another XML reader rather than a primary source like an XML document or database. Filters can modify a stream of events as they pass on to the final application.

The XMLFilterImpl helper class provides a convenient base for creating SAX2 filters, by passing on all `EntityResolver`, `DTDHandler`, `ContentHandler` and `ErrorHandler` events automatically.

Since:
  1.4, SAX 2.0
See Also:
  - `XMLFilterImpl`

## Method Summary

Modifier and Type
Method
Description
`XMLReader`
`getParent()`
Get the parent reader.
`void`
`setParent(XMLReader parent)`
Set the parent reader.

### Methods declared in interface XMLReader

`getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getProperty, parse, parse, setContentHandler, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setProperty`
Modifier and Type
Method
Description
`ContentHandler`
`getContentHandler()`
Return the current content handler.
`DTDHandler`
`getDTDHandler()`
Return the current DTD handler.
`EntityResolver`
`getEntityResolver()`
Return the current entity resolver.
`ErrorHandler`
`getErrorHandler()`
Return the current error handler.
`boolean`
`getFeature(String name)`
Look up the value of a feature flag.
`Object`
`getProperty(String name)`
Look up the value of a property.
`void`
`parse(String systemId)`
Parse an XML document from a system identifier (URI).
`void`
`parse(InputSource input)`
Parse an XML document.
`void`
`setContentHandler(ContentHandler handler)`
Allow an application to register a content event handler.
`void`
`setDTDHandler(DTDHandler handler)`
Allow an application to register a DTD event handler.
`void`
`setEntityResolver(EntityResolver resolver)`
Allow an application to register an entity resolver.
`void`
`setErrorHandler(ErrorHandler handler)`
Allow an application to register an error event handler.
`void`
`setFeature(String name, boolean value)`
Set the value of a feature flag.
`void`
`setProperty(String name, Object value)`
Set the value of a property.

## Method Details

### setParent

void setParent(XMLReader parent)
Set the parent reader.

This method allows the application to link the filter to a parent reader (which may be another filter). The argument may not be null.

Parameters:
  `parent` - The parent reader.

### getParent

XMLReader getParent()
Get the parent reader.

This method allows the application to query the parent reader (which may be another filter). It is generally a bad idea to perform any operations on the parent reader directly: they should all pass through this filter.

Returns:
  The parent filter, or null if none has been set.