sig
  type t
  external init : unit -> CL_XMLToken.t = "caml_CL_XMLToken_init"
  external delete : CL_XMLToken.t -> unit = "caml_CL_XMLToken_delete"
  external get_name : CL_XMLToken.t -> string = "caml_CL_XMLToken_get_name"
  external get_value : CL_XMLToken.t -> string = "caml_CL_XMLToken_get_value"
  type token_type =
      Null_token
    | Element
    | Text
    | CData_section
    | Entity_reference
    | Entity
    | Processing_instruction
    | Comment
    | Document_type
    | Notation
  external get_type : CL_XMLToken.t -> CL_XMLToken.token_type
    = "caml_CL_XMLToken_get_type"
  type token_variant = Begin | End | Single
  external get_variant : CL_XMLToken.t -> CL_XMLToken.token_variant
    = "caml_CL_XMLToken_get_variant"
  type attribute = string * string
  external get_attributes : CL_XMLToken.t -> CL_XMLToken.attribute array
    = "caml_CL_XMLToken_get_attributes"
end