sig
  type prefix_symbol = int
  type uri_symbol = int
  type ncname_symbol = int
  type symbol =
      Namespace_symbols.prefix_symbol * Namespace_symbols.uri_symbol *
      Namespace_symbols.ncname_symbol
  val symbol_equal :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val symbol_hash : Namespace_symbols.symbol -> int
  val symbol_prefix_string : Namespace_symbols.symbol -> string
  type relem_symbol = Namespace_symbols.symbol
  val relem_symbol : Namespace_names.rqname -> Namespace_symbols.relem_symbol
  val relem_name : Namespace_symbols.relem_symbol -> Namespace_names.rqname
  val relem_uname :
    Namespace_context.nsenv ->
    Namespace_symbols.relem_symbol -> Namespace_names.uqname
  val relem_name_with_binding :
    Namespace_context.nsenv ->
    Namespace_symbols.relem_symbol ->
    Namespace_names.uqname * Namespace_context.binding option *
    Namespace_context.binding
  val relem_equal :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val relem_subtag :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val relem_prefix : Namespace_symbols.relem_symbol -> Namespace_names.prefix
  val relem_string : Namespace_symbols.relem_symbol -> string
  val relem_prefix_string : Namespace_symbols.relem_symbol -> string
  val anyrelem : Namespace_symbols.relem_symbol
  type rattr_symbol = Namespace_symbols.symbol
  val rattr_symbol : Namespace_names.rqname -> Namespace_symbols.rattr_symbol
  val rattr_name : Namespace_symbols.rattr_symbol -> Namespace_names.rqname
  val rattr_uname :
    Namespace_context.nsenv ->
    Namespace_symbols.rattr_symbol -> Namespace_names.uqname
  val rattr_name_with_binding :
    Namespace_context.nsenv ->
    Namespace_symbols.rattr_symbol ->
    Namespace_names.uqname * Namespace_context.binding option *
    Namespace_context.binding
  val rattr_equal :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val rattr_subtag :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val rattr_prefix : Namespace_symbols.rattr_symbol -> Namespace_names.prefix
  val rattr_string : Namespace_symbols.rattr_symbol -> string
  val rattr_prefix_string : Namespace_symbols.rattr_symbol -> string
  val anyrattr : Namespace_symbols.rattr_symbol
  type rtype_symbol = Namespace_symbols.symbol
  val rtype_name : Namespace_symbols.rtype_symbol -> Namespace_names.rqname
  val rtype_symbol : Namespace_names.rqname -> Namespace_symbols.rtype_symbol
  val rtype_prefix : Namespace_symbols.rtype_symbol -> Namespace_names.prefix
  val rtype_equal :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val rtype_subtag :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val rtype_string : Namespace_symbols.rtype_symbol -> string
  val rtype_prefix_string : Namespace_symbols.rtype_symbol -> string
  val anytype : Namespace_symbols.rtype_symbol
  val anysimpletype : Namespace_symbols.rtype_symbol
  val stringsym : Namespace_symbols.rtype_symbol
  val booleansym : Namespace_symbols.rtype_symbol
  val decimalsym : Namespace_symbols.rtype_symbol
  val floatsym : Namespace_symbols.rtype_symbol
  val doublesym : Namespace_symbols.rtype_symbol
  val durationsym : Namespace_symbols.rtype_symbol
  val dateTimesym : Namespace_symbols.rtype_symbol
  val timesym : Namespace_symbols.rtype_symbol
  val datesym : Namespace_symbols.rtype_symbol
  val gYearMonthsym : Namespace_symbols.rtype_symbol
  val gYearsym : Namespace_symbols.rtype_symbol
  val gMonthDaysym : Namespace_symbols.rtype_symbol
  val gDaysym : Namespace_symbols.rtype_symbol
  val gMonthsym : Namespace_symbols.rtype_symbol
  val hexBinarysym : Namespace_symbols.rtype_symbol
  val base64Binarysym : Namespace_symbols.rtype_symbol
  val anyURIsym : Namespace_symbols.rtype_symbol
  val qnamesym : Namespace_symbols.rtype_symbol
  val notationsym : Namespace_symbols.rtype_symbol
  val integersym : Namespace_symbols.rtype_symbol
  val intsym : Namespace_symbols.rtype_symbol
  val dayTimeDurationsym : Namespace_symbols.rtype_symbol
  val yearMonthDurationsym : Namespace_symbols.rtype_symbol
  val untypedAtomicsym : Namespace_symbols.rtype_symbol
  val untypedsym : Namespace_symbols.rtype_symbol
  val anyAtomicTypesym : Namespace_symbols.rtype_symbol
  val idsym : Namespace_symbols.rattr_symbol
  val idrefsym : Namespace_symbols.rattr_symbol
  type anon_symbol = Namespace_symbols.symbol
  val anon_symbol : Namespace_names.rqname -> Namespace_symbols.anon_symbol
  val anon_name : Namespace_symbols.anon_symbol -> Namespace_names.rqname
  val anon_prefix : Namespace_symbols.anon_symbol -> Namespace_names.prefix
  val anon_equal :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val anon_subtag :
    Namespace_symbols.symbol -> Namespace_symbols.symbol -> bool
  val anon_string : Namespace_symbols.anon_symbol -> string
  val anon_prefix_string : Namespace_symbols.anon_symbol -> string
  type resolved_unit_symbol =
      RUnitTupleSymbol
    | RUnitDocSymbol
    | RUnitElemSymbol of Namespace_symbols.relem_symbol
    | RUnitAttrSymbol of Namespace_symbols.rattr_symbol
    | RUnitTextSymbol
    | RUnitSimpleSymbol of Namespace_symbols.rtype_symbol
    | RUnitAnonSymbol of Namespace_symbols.anon_symbol
  val subtag :
    Namespace_symbols.resolved_unit_symbol ->
    Namespace_symbols.resolved_unit_symbol -> bool
  val equaltag :
    Namespace_symbols.resolved_unit_symbol ->
    Namespace_symbols.resolved_unit_symbol -> bool
end