sig
  type ext_id =
      System of string
    | Public of (string * string)
    | Anonymous
    | Private of Pxp_type_anchor.private_id
  and private_id
  val allocate_private_id : unit -> Pxp_type_anchor.private_id
  type resolver_id = {
    rid_private : Pxp_type_anchor.private_id option;
    rid_public : string option;
    rid_system : string option;
    rid_system_base : string option;
  }
  type dtd_id =
      External of Pxp_type_anchor.ext_id
    | Derived of Pxp_type_anchor.ext_id
    | Internal
  type content_model_type =
      Unspecified
    | Empty
    | Any
    | Mixed of Pxp_type_anchor.mixed_spec list
    | Regexp of Pxp_type_anchor.regexp_spec
  and mixed_spec = MPCDATA | MChild of string
  and regexp_spec =
      Optional of Pxp_type_anchor.regexp_spec
    | Repeated of Pxp_type_anchor.regexp_spec
    | Repeated1 of Pxp_type_anchor.regexp_spec
    | Alt of Pxp_type_anchor.regexp_spec list
    | Seq of Pxp_type_anchor.regexp_spec list
    | Child of string
  type att_type =
      A_cdata
    | A_id
    | A_idref
    | A_idrefs
    | A_entity
    | A_entities
    | A_nmtoken
    | A_nmtokens
    | A_notation of string list
    | A_enum of string list
  type att_default =
      D_required
    | D_implied
    | D_default of string
    | D_fixed of string
  type att_value = Value of string | Valuelist of string list | Implied_value
  type pool
  val make_probabilistic_pool :
    ?fraction:float -> int -> Pxp_type_anchor.pool
  val pool_string : Pxp_type_anchor.pool -> string -> string
end