X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Ftree.ml;h=9e6c71ca61a4a0dd8a3ba8d6c088810e2d5916cb;hp=d44755ec4e0d0faa4967c3783d91162f4aafcd51;hb=1947a98f419c2bf50378fed783406818b010c60e;hpb=af9d790ca62e678e8e70ab8d8fa7f804985a75e0 diff --git a/src/tree.ml b/src/tree.ml index d44755e..9e6c71c 100644 --- a/src/tree.ml +++ b/src/tree.ml @@ -18,7 +18,8 @@ module NodeKind = struct type t = - Document | Element | Text | Comment | Attribute | ProcessingInstruction | Node + Document | Element | Text | Comment | Attribute + | ProcessingInstruction | Node let to_string = function @@ -107,5 +108,20 @@ sig (** [preorder t n] returns the pre-order position of [n] in [t]. [preodrder t (root t) == 0] and [preorder t nil < 0]. *) + + val by_preorder : t -> int -> node + (** [by_preorder t i] returns the node with preorder [i] + *) val print_node : Format.formatter -> node -> unit + + val is_first_child : t -> node -> bool + val is_next_sibling : t -> node -> bool + val prev_sibling : t -> node -> node + (** [prev_sibling t n] returns the previous_sibling of node [n] in tree [t]. + Returns [nil] if [n] is the first child of a node. + *) + val parent_of_first : t -> node -> node + (** [parent_of_first t n] returns the parent of node [n] in tree [t] . + Returns [nil] if [n] isn't the first child of a node. + *) end