type t val init_contains : 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 tag_pool : t -> Tag.pool type 'a node = private int type node_kind = [ `Tree | `Text ] val equal : [ `Tree ] node -> [ `Tree ] node -> bool val compare : [ `Tree ] node -> [ `Tree ] node -> int val dump_node : 'a node -> string val nil : 'a node val root : [ `Tree ] node val is_root : [ `Tree ] node -> bool val is_nil : [ `Tree ] node -> bool val parent : t -> [ `Tree ] node -> [ `Tree ] node val first_child : 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_sibling_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 val select_sibling : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node val select_sibling_ctx : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node val tag : t -> [ `Tree ] node -> Tag.t val id : t -> [ `Tree ] node -> int val tagged_desc : t -> Tag.t -> [ `Tree ] node -> [`Tree] node val select_desc : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node val tagged_foll_ctx : t -> Tag.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node val select_foll_ctx : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node val count : t -> string -> int val print_xml_fast : out_channel -> t -> [ `Tree ] node -> unit val tags_below : 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 is_below_right : 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 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 dump_tree : Format.formatter -> t -> unit