00001
00002 #ifndef MIX_MISC_H_
00003 #define MIX_MISC_H_
00004
00009 #include "classes.h"
00010
00011 namespace MiX{
00018 enum NodeType{
00019 Node_Document = 0x40,
00020 Node_Element = 0x60,
00021 Node_Attribute = 0x30,
00022 Node_Text = 0x10,
00023 Node_Comment = 0x11,
00024
00025 Node_NodeContainer = 0x40,
00026 Node_NamedNode = 0x20,
00027 Node_Value = 0x10,
00028 };
00029
00031 enum ErrorType{
00032
00033 UnexpectedToken = 0,
00034 XMLDeclarationNotFound,
00035 InternalError,
00036 UnexpectedEOD,
00037 InvalidHandler,
00038 InvalidDeclaration,
00039 MismatchElement,
00040
00041 NullException,
00042 NodeNotFound,
00043 NodeDuplication,
00044 InvalidNodeFound
00045 };
00046
00048 template<class Char,class Traits,class XMLTraits>
00049 void insertIndent(int i,XMLString<Char,Traits,XMLTraits>& str,Char c){
00050 for(int j=0;j<i;j++) str+=c;
00051 }
00052
00053
00054 #define MiX_Template_Typedef(C,T,X) typedef C char_type; \
00055 typedef T char_traits_type; \
00056 typedef X xml_traits_type; \
00057 typedef Node<C,T,X> node_type; \
00058 typedef Document<C,T,X> document_type; \
00059 typedef Element<C,T,X> element_type; \
00060 typedef Attribute<C,T,X> attribute_type; \
00061 typedef Text<C,T,X> text_type; \
00062 typedef Comment<C,T,X> comment_type; \
00063 typedef AttrMap<C,T,X> attrmap_type; \
00064 typedef XMLString<C,T,X> string_type; \
00065 typedef NodeList<C,T,X> nodelist_type; \
00066 typedef AttrMap<C,T,X> attrmap_type;
00067 }
00068
00069 #endif