19 #include "taghandler.h"
56 int feed( std::string& data );
63 void cleanup(
bool deleteRoot =
true );
75 static Tag* parse( std::string& data );
78 enum ParserInternalState
88 TagNameAlmostComplete,
101 enum ForwardScanState
105 ForwardInsufficientSize
119 enum ParserInternalReturn
121 ParseIncomplete = -1,
129 bool isWhitespace(
unsigned char c );
130 bool isValid(
unsigned char c );
131 void streamEvent(
Tag* tag );
132 ForwardScanState forwardScan( std::string::size_type& pos,
const std::string& data,
133 const std::string& needle );
134 DecodeState decode( std::string::size_type& pos,
const std::string& data );
141 ParserInternalState m_state;
145 std::string m_attrib;
148 std::string m_tagPrefix;
149 std::string m_attribPrefix;
150 std::string m_backBuffer;
154 bool m_haveTagPrefix;
155 bool m_haveAttribPrefix;
156 bool m_attribIsXmlns;