00001
00002
00003 #ifndef MIX_TEXT_H_
00004 #define MIX_TEXT_H_
00005
00006 #include "classes.h"
00007 #include "misc.h"
00008 #include "XMLString.h"
00009 #include "NodeList.h"
00010
00011 namespace MiX{
00013 template <class Char,class Traits,class XMLTraits>
00014 class Text : public Value<Char,Traits,XMLTraits>{
00015 public:
00016 MiX_Template_Typedef(Char,Traits,XMLTraits);
00017 typedef Element<Char,Traits,XMLTraits> this_type;
00018 typedef NodeContainer<Char,Traits,XMLTraits> nodecontainer_type;
00019 protected:
00020 const static NodeList<Char,Traits,XMLTraits>::iterator dmy_it;
00027 Text(const XMLString<Char,Traits,XMLTraits>& val)
00028 : Value<Char,Traits,XMLTraits>(val){ };
00034 Text(const Text<Char,Traits,XMLTraits>& src){ };
00035 public:
00037 virtual ~Text()throw(){ };
00039 virtual NodeType getType()const{ return Node_Text; };
00045 static NodeType type(){ return Node_Text; };
00052 virtual XMLString<Char,Traits,XMLTraits> toString(bool indent=false,int indent_off=0)const;
00063 static Text<Char,Traits,XMLTraits>& create(const XMLString<Char,Traits,XMLTraits>& str,Element<Char,Traits,XMLTraits>& parent,const typename NodeList<Char,Traits,XMLTraits>::iterator& it = dmy_it);
00064
00065 friend class DOM_Parser<Char,Traits,XMLTraits>;
00066 };
00067 }
00068
00069 #ifndef MIX_TEXT_CPP_
00070 #include "Text.cpp"
00071 #endif
00072
00073 #endif