00001
00002
00003 #ifndef MIX_COMMENT_H_
00004 #define MIX_COMMENT_H_
00005
00006 #include "classes.h"
00007 #include "misc.h"
00008 #include "XMLString.h"
00009 #include "NodeList.h"
00010 #include "Value.h"
00011
00012 namespace MiX{
00014 template <class Char,class Traits,class XMLTraits>
00015 class Comment : public Value<Char,Traits,XMLTraits>{
00016 public:
00017 MiX_Template_Typedef(Char,Traits,XMLTraits);
00018 typedef Comment<Char,Traits,XMLTraits> this_type;
00019 typedef NodeContainer<Char,Traits,XMLTraits> nodecontainer_type;
00020 private:
00021 const static nodelist_type::iterator dmy_it;
00022 protected:
00029 Comment(const string_type& val)
00030 : Value<Char,Traits,XMLTraits>(val) { };
00036 Comment(const Comment<Char,Traits,XMLTraits>& src){ };
00037
00038 public:
00040 virtual ~Comment()throw() { };
00042 virtual NodeType getType()const { return Node_Comment; };
00048 static NodeType type() { return Node_Comment; } ;
00055 virtual string_type toString(bool is_indent=false,int indent_off=0)const;
00065 static this_type& create(const string_type& str,element_type& parent,const typename nodelist_type::iterator& it = dmy_it);
00066
00067 friend class DOM_Parser<Char,Traits,XMLTraits>;
00068 };
00069 }
00070
00071 #ifndef MIX_COMMENT_CPP_
00072 #include "Comment.cpp"
00073 #endif//MIX_COMMENT_CPP_
00074
00075 #endif