sig
type t = JSOO.obj
val document : JSOO.obj
val text : string -> JSOO.obj
val element : string -> JSOO.obj
val get_attribute : JSOO.obj -> string -> string
val set_attribute : JSOO.obj -> string -> string -> unit
val remove_attribute : JSOO.obj -> string -> unit
val get_element_by_id : JSOO.obj -> string -> JSOO.obj
val register_event : JSOO.obj -> string -> ('a -> 'b) -> 'a -> unit
val clear_event : JSOO.obj -> string -> 'a -> unit
val append : JSOO.obj -> JSOO.obj -> unit
val remove : JSOO.obj -> JSOO.obj -> unit
external children : Js.Node.t -> Js.Node.t list = "caml_js_node_children"
external n_children : Js.Node.t -> int = "caml_js_node_n_children"
external child : Js.Node.t -> int -> Js.Node.t = "caml_js_node_child"
val iter : (Js.Node.t -> 'a) -> Js.Node.t -> unit
val fold_left : ('a -> Js.Node.t -> 'a) -> 'a -> Js.Node.t -> 'a
val empty : Js.Node.t -> unit
val replace_all : Js.Node.t -> JSOO.obj -> unit
end