type t = int type pool type operations = { tag : pool -> string -> t; to_string : pool -> t -> string; nullt : pool -> t; translate : pool -> t -> t } val tag : string -> t 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 init : pool -> (* operations -> *) unit val to_string : t -> string val compare : t -> t -> int val equal : t -> t -> bool val nullt : t val dummy : t 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 dump_tags : unit -> unit