X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=OCamlDriver.cpp;h=8603c1106956cf7cf2d313923c8e517c12819e94;hb=cea756c7adc49891004bfe455628010eb7a28bc9;hp=d85be93c34c4be3b8c39c5656978a5117fcfee4a;hpb=25a3fa55f6de1835d2407283eeb43b01819543f6;p=SXSI%2Fxpathcomp.git diff --git a/OCamlDriver.cpp b/OCamlDriver.cpp index d85be93..8603c11 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) @@ -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){ @@ -370,7 +377,7 @@ extern "C" CAMLprim value caml_int_vector_set(value vec, value i, value v){ #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 ( @@ -381,7 +388,7 @@ extern "C" CAMLprim value caml_xml_tree_tagged_below(value tree, value node, val 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), @@ -392,7 +399,7 @@ extern "C" CAMLprim value caml_xml_tree_tagged_next(value tree, value node, valu 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 ( @@ -401,7 +408,7 @@ extern "C" CAMLprim value caml_xml_tree_tagged_desc_only(value tree, value node, 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), @@ -410,7 +417,7 @@ extern "C" CAMLprim value caml_xml_tree_tagged_foll_only(value tree, value 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),