sig
  type binding = Namespace_names.prefix * Namespace_names.uri
  type binding_table = Namespace_context.binding list
  type nsenv
  val empty_nsenv : Namespace_context.nsenv
  val make_empty_nsenv : unit -> Namespace_context.nsenv
  val dump_nsenv : Namespace_context.nsenv -> unit
  val default_xquery_nsenv : Namespace_context.nsenv
  val default_xml_nsenv : Namespace_context.nsenv
  val default_xml_out_nsenv : unit -> Namespace_context.nsenv
  val default_all_nsenv : Namespace_context.nsenv
  val add_all_ns :
    Namespace_context.nsenv ->
    Namespace_context.binding_table -> Namespace_context.nsenv
  val add_all_ns_test :
    Namespace_context.nsenv ->
    Namespace_context.binding_table -> Namespace_context.nsenv
  val add_all_ns_xquery :
    Namespace_context.nsenv ->
    Namespace_context.binding_table -> Namespace_context.nsenv
  val filter_nsenv_in_scope :
    Namespace_context.nsenv ->
    Namespace_context.binding_table ->
    Namespace_context.nsenv * Namespace_context.binding_table
  val get_ns_of_prefix :
    Namespace_context.nsenv -> Namespace_names.prefix -> Namespace_names.uri
  val make_binding :
    Namespace_context.nsenv ->
    Namespace_names.rqname ->
    Namespace_names.uqname * Namespace_context.binding option *
    Namespace_context.binding
  val make_attribute_binding :
    Namespace_context.nsenv ->
    Namespace_names.rqname ->
    Namespace_names.uqname * Namespace_context.binding option *
    Namespace_context.binding
  val active_bindings :
    Namespace_context.nsenv -> Namespace_context.binding_table
  val delta_bindings :
    Namespace_context.nsenv ->
    Namespace_context.nsenv -> Namespace_context.binding_table
  val patch_bindings :
    Namespace_context.nsenv ->
    Namespace_context.binding_table -> Namespace_context.nsenv
  val flatten_bindings :
    Namespace_context.nsenv -> Namespace_context.binding_table
  val cleanup_bindings :
    Namespace_context.binding_table ->
    Namespace_context.binding_table -> Namespace_context.binding_table
  val cleanup_out_bindings :
    Namespace_context.binding_table ->
    Namespace_context.binding_table -> Namespace_context.binding_table
  val cleanup_actual_out_bindings :
    Namespace_context.binding_table ->
    Namespace_context.binding_table -> Namespace_context.binding_table
  val same_nsenv : Namespace_context.nsenv -> Namespace_context.nsenv -> bool
end