X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=OCamlDriver.cpp;h=ed9afe1f96b1c4f506111be59902ce024c62bd17;hb=92455238a637876bec18bfdaed4f5342f4cbbd1f;hp=f56b4a3bea17ed424b55e6ed2746a6f222686aeb;hpb=dc91851aaeac91a71eba2c266d0227adea0c5815;p=SXSI%2Fxpathcomp.git diff --git a/OCamlDriver.cpp b/OCamlDriver.cpp index f56b4a3..ed9afe1 100644 --- a/OCamlDriver.cpp +++ b/OCamlDriver.cpp @@ -95,6 +95,9 @@ extern "C" CAMLprim value caml_call_shredder_string(value data,value sf, value i }; } + + + void traversal_rec(XMLTree* tree, treeNode id){ DocID tid; if (id == NULLT) @@ -171,8 +174,8 @@ extern "C" CAMLprim value caml_text_collection_count_contains(value tree,value s } 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); } @@ -258,6 +261,10 @@ extern "C" CAMLprim value caml_xml_tree_tagged_foll(value tree, value id, value 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){