00001 00014 #ifndef XMLTOKEN_H_INCLUDED 00015 #define XMLTOKEN_H_INCLUDED 00016 00017 #include <LibXmlKit/xmlnode.h> 00018 00022 typedef enum { 00023 XML_TOKEN_STATE_ELM_HDR, 00024 XML_TOKEN_STATE_ELM_NAME, 00025 XML_TOKEN_STATE_ELM_END, 00026 XML_TOKEN_STATE_TEXT, 00027 XML_TOKEN_STATE_FINISH 00028 } XmlTokenState ; 00029 00031 static const int XML_TOKEN_CHAR_ELM_BEGIN = '<' ; 00032 static const int XML_TOKEN_CHAR_ELM_END = '>' ; 00033 static const int XML_TOKEN_CHAR_TEXT = '#' ; 00034 static const int XML_TOKEN_CHAR_EOF = EOF ; 00035 00042 typedef struct { 00044 XmlTokenState token_state ; 00046 XmlNode * token_node ; 00047 } XmlToken ; 00048 00054 typedef XmlToken * XmlTokenPtr ; 00055 00061 typedef const XmlToken * XmlConstTokenPtr ; 00062 00071 static inline void 00072 xml_token_set(XmlTokenPtr dst, XmlTokenState state, XmlNode * node) 00073 { 00074 dst->token_state = state ; 00075 dst->token_node = node ; 00076 } 00077 00085 void 00086 xml_token_print(FILE * outfp, XmlConstTokenPtr token) ; 00087 00088 #endif /* XMLTOKEN_H_INCLUDED */ 00089