00001
00002
00003 #ifndef MIX_DOMPARSER_H_
00004 #define MIX_DOMPARSER_H_
00005
00006 #include "classes.h"
00007 #include "SaxParser.h"
00008
00009 namespace MiX{
00015 template <class Char,class Traits,class XMLTraits>
00016 class DomParser : public SaxEventHandler<Char,Traits,XMLTraits>{
00018 SaxParser<Char,Traits,XMLTraits> m_parser;
00020 NodeContainer<Char,Traits,XMLTraits>* m_pCurrent;
00021 public:
00023 virtual ~DomParser();
00025 virtual void onXMLDeclaration(AttrMap<Char,Traits,XMLTraits> attr);
00027 virtual void onStart(XMLString<Char,Traits,XMLTraits> sName,
00028 AttrMap<Char,Traits,XMLTraits> attr);
00030 virtual void onEnd(XMLString<Char,Traits,XMLTraits> sName);
00032 virtual void onText(XMLString<Char,Traits,XMLTraits> sText);
00034 virtual void onComment(XMLString<Char,Traits,XMLTraits> sText);
00036 Document<Char,Traits,XMLTraits>& parse(const Char* szText);
00043 void setIgnoreSpace(bool bFlag);
00044 };
00045 }
00046
00047 #ifndef MIX_DOMPARSER_CPP_
00048 #include "DomParser.cpp"
00049 #endif
00050
00051 #endif