class Poco::XML::XMLFilter

Overview

Interface for an XML filter. Moreā€¦

#include <XMLFilter.h>

class XMLFilter: public Poco::XML::XMLReader
{
public:
    // methods

    virtual
    XMLReader*
    getParent() const = 0;

    virtual
    void
    setParent(XMLReader* pParent) = 0;
};

// direct descendants

class XMLFilterImpl;

Inherited Members

public:
    // fields

    static const XMLString FEATURE_VALIDATION;
    static const XMLString FEATURE_NAMESPACES;
    static const XMLString FEATURE_NAMESPACE_PREFIXES;
    static const XMLString FEATURE_EXTERNAL_GENERAL_ENTITIES;
    static const XMLString FEATURE_EXTERNAL_PARAMETER_ENTITIES;
    static const XMLString FEATURE_STRING_INTERNING;
    static const XMLString PROPERTY_DECLARATION_HANDLER;
    static const XMLString PROPERTY_LEXICAL_HANDLER;

    // methods

    virtual
    void
    setEntityResolver(EntityResolver* pResolver) = 0;

    virtual
    EntityResolver*
    getEntityResolver() const = 0;

    virtual
    void
    setDTDHandler(DTDHandler* pDTDHandler) = 0;

    virtual
    DTDHandler*
    getDTDHandler() const = 0;

    virtual
    void
    setContentHandler(ContentHandler* pContentHandler) = 0;

    virtual
    ContentHandler*
    getContentHandler() const = 0;

    virtual
    void
    setErrorHandler(ErrorHandler* pErrorHandler) = 0;

    virtual
    ErrorHandler*
    getErrorHandler() const = 0;

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

    virtual
    bool
    getFeature(const XMLString& featureId) const = 0;

    virtual
    void
    setProperty(
        const XMLString& propertyId,
        const XMLString& value
        ) = 0;

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

    virtual
    void*
    getProperty(const XMLString& propertyId) const = 0;

    virtual
    void
    parse(InputSource* pSource) = 0;

    virtual
    void
    parse(const XMLString& systemId) = 0;

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

Detailed Documentation

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.

Methods

virtual
XMLReader*
getParent() const = 0

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.

virtual
void
setParent(XMLReader* pParent) = 0

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.