Poco::XML

class DOMParser

Library: XML
Package: DOM
Header: Poco/DOM/DOMParser.h

Description

This is a convenience class that combines a DOMBuilder with a SAXParser, with the optional support of a WhitespaceFilter.

Member Summary

Member Functions: addEncoding, getEncoding, getEntityResolver, getFeature, parse, parseMemory, parseString, setEncoding, setEntityResolver, setFeature

Constructors

DOMParser

explicit DOMParser(
    NamePool * pNamePool = 0
);

Creates a new DOMParser. If a NamePool is given, it becomes the Document's NamePool.

DOMParser

explicit DOMParser(
    unsigned long namePoolSize
);

Creates a new DOMParser, using the given NamePool size.

The given namePoolSize should be a suitable prime number, e.g. 251, 509, 1021 or 4093, depending on the expected size of the document.

Destructor

~DOMParser

~DOMParser();

Destroys the DOMParser.

Member Functions

addEncoding

void addEncoding(
    const XMLString & name,
    Poco::TextEncoding * pEncoding
);

Adds an encoding to the parser.

getEncoding

const XMLString & getEncoding() const;

Returns the name of the encoding used by the parser if no encoding is specified in the XML document.

getEntityResolver

EntityResolver * getEntityResolver() const;

Returns the entity resolver used by the underlying SAXParser.

getFeature

bool getFeature(
    const XMLString & name
) const;

Look up the value of a feature.

If a feature is not recognized by the DOMParser, the DOMParser queries the underlying SAXParser for the feature.

parse

Document * parse(
    const XMLString & uri
);

Parse an XML document from a location identified by an URI.

parse

Document * parse(
    InputSource * pInputSource
);

Parse an XML document from a location identified by an InputSource.

parseMemory

Document * parseMemory(
    const char * xml,
    std::size_t size
);

Parse an XML document from memory.

parseString

Document * parseString(
    const std::string & xml
);

Parse an XML document from a string.

setEncoding

void setEncoding(
    const XMLString & encoding
);

Sets the encoding used by the parser if no encoding is specified in the XML document.

setEntityResolver

void setEntityResolver(
    EntityResolver * pEntityResolver
);

Sets the entity resolver on the underlying SAXParser.

setFeature

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

Set the state of a feature.

If a feature is not recognized by the DOMParser, it is passed on to the underlying XMLReader.

The only currently supported feature is http://www.appinf.com/features/no-whitespace-in-element-content which, when activated, causes the WhitespaceFilter to be used.

Variables

FEATURE_FILTER_WHITESPACE static

static const XMLString FEATURE_FILTER_WHITESPACE;