2 type node = [ `Tree ] Node.t
4 (** The type for documents *)
6 val parse_xml_uri : string -> t
7 val parse_xml_string : string -> t
8 val save : t -> string -> unit
9 val load : ?sample:int -> ?load_text:bool -> string -> t
10 val tag_pool : t -> Tag.pool
16 val is_root : node -> bool
17 val is_nil : node -> bool
21 val unordered_set_of_set : Ptset.Int.t -> unordered_set
23 val first_child : t -> node -> node
24 val first_element : t -> node -> node
25 val tagged_child : t -> node -> Tag.t -> node
26 val select_child : t -> node -> unordered_set -> node
29 val next_sibling : t -> node -> node
30 val prev_sibling : t -> node -> node
31 val next_element : t -> node -> node
32 val next_node_before : t -> node -> node -> node
33 val tagged_following_sibling : t -> node -> Tag.t -> node
34 val select_following_sibling : t -> node -> unordered_set -> node
36 val tagged_descendant : t -> node -> Tag.t -> node
37 val tagged_next : t -> node -> Tag.t -> node
38 val select_descendant : t -> node -> unordered_set -> node
40 val tagged_following_before : t -> node -> Tag.t -> node -> node
41 val select_following_before : t -> node -> unordered_set -> node -> node
43 val parent : t -> node -> node
44 val binary_parent : t -> node -> node
45 val is_first_child : t -> node -> bool
46 val is_right_descendant : t -> node -> node -> bool
48 val tag : t -> node -> Tag.t
50 val attribute_tags : t -> Ptset.Int.t
52 val element_tags : t -> Ptset.Int.t
54 val node_tags : t -> Ptset.Int.t
56 val tags : t -> Tag.t -> Ptset.Int.t*Ptset.Int.t*Ptset.Int.t*Ptset.Int.t
58 val dump_tag_table : t -> unit
60 val subtree_tags : t -> node -> Tag.t -> int
62 val subtree_size : t -> node -> int
64 val subtree_elements : t -> node -> int
66 val closing : t -> node -> node
70 val num_tags : t -> int
71 val tag_pool : t -> Tag.pool
73 val print_xml : t -> node -> Unix.file_descr -> unit
74 val flush : t -> Unix.file_descr -> unit
76 module Predicate : Hcons.S with type data = (t -> node -> bool) ref
78 val mk_pred : [ `Prefix | `Suffix | `Equals | `Contains ] -> string -> Predicate.t
80 val full_text_query : [ `Prefix | `Suffix | `Equals | `Contains ] -> t -> string -> node array
82 val full_text_prefix : t -> string -> node array
84 val full_text_suffix : t -> string -> node array
86 val full_text_equals : t -> string -> node array
88 val full_text_contains : t -> string -> node array