X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=tree.mli;h=8cffd189f5baed0f7f209dac8dbe85793b8f015b;hb=cf6d366b25132eea7b0f1966c11d034d748af0fa;hp=6da77f5e050790aad41a61e5586f80bd20a22c71;hpb=70ff0bfc463882ecf233f1b1a7ac4a8007fa4cc2;p=SXSI%2Fxpathcomp.git diff --git a/tree.mli b/tree.mli index 6da77f5..8cffd18 100644 --- a/tree.mli +++ b/tree.mli @@ -1,13 +1,13 @@ type t -val init_contains : t -> string -> unit +val init_textfun : [ `CONTAINS | `STARTSWITH | `ENDSWITH | `EQUALS ] -> t -> string -> unit val init_naive_contains : t -> string -> unit val parse_xml_uri : string -> t val parse_xml_string : string -> t val save : t -> string -> unit -val load : ?sample:int -> string -> t +val load : ?sample:int -> ?load_text:bool -> string -> t val tag_pool : t -> Tag.pool @@ -18,7 +18,7 @@ val compare : [ `Tree ] node -> [ `Tree ] node -> int val dump_node : 'a node -> string -val nil : 'a node +val nil : [ `Tree ] node val root : [ `Tree ] node val is_root : [ `Tree ] node -> bool @@ -26,12 +26,16 @@ val is_nil : [ `Tree ] node -> bool val parent : t -> [ `Tree ] node -> [ `Tree ] node val first_child : t -> [ `Tree ] node -> [ `Tree ] node +val first_element : t -> [ `Tree ] node -> [ `Tree ] node val tagged_child : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node val select_child : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node val next_sibling : t -> [ `Tree ] node -> [ `Tree ] node +val next_element : t -> [ `Tree ] node -> [ `Tree ] node + val next_sibling_ctx : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node +val next_element_ctx : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node val tagged_sibling : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node val tagged_sibling_ctx : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node @@ -52,20 +56,33 @@ val select_foll_ctx : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node -> [ ` val count : t -> string -> int val print_xml_fast : out_channel -> t -> [ `Tree ] node -> unit +val print_xml_fast2 : out_channel -> t -> [ `Tree ] node -> unit +val print_xml_fast3 : t -> [ `Tree ] node -> Unix.file_descr -> unit +val tags_children : t -> Tag.t -> Ptset.Int.t val tags_below : t -> Tag.t -> Ptset.Int.t +val tags_siblings : t -> Tag.t -> Ptset.Int.t val tags_after : t -> Tag.t -> Ptset.Int.t -val tags : t -> Tag.t -> Ptset.Int.t*Ptset.Int.t +val tags : t -> Tag.t -> Ptset.Int.t*Ptset.Int.t*Ptset.Int.t*Ptset.Int.t val is_below_right : t -> [`Tree] node -> [`Tree] node -> bool +val is_binary_ancestor : t -> [`Tree] node -> [`Tree] node -> bool val is_left : t -> [`Tree] node -> bool val binary_parent : t -> [`Tree] node -> [`Tree] node val count_contains : t -> string -> int -val unsorted_contains : t -> string -> unit +(* val unsorted_contains : t -> string -> unit *) val text_size : t -> int val doc_ids : t -> [`Tree] node -> [`Text] node * [`Text] node val subtree_tags : t -> Tag.t -> [`Tree] node -> int val get_text : t -> [`Tree] node -> string +val get_text_id : t -> [`Tree] node -> [`Text ] node val dump_tree : Format.formatter -> t -> unit +val subtree_size : t -> [`Tree] node -> int +val subtree_elements : t -> [`Tree] node -> int +val text_below : t -> [`Tree] node -> [`Tree] node +val text_next : t -> [`Tree] node -> [`Tree] node -> [`Tree] node + +val closing : t -> [`Tree] node -> [`Tree] node +val is_open : t -> [`Tree] node -> bool