delete (txt);
CAMLreturn (str);
}
+
+extern "C" CAMLprim value caml_text_collection_get_cached_text(value tree, value id){
+ CAMLparam2(tree,id);
+ CAMLlocal1(str);
+ char* txt = (char*) XMLTREE(tree)->GetCachedText((DocID) Int_val(id));
+ str = caml_copy_string(txt);
+ free(txt);
+ CAMLreturn (str);
+}
+
+extern "C" CAMLprim value caml_text_collection_size(value tree){
+ CAMLparam1(tree);
+ // CAMLreturn (Val_int( XMLTREE(tree)->CachedText.size()));
+ NOT_IMPLEMENTED("text_collection_size");
+ CAMLreturn (Val_unit);
+}
+
+
+
extern "C" CAMLprim value caml_text_collection_empty_text(value tree,value id){
CAMLparam2(tree,id);
CAMLreturn ( Val_int((XMLTREE(tree))->EmptyText((DocID) Int_val(id))));
uchar * cstr = (uchar *) String_val(str);
CAMLreturn (Val_int((XMLTREE(tree)->CountContains(cstr))));
+}
+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");
+ CAMLreturn (Val_unit);
+
}
extern "C" CAMLprim value caml_text_collection_contains(value tree,value str){
CAMLreturn(Val_bool (XMLTREE(tree)->IsLeaf(TREENODEVAL(id))));
}
+extern "C" CAMLprim value caml_xml_tree_tagged_desc(value tree, value id, value tag){
+ CAMLparam3(tree,id,tag);
+ CAMLreturn(Val_int (XMLTREE(tree)->TaggedDesc(TREENODEVAL(id),(TagType) Int_val(tag))));
+}
+
+extern "C" CAMLprim value caml_xml_tree_tagged_next(value tree, value id, value tag){
+ CAMLparam3(tree,id,tag);
+ CAMLreturn(Val_int (XMLTREE(tree)->TaggedNext(TREENODEVAL(id),(TagType) Int_val(tag))));
+}
+
+
+
+
+extern "C" CAMLprim value caml_xml_tree_tagged_foll(value tree, value id, value tag){
+ CAMLparam3(tree,id,tag);
+ CAMLreturn(Val_int (XMLTREE(tree)->TaggedFoll(TREENODEVAL(id),(TagType) Int_val(tag))));
+}
+
+
extern "C" CAMLprim value caml_xml_tree_next_sibling(value tree, value id){
CAMLparam2(tree,id);
CAMLreturn(Val_int (XMLTREE(tree)->NextSibling(TREENODEVAL(id))));
}
+extern "C" CAMLprim value caml_xml_tree_prev_sibling(value tree, value id){
+ CAMLparam2(tree,id);
+ CAMLreturn(Val_int (XMLTREE(tree)->PrevSibling(TREENODEVAL(id))));
+}
+
extern "C" CAMLprim value caml_xml_tree_prev_text(value tree, value id){
CAMLparam2(tree,id);
CAMLlocal1(res);
CAMLreturn (Val_int(XMLTREE(tree)->Tag(TREENODEVAL(id))));
}
+extern "C" CAMLprim value caml_xml_tree_subtree_tags(value tree,value id,value tag){
+ CAMLparam3(tree,id,tag);
+ CAMLreturn (Val_int(XMLTREE(tree)->SubtreeTags(TREENODEVAL(id),Int_val(tag))));
+}
+
+
extern "C" CAMLprim value caml_xml_tree_register_tag(value tree,value str){
CAMLparam2(tree,str);
CAMLlocal1(id);