xmlparser.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __XMLPARSER_H__
00024 #define __XMLPARSER_H__
00025
00026
00027 #include <iostream>
00028
00029 #include "dll.h"
00030 #include "a_common.h"
00031
00032 namespace Barry {
00033
00034 namespace XML {
00035
00036
00037 class BXEXPORT XMLParser : public xmlpp::SaxParser
00038 {
00039 public:
00040 XMLParser(std::istream& input, const char *charset="UTF-8");
00041 virtual ~XMLParser(void);
00042
00043 virtual bool Run(void);
00044 virtual const unsigned long GetDepth(void) const;
00045
00046 protected:
00047 std::string charset;
00048 std::istream& input;
00049 unsigned long depth;
00050
00051
00052 virtual void on_start_document();
00053 virtual void on_end_document();
00054 virtual void on_start_element(const Glib::ustring& name,
00055 const xmlpp::SaxParser::AttributeList& properties);
00056 virtual void on_end_element(const Glib::ustring& name);
00057 virtual void on_characters(const Glib::ustring& characters);
00058 virtual void on_comment(const Glib::ustring& text);
00059 virtual void on_warning(const Glib::ustring& text);
00060 virtual void on_error(const Glib::ustring& text);
00061 virtual void on_fatal_error(const Glib::ustring& text);
00062 };
00063
00064
00065 }
00066
00067 }
00068
00069 #endif
00070