1 (******************************************************************************)
2 (* SXSI : XPath evaluator *)
3 (* Kim Nguyen (Kim.Nguyen@nicta.com.au) *)
4 (* Copyright NICTA 2008 *)
5 (* Distributed under the terms of the LGPL (see LICENCE) *)
6 (******************************************************************************)
11 type descr = Nil| Node of node_content | String of string_content
13 val parse_xml_uri : string -> t
14 val parse_xml_string : string -> t
15 val save : t -> string -> unit
16 val load : ?sample:int -> string -> t
17 val tag_pool : t -> Tag.pool
18 val string : t -> string
19 val descr : t -> descr
20 val is_node : t -> bool
23 val first_child : t -> t
24 val next_sibling : t -> t
27 val is_root : t -> bool
30 val print_xml_fast : out_channel -> t -> unit
31 val compare : t -> t -> int
32 val equal : t -> t -> bool
36 end with type elt = string_content
37 val string_below : t -> string_content -> bool
38 val contains : t -> string -> DocIdSet.t
39 val contains_old : t -> string -> DocIdSet.t
40 val contains_iter : t -> string -> DocIdSet.t
41 val count_contains : t -> string -> int
42 val count : t -> string -> int
44 val get_string : t -> string_content -> string
45 val has_tagged_desc : t -> Tag.t -> bool
46 val has_tagged_foll : t -> Tag.t -> bool
47 val tagged_desc : t -> Tag.t -> t
48 val tagged_foll : t -> Tag.t -> t
49 val tagged_below : t -> Ptset.t -> Ptset.t -> t
50 val tagged_next : t -> Ptset.t -> Ptset.t -> t -> t
51 val tagged_desc_only : t -> Ptset.t -> t
52 val tagged_foll_only : t -> Ptset.t -> t -> t
53 val text_below : t -> t
54 val text_next : t -> t -> t
55 val init_tagged_next : t -> Tag.t -> unit
56 val subtree_tags : t -> Tag.t -> int
57 val is_left : t -> bool
58 val print_id : Format.formatter -> t -> unit
59 val test_xml_tree : Format.formatter -> Ptset.t -> t -> unit
60 val init_contains : t -> string -> unit
62 val test_jump : t -> Tag.t -> unit
65 module Binary : BINARY
69 module DEBUGTREE : sig
71 val print_stats : Format.formatter -> unit