int allin1(XMLEvent event, const XMLNode* node, SXML_CHAR* text, const int n, SAX_Data* sd) { switch(event) { case XML_EVENT_START_DOC: printf("Document start\n\n"); return true; case XML_EVENT_START_NODE: return start_node(node, sd); case XML_EVENT_END_NODE: return end_node(node, sd); case XML_EVENT_TEXT: return new_text(text, sd); case XML_EVENT_ERROR: printf("%s:%d: ERROR %d\n", sd->name, sd->line_num, n); return true; case XML_EVENT_END_DOC: printf("\nDocument end\n"); return true; default: return true; } }
void _parser::clear(void) { LOCK_OBJECT(std::recursive_mutex, _parser_lock); std::vector<node> begin_stmt, end_stmt; node begin_node(lexer::get_begin_token_id()), end_node(lexer::get_end_token_id()); lexer::reset(); begin_stmt.push_back(begin_node); end_stmt.push_back(end_node); _position = 0; _statement.clear(); _statement.push_back(begin_stmt); _statement.push_back(end_stmt); }