Cleaned up every thing, prepared to remove deprecated interface.
[SXSI/xpathcomp.git] / tree.mli
index 6da77f5..c38ab02 100644 (file)
--- a/tree.mli
+++ b/tree.mli
@@ -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
@@ -53,9 +57,11 @@ 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 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_left : t ->  [`Tree] node -> bool