Class Poco::XML::XMLFilterImpl
Author: Applied Informatics Software Engineering GmbH and Contributors
Date: 2009-11-24

# Poco::XML

# class XMLFilterImpl

Library: XML
Package: SAX
Header: Poco/SAX/XMLFilterImpl.h

## Description

Base class for deriving an XML filter.

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.

## Inheritance

Direct Base Classes: XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler

All Base Classes: ContentHandler, DTDHandler, EntityResolver, ErrorHandler, XMLFilter, XMLReader

Known Derived Classes: WhitespaceFilter

## Member Summary

Member Functions: characters, endDocument, endElement, endPrefixMapping, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, parent, parse, parseMemoryNP, processingInstruction, releaseInputSource, resolveEntity, setContentHandler, setDTDHandler, setDocumentLocator, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, setupParse, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning

Inherited Functions: characters, endDocument, endElement, endPrefixMapping, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, parse, parseMemoryNP, processingInstruction, releaseInputSource, resolveEntity, setContentHandler, setDTDHandler, setDocumentLocator, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning

## Constructors

### XMLFilterImpl

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.

### XMLFilterImpl

XMLFilterImpl(
XMLReader * pParent
);

Construct an XML filter with the specified parent.

## Destructor

### ~XMLFilterImpl

~XMLFilterImpl();

Destroys the XMLFilterImpl.

## Member Functions

### characters

void characters(
const XMLChar ch[],
int start,
int length
);

See also: Poco::XML::ContentHandler::characters()

### endDocument

void endDocument();

See also: Poco::XML::ContentHandler::endDocument()

### endElement

void endElement(
const XMLString & uri,
const XMLString & localName,
const XMLString & qname
);

See also: Poco::XML::ContentHandler::endElement()

### endPrefixMapping

void endPrefixMapping(
const XMLString & prefix
);

See also: Poco::XML::ContentHandler::endPrefixMapping()

### error

void error(
const SAXException & e
);

See also: Poco::XML::ErrorHandler::error()

### fatalError

void fatalError(
const SAXException & e
);

See also: Poco::XML::ErrorHandler::fatalError()

### getContentHandler

ContentHandler * getContentHandler() const;

See also: Poco::XML::XMLReader::getContentHandler()

### getDTDHandler

DTDHandler * getDTDHandler() const;

See also: Poco::XML::XMLReader::getDTDHandler()

### getEntityResolver

EntityResolver * getEntityResolver() const;

See also: Poco::XML::XMLReader::getEntityResolver()

### getErrorHandler

ErrorHandler * getErrorHandler() const;

See also: Poco::XML::XMLReader::getErrorHandler()

### getFeature

bool getFeature(
const XMLString & featureId
) const;

See also: Poco::XML::XMLReader::getFeature()

### getParent

XMLReader * getParent() const;

See also: Poco::XML::XMLFilter::getParent()

### getProperty

void * getProperty(
const XMLString & propertyId
) const;

See also: Poco::XML::XMLReader::getProperty()

### ignorableWhitespace

void ignorableWhitespace(
const XMLChar ch[],
int start,
int length
);

See also: Poco::XML::ContentHandler::ignorableWhitespace()

### notationDecl

void notationDecl(
const XMLString & name,
const XMLString * publicId,
const XMLString * systemId
);

See also: Poco::XML::DTDHandler::notationDecl()

### parse

void parse(
InputSource * pSource
);

See also: Poco::XML::XMLReader::parse()

### parse

void parse(
const XMLString & systemId
);

See also: Poco::XML::XMLReader::parse()

### parseMemoryNP

void parseMemoryNP(
const char * xml,
std::size_t size
);

See also: Poco::XML::XMLReader::parseMemoryNP()

### processingInstruction

void processingInstruction(
const XMLString & target,
const XMLString & data
);

See also: Poco::XML::ContentHandler::processingInstruction()

### releaseInputSource

void releaseInputSource(
InputSource * pSource
);

See also: Poco::XML::EntityResolver::releaseInputSource()

### resolveEntity

InputSource * resolveEntity(
const XMLString * publicId,
const XMLString & systemId
);

See also: Poco::XML::EntityResolver::resolveEntity()

### setContentHandler

void setContentHandler(
ContentHandler * pContentHandler
);

See also: Poco::XML::XMLReader::setContentHandler()

### setDTDHandler

void setDTDHandler(
DTDHandler * pDTDHandler
);

See also: Poco::XML::XMLReader::setDTDHandler()

### setDocumentLocator

void setDocumentLocator(
const Locator * loc
);

See also: Poco::XML::ContentHandler::setDocumentLocator()

### setEntityResolver

void setEntityResolver(
EntityResolver * pResolver
);

See also: Poco::XML::XMLReader::setEntityResolver()

### setErrorHandler

void setErrorHandler(
ErrorHandler * pErrorHandler
);

See also: Poco::XML::XMLReader::setErrorHandler()

### setFeature

void setFeature(
const XMLString & featureId,
bool state
);

See also: Poco::XML::XMLReader::setFeature()

### setParent

void setParent(
XMLReader * pParent
);

See also: Poco::XML::XMLFilter::setParent()

### setProperty

void setProperty(
const XMLString & propertyId,
const XMLString & value
);

See also: Poco::XML::XMLReader::setProperty()

### setProperty

void setProperty(
const XMLString & propertyId,
void * value
);

See also: Poco::XML::XMLReader::setProperty()

### skippedEntity

void skippedEntity(
const XMLString & prefix
);

See also: Poco::XML::ContentHandler::skippedEntity()

### startDocument

void startDocument();

See also: Poco::XML::ContentHandler::startDocument()

### startElement

void startElement(
const XMLString & uri,
const XMLString & localName,
const XMLString & qname,
const Attributes & attrList
);

See also: Poco::XML::ContentHandler::startElement()

### startPrefixMapping

void startPrefixMapping(
const XMLString & prefix,
const XMLString & uri
);

See also: Poco::XML::ContentHandler::startPrefixMapping()

### unparsedEntityDecl

void unparsedEntityDecl(
const XMLString & name,
const XMLString * publicId,
const XMLString & systemId,
const XMLString & notationName
);

See also: Poco::XML::DTDHandler::unparsedEntityDecl()

### warning

void warning(
const SAXException & e
);

See also: Poco::XML::ErrorHandler::warning()

### parent

XMLReader * parent() const;

Return a pointer to the parent reader. Subclasses can use this method instead of getParent() for better performance - this method is non-virtual and implemented as inline.

### setupParse

virtual void setupParse();

Setup the event handlers in the parent reader.