type t = int type operations = { tag : string -> t; to_string : t -> string; translate : t -> t } external to_int : t -> int = "%identity" val document_node : t val attribute : t val pcdata : t val attribute_data : t val document_node_close : t val attribute_close : t val pcdata_close : t val attribute_data_close : t val nullt : t val dummy : t val compare : t -> t -> int val equal : t -> t -> bool val dump : Format.formatter -> t -> unit val check : t -> unit (* Check internal invariants *) (* Data structures *) val hash : t -> int val print : Format.formatter -> t -> unit val init : operations -> unit val tag : string -> t val to_string : t -> string val translate : t -> t