.
[SXSI/xpathcomp.git] / tree.mli
1 type t 
2
3 val init_contains : t -> string -> unit
4 val init_naive_contains : t -> string -> unit
5
6
7 val parse_xml_uri : string -> t
8 val parse_xml_string : string -> t
9 val save : t -> string -> unit
10 val load : ?sample:int -> string -> t
11 val tag_pool : t -> Tag.pool
12
13
14 type 'a node = private int
15 type node_kind = [ `Tree | `Text ]
16 val equal : [ `Tree ] node -> [ `Tree ] node -> bool
17 val compare : [ `Tree ] node -> [ `Tree ] node -> int
18 val dump_node : 'a node -> string
19
20
21 val nil : [ `Tree ] node
22 val root : [ `Tree ] node
23
24 val is_root : [ `Tree ] node -> bool
25 val is_nil : [ `Tree ] node -> bool
26
27 val parent : t -> [ `Tree ] node -> [ `Tree ] node
28 val first_child : t -> [ `Tree ] node -> [ `Tree ] node
29 val first_element : t -> [ `Tree ] node -> [ `Tree ] node
30 val tagged_child : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node
31
32 val select_child : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node
33
34 val next_sibling : t -> [ `Tree ] node -> [ `Tree ] node
35 val next_element : t -> [ `Tree ] node -> [ `Tree ] node
36
37 val next_sibling_ctx : t -> [ `Tree ] node -> [ `Tree ] node ->  [ `Tree ] node
38 val next_element_ctx : t -> [ `Tree ] node -> [ `Tree ] node ->  [ `Tree ] node
39
40 val tagged_sibling : t ->  Tag.t ->  [ `Tree ] node -> [ `Tree ] node
41 val tagged_sibling_ctx : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
42
43 val select_sibling : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node
44 val select_sibling_ctx : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node 
45
46
47
48 val tag : t -> [ `Tree ] node -> Tag.t
49 val id : t -> [ `Tree ] node -> int
50
51 val tagged_desc : t -> Tag.t -> [ `Tree ] node -> [`Tree] node
52 val select_desc : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node
53
54 val tagged_foll_ctx : t -> Tag.t ->  [ `Tree ] node -> [`Tree] node -> [ `Tree ] node
55 val select_foll_ctx : t -> Ptset.Int.t ->  [ `Tree ] node -> [`Tree] node -> [ `Tree ] node
56
57 val count : t -> string -> int
58 val print_xml_fast : out_channel -> t -> [ `Tree ] node -> unit
59
60 val tags_children : t -> Tag.t -> Ptset.Int.t
61 val tags_below : t -> Tag.t -> Ptset.Int.t
62 val tags_siblings : t -> Tag.t -> Ptset.Int.t
63 val tags_after : t -> Tag.t -> Ptset.Int.t
64 val tags : t ->  Tag.t  -> Ptset.Int.t*Ptset.Int.t*Ptset.Int.t*Ptset.Int.t
65 val is_below_right : t ->  [`Tree] node ->  [`Tree] node -> bool
66 val is_left : t ->  [`Tree] node -> bool
67
68 val binary_parent : t ->  [`Tree] node -> [`Tree] node 
69
70 val count_contains : t -> string -> int
71 val unsorted_contains : t -> string -> unit
72 val text_size : t -> int
73 val doc_ids : t ->  [`Tree] node ->  [`Text] node *  [`Text] node 
74 val subtree_tags : t -> Tag.t ->  [`Tree] node -> int
75 val get_text : t -> [`Tree] node ->  string
76
77 val dump_tree : Format.formatter -> t -> unit
78 val subtree_size : t -> [`Tree] node -> int
79 val text_below : t -> [`Tree] node -> [`Tree] node
80 val text_next :  t -> [`Tree] node -> [`Tree] node -> [`Tree] node