module NodeKind =
struct
type t =
- Document | Element | Text | Comment | Attribute | ProcessingInstruction | Node
+ Document | Element | Text | Comment | Attribute
+ | ProcessingInstruction | Node
let to_string =
function
(** [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