};
}
+
+
+
void traversal_rec(XMLTree* tree, treeNode id){
DocID tid;
if (id == NULLT)
}
extern "C" CAMLprim value caml_text_collection_count(value tree,value str){
CAMLparam2(tree,str);
- //uchar * cstr = (uchar *) String_val(str);
- NOT_IMPLEMENTED("text_collection_count");
+ uchar * cstr = (uchar *) String_val(str);
+ CAMLreturn (Val_int((XMLTREE(tree)->Count(cstr))));
CAMLreturn (Val_unit);
}
CAMLparam3(tree,id,tag);
CAMLreturn(Val_int (XMLTREE(tree)->TaggedFoll(TREENODEVAL(id),(TagType) Int_val(tag))));
}
+extern "C" CAMLprim value caml_xml_tree_tagged_foll_below(value tree, value id, value tag,value root){
+ CAMLparam4(tree,id,tag,root);
+ CAMLreturn(Val_int (XMLTREE(tree)->TaggedFollBelow(TREENODEVAL(id),(TagType) Int_val(tag),TREENODEVAL(root))));
+}
extern "C" CAMLprim value caml_xml_tree_next_sibling(value tree, value id){
#define VECT(x) ((int*) (x))
-extern "C" CAMLprim value caml_xml_tree_tagged_below(value tree, value node, value ctags, value dtags){
+extern "C" CAMLprim value caml_xml_tree_select_below(value tree, value node, value ctags, value dtags){
CAMLparam4(tree,node,ctags,dtags);
CAMLreturn (Val_int (
VECT(dtags)[0]))));
}
-extern "C" CAMLprim value caml_xml_tree_tagged_next(value tree, value node, value ctags, value ftags,value root){
+extern "C" CAMLprim value caml_xml_tree_select_next(value tree, value node, value ctags, value ftags,value root){
CAMLparam5(tree,node,ctags,ftags,root);
CAMLreturn (Val_int (
(XMLTREE(tree)->TaggedNext(TREENODEVAL(node),
TREENODEVAL(root)))));
}
-extern "C" CAMLprim value caml_xml_tree_tagged_desc_only(value tree, value node,value dtags){
+extern "C" CAMLprim value caml_xml_tree_select_desc_only(value tree, value node,value dtags){
CAMLparam3(tree,node,dtags);
CAMLreturn (Val_int (
VECT(dtags)[0]))));
}
-extern "C" CAMLprim value caml_xml_tree_tagged_foll_only(value tree, value node, value ftags,value root){
+extern "C" CAMLprim value caml_xml_tree_select_foll_only(value tree, value node, value ftags,value root){
CAMLparam4(tree,node,ftags,root);
CAMLreturn (Val_int (
(XMLTREE(tree)->TaggedFollOnly(TREENODEVAL(node),
TREENODEVAL(root)))));
}
-extern "C" CAMLprim value caml_xml_tree_tagged_desc_or_foll_only(value tree, value node, value ftags,value root){
+extern "C" CAMLprim value caml_xml_tree_select_desc_or_foll_only(value tree, value node, value ftags,value root){
CAMLparam4(tree,node,ftags,root);
CAMLreturn (Val_int (
(XMLTREE(tree)->TaggedDescOrFollOnly(TREENODEVAL(node),