X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=tree.ml;h=9cab2c791f45cf72d13fe8881c6043296495f73f;hb=9abf8a6f78264fbf4eec1676b4a26018967c97e6;hp=3bfbfceeac181d6976aba24b50b3f8da1b0cc83c;hpb=1c5c95673d1d3595f948e5dc674861a1f86b6158;p=SXSI%2Fxpathcomp.git diff --git a/tree.ml b/tree.ml index 3bfbfce..9cab2c7 100644 --- a/tree.ml +++ b/tree.ml @@ -13,6 +13,8 @@ sig type t val parse_xml_uri : string -> t val parse_xml_string : string -> t + val save : t -> string -> unit + val load : ?sample:int -> string -> t val tag_pool : t -> Tag.pool val string : t -> string val descr : t -> descr @@ -45,11 +47,12 @@ struct external int_of_node : 'a node -> int = "%identity" - external parse_xml_uri : string -> int -> bool -> bool -> t = "caml_call_shredder_uri" - - + external parse_xml_uri : string -> int -> bool -> bool -> t = "caml_call_shredder_uri" external parse_xml_string : string -> int -> bool -> bool -> t = "caml_call_shredder_string" + external save_tree : t -> string -> unit = "caml_xml_tree_save" + external load_tree : string -> int -> t = "caml_xml_tree_load" + module Text = struct @@ -191,6 +194,11 @@ struct !Options.disable_text_collection),__LOCATION__)) + let save t str = save_tree t.doc str + + let load ?(sample=64) str = node_of_t (load_tree str sample) + + external pool : doc -> Tag.pool = "%identity" let tag_pool t = pool t.doc