delete (txt);
CAMLreturn (str);
}
+
+extern "C" CAMLprim value caml_text_collection_get_cached_text(value tree, value id){
+ CAMLparam2(tree,id);
+ CAMLlocal1(str);
+ const char* txt = (const char*) XMLTREE(tree)->GetCachedText((DocID) Int_val(id));
+ str = caml_copy_string(txt);
+ CAMLreturn (str);
+}
+
+
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))));
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))));
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);