+void preorderTraverse(xml_tree * tree, xml_tree::tag_t parent_tag, xml_tree::node_t node, lex_index* lindex){
+ if (tree->tag(node)==tree->PCDATA_OPEN_TAG_ID)
+ if (parent_tag==lindex->tag) lindex->tagVectorIt =
+ lindex->tagVector.insert(lindex->tagVectorIt, tree->text_id(node));
+ else if (parent_tag==lindex->tag2) lindex->tag2VectorIt =
+ lindex->tag2Vector.insert(lindex->tag2VectorIt, tree->text_id(node));
+ if (tree->tag(tree->first_child(node))!=0) preorderTraverse(tree,tree->tag(node),tree->first_child(node),lindex);
+ if (tree->tag(tree->next_sibling(node))!=0) preorderTraverse(tree,parent_tag,tree->next_sibling(node),lindex);
+}