DOM_Parser.h Source File

メインページ 名前空間一覧 クラス階層 構成 ファイル一覧 名前空間メンバ 構成メンバ ファイルメンバ

# DOM_Parser.h

解説を見る。

    00001 // -*- mode: c++ -*-
    00002
    00003 #ifndef MIX_DOMPARSER_H_
    00004 #define MIX_DOMPARSER_H_
    00005
    00006 #include "classes.h"
    00007 #include "DefaultXMLTraits.h"
    00008 #include "SAX_Parser.h"
    00009
    00010 namespace MiX{
    00011
    00012   template <class charT,class char_traits,class xml_traits>
    00013   class DOM_Parser : public SAX_EventHandler<charT,char_traits,xml_traits>{
    00014   public:
    00015     MiX_Template_Typedef(charT,char_traits,xml_traits);
    00016     typedef DOM_Parser<charT,char_traits,xml_traits> this_type;
    00017     typedef NodeContainer<charT,char_traits,xml_traits> nodecontainer_type;
    00018   private:
    00020     SAX_Parser<charT,char_traits,xml_traits> parser_;
    00022     NodeContainer<charT,char_traits,xml_traits>* current_;
    00024     void parseAttribute(const attrmap_type& attr);
    00025   protected:
    00027     virtual void onXMLDeclaration(attrmap_type attr);
    00029     virtual void onStart(string_type name,attrmap_type attr);
    00031     virtual void onEnd(string_type name);
    00033     virtual void onText(string_type text);
    00035     virtual void onComment(string_type text);
    00036   public:
    00038     virtual ~DOM_Parser(){ };
    00039
    00041     document_type& parse(const charT* text);
    00043     document_type& parse(std::basic_istream<charT, char_traits>& is);
    00044
    00051     void setIgnoreSpace(bool flag){ parser_.setIgnoreSpace(flag); };
    00052   };
    00053 }
    00054
    00055 #ifndef MiX_DOMPARSER_CPP_
    00056 #include "DOM_Parser.cpp"
    00057 #endif
    00058
    00059 #endif