+extern "C" CAMLprim value caml_xml_tree_select_desc(value tree, value node, value tags){
+ CAMLparam3(tree,node,tags);
+
+ CAMLreturn (Val_int (XMLTREE(tree)->SelectDesc(TREENODEVAL(node),
+ &(VECT(tags)[1]),
+ VECT(tags)[0])));
+}
+extern "C" CAMLprim value caml_xml_tree_select_child(value tree, value node, value tags){
+ CAMLparam3(tree,node,tags);
+
+ CAMLreturn (Val_int (XMLTREE(tree)->SelectChild(TREENODEVAL(node),
+ &(VECT(tags)[1]),
+ VECT(tags)[0])));
+}
+extern "C" CAMLprim value caml_xml_tree_select_foll_sibling(value tree, value node, value tags){
+ CAMLparam3(tree,node,tags);
+
+ CAMLreturn (Val_int (XMLTREE(tree)->SelectFollSibling(TREENODEVAL(node),
+ &(VECT(tags)[1]),
+ VECT(tags)[0])));
+}
+extern "C" CAMLprim value caml_xml_tree_select_foll_below(value tree, value node, value tags,value ctx){
+ CAMLparam4(tree,node,tags,ctx);
+
+ CAMLreturn (Val_int (XMLTREE(tree)->SelectFollBelow(TREENODEVAL(node),
+ &(VECT(tags)[1]),
+ VECT(tags)[0],Int_val(ctx))));
+}
+
+
+
+/*