class CCL::XmlContentParser

Overview

Basic XML content parser implementation. More…

#include <xmlcontentparser.h>

class XmlContentParser:
    public CCL::Unknown,
    public CCL::IXmlContentHandler
{
public:
    // fields

     IXmlContentHandler;

    // construction

    XmlContentParser (bool parseNamespaces = false);

    // methods

    bool parse (IStream& stream);
    bool parse (UrlRef path);
    StringRef getErrorMessage () const;
    void setSilentOnErrors (tbool state);

    virtual tresult CCL_API startElement (
        StringRef name,
        const IStringDictionary& attributes
    );

    virtual tresult CCL_API endElement (StringRef name);

    virtual tresult CCL_API characterData (
        const uchar* data,
        int length,
        tbool isCDATA
    );

    virtual tresult CCL_API processingInstruction (StringRef target, StringRef data);
    virtual tresult CCL_API startNamespace (StringRef prefix, StringRef uri);
    virtual tresult CCL_API endNamespace (StringRef prefix);
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    Unknown& operator = (const Unknown&);
    unsigned int getRetainCount () const;

    virtual tresult CCL_API startElement (
        StringRef name,
        const IStringDictionary& attributes
    ) = 0;

    virtual tresult CCL_API endElement (StringRef name) = 0;

    virtual tresult CCL_API characterData (
        const uchar* data,
        int length,
        tbool isCDATA
    ) = 0;

    virtual tresult CCL_API processingInstruction (StringRef target, StringRef data) = 0;
    virtual tresult CCL_API startNamespace (StringRef prefix, StringRef uri) = 0;
    virtual tresult CCL_API endNamespace (StringRef prefix) = 0;

Detailed Documentation

Basic XML content parser implementation.

Methods

virtual tresult CCL_API startElement (
    StringRef name,
    const IStringDictionary& attributes
)

Notification of the beginning of an element.

A corresponding endElement call will follow.

virtual tresult CCL_API endElement (StringRef name)

Notification of the end of an element.

virtual tresult CCL_API characterData (
    const uchar* data,
    int length,
    tbool isCDATA
)

Notification of character data.

Can be called several times with small chunks of a single entity.

virtual tresult CCL_API processingInstruction (StringRef target, StringRef data)

Notification of processing instruction (<?target data?>).

virtual tresult CCL_API startNamespace (StringRef prefix, StringRef uri)

Called once for each namespace declaration (if namespace processing is enabled).

virtual tresult CCL_API endNamespace (StringRef prefix)

Called once for each namespace declaration (if namespace processing is enabled).