Plasma GitLab Archive
Projects Blog Knowledge

sig
  type node_type =
      T_element of string
    | T_data
    | T_super_root
    | T_pinstr of string
    | T_comment
    | T_none
    | T_attribute of string
    | T_namespace of string
  type data_node_classification =
      CD_normal
    | CD_other
    | CD_empty
    | CD_ignorable
    | CD_error of exn
  class type ['a] extension =
    object ('b)
      method clone : 'b
      method node : 'a
      method set_node : '-> unit
    end
  class type ['a] node =
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'Pxp_document.node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'Pxp_document.node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'Pxp_document.node list
      method classify_data_node :
        'Pxp_document.node -> Pxp_document.data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'Pxp_document.node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd ->
        Pxp_document.node_type ->
        (string * string) list -> 'Pxp_document.node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        Pxp_dtd.dtd -> Pxp_document.node_type -> 'Pxp_document.node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'Pxp_document.node list -> unit
      method internal_adopt : 'Pxp_document.node option -> int -> unit
      method internal_delete : 'Pxp_document.node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> Pxp_document.node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('Pxp_document.node -> unit) -> unit
      method iter_nodes_sibl :
        ('Pxp_document.node option ->
         'Pxp_document.node -> 'Pxp_document.node option -> unit) ->
        unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'Pxp_document.node list
      method next_node : 'Pxp_document.node
      method node_path : int list
      method node_position : int
      method node_type : Pxp_document.node_type
      method normprefix : string
      method nth_node : int -> 'Pxp_document.node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'Pxp_document.node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'Pxp_document.node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'Pxp_document.node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'Pxp_document.node list -> unit
      method sub_nodes : 'Pxp_document.node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] data_impl :
    '->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] element_impl :
    '->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] comment_impl :
    '->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] pinstr_impl :
    '->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] super_root_impl :
    '->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] attribute_impl :
    element:string ->
    name:string ->
    Pxp_types.att_value ->
    Pxp_dtd.dtd ->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] namespace_impl :
    string ->
    string ->
    Pxp_dtd.dtd ->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] namespace_element_impl :
    '->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  class ['a] namespace_attribute_impl :
    element:string ->
    name:string ->
    Pxp_types.att_value ->
    Pxp_dtd.dtd ->
    object ('b)
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_node : ?force:bool -> 'a node -> unit
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method append_node : 'a node -> unit
      method attribute : string -> Pxp_types.att_value
      method attribute_names : string list
      method attribute_type : string -> Pxp_types.att_type
      method attributes : (string * Pxp_types.att_value) list
      method attributes_as_nodes : 'a node list
      method classify_data_node : 'a node -> data_node_classification
      method comment : string option
      method complement_attlist : unit -> unit
      method create_data : Pxp_dtd.dtd -> string -> 'a node
      method create_element :
        ?name_pool_for_attribute_values:Pxp_types.pool ->
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int ->
        ?valcheck:bool ->
        ?att_values:(string * Pxp_types.att_value) list ->
        Pxp_dtd.dtd -> node_type -> (string * string) list -> 'a node
      method create_other :
        ?entity_id:Pxp_types.entity_id ->
        ?position:string * int * int -> Pxp_dtd.dtd -> node_type -> 'a node
      method data : string
      method delete : unit
      method display :
        ?prefixes:string Pxp_types.StringMap.t ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method display_prefix : string
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method entity_id : Pxp_types.entity_id
      method extension : 'a
      method id_attribute_name : string
      method id_attribute_value : string
      method idref_attribute_names : string list
      method insert_nodes : ?pos:int -> 'a node list -> unit
      method internal_adopt : 'a node option -> int -> unit
      method internal_delete : 'a node -> unit
      method internal_init :
        Pxp_types.entity_id ->
        string * int * int ->
        Pxp_types.pool option ->
        bool ->
        Pxp_dtd.dtd ->
        string ->
        (string * string) list -> (string * Pxp_types.att_value) list -> unit
      method internal_init_other :
        Pxp_types.entity_id ->
        string * int * int -> Pxp_dtd.dtd -> node_type -> unit
      method internal_set_pos : int -> unit
      method iter_nodes : ('a node -> unit) -> unit
      method iter_nodes_sibl :
        ('a node option -> 'a node -> 'a node option -> unit) -> unit
      method local_validate :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method localname : string
      method namespace_manager : Pxp_dtd.namespace_manager
      method namespace_scope : Pxp_dtd.namespace_scope
      method namespace_uri : string
      method namespaces_as_nodes : 'a node list
      method next_node : 'a node
      method node_path : int list
      method node_position : int
      method node_type : node_type
      method normprefix : string
      method nth_node : int -> 'a node
      method optional_list_attribute : string -> string list
      method optional_string_attribute : string -> string option
      method orphaned_clone : 'b
      method orphaned_flat_clone : 'b
      method parent : 'a node
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method position : string * int * int
      method previous_node : 'a node
      method quick_set_attributes :
        (string * Pxp_types.att_value) list -> unit
      method remove : unit -> unit
      method remove_nodes : ?pos:int -> ?len:int -> unit -> unit
      method required_list_attribute : string -> string list
      method required_string_attribute : string -> string
      method reset_attribute : string -> unit
      method root : 'a node
      method set_attribute :
        ?force:bool -> string -> Pxp_types.att_value -> unit
      method set_attributes : (string * Pxp_types.att_value) list -> unit
      method set_comment : string option -> unit
      method set_data : string -> unit
      method set_namespace_scope : Pxp_dtd.namespace_scope -> unit
      method set_nodes : 'a node list -> unit
      method sub_nodes : 'a node list
      method validate : unit -> unit
      method validate_attlist : unit -> unit
      method validate_contents :
        ?use_dfa:bool -> ?check_data_nodes:bool -> unit -> unit
      method write :
        ?prefixes:string list ->
        ?default:string ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
    end
  val pinstr :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    Pxp_dtd.proc_instruction
  val attribute_name :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    string
  val attribute_value :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    Pxp_types.att_value
  val attribute_string_value :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    string
  val namespace_normprefix :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    string
  val namespace_display_prefix :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    string
  val namespace_uri :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    string
  type 'a spec constraint 'a = 'Pxp_document.node #Pxp_document.extension
  val make_spec_from_mapping :
    ?super_root_exemplar:('Pxp_document.node #Pxp_document.extension as 'a)
                         Pxp_document.node ->
    ?comment_exemplar:'Pxp_document.node ->
    ?default_pinstr_exemplar:'Pxp_document.node ->
    ?pinstr_mapping:(string, 'Pxp_document.node) Hashtbl.t ->
    data_exemplar:'Pxp_document.node ->
    default_element_exemplar:'Pxp_document.node ->
    element_mapping:(string, 'Pxp_document.node) Hashtbl.t ->
    unit -> 'Pxp_document.spec
  val make_spec_from_alist :
    ?super_root_exemplar:('Pxp_document.node #Pxp_document.extension as 'a)
                         Pxp_document.node ->
    ?comment_exemplar:'Pxp_document.node ->
    ?default_pinstr_exemplar:'Pxp_document.node ->
    ?pinstr_alist:(string * 'Pxp_document.node) list ->
    data_exemplar:'Pxp_document.node ->
    default_element_exemplar:'Pxp_document.node ->
    element_alist:(string * 'Pxp_document.node) list ->
    unit -> 'Pxp_document.spec
  val get_data_exemplar :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    'Pxp_document.node
  val get_element_exemplar :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    string -> (string * string) list -> 'Pxp_document.node
  val get_super_root_exemplar :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    'Pxp_document.node
  val get_comment_exemplar :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    'Pxp_document.node
  val get_pinstr_exemplar :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    Pxp_dtd.proc_instruction -> 'Pxp_document.node
  val create_data_node :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    Pxp_dtd.dtd -> string -> 'Pxp_document.node
  val create_element_node :
    ?name_pool_for_attribute_values:Pxp_types.pool ->
    ?entity_id:Pxp_types.entity_id ->
    ?position:string * int * int ->
    ?valcheck:bool ->
    ?att_values:(string * Pxp_types.att_value) list ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    Pxp_dtd.dtd -> string -> (string * string) list -> 'Pxp_document.node
  val create_super_root_node :
    ?entity_id:Pxp_types.entity_id ->
    ?position:string * int * int ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    Pxp_dtd.dtd -> 'Pxp_document.node
  val create_comment_node :
    ?entity_id:Pxp_types.entity_id ->
    ?position:string * int * int ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    Pxp_dtd.dtd -> string -> 'Pxp_document.node
  val create_pinstr_node :
    ?entity_id:Pxp_types.entity_id ->
    ?position:string * int * int ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    Pxp_dtd.dtd -> Pxp_dtd.proc_instruction -> 'Pxp_document.node
  val create_no_node :
    ?entity_id:Pxp_types.entity_id ->
    ?position:string * int * int ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    Pxp_dtd.dtd -> 'Pxp_document.node
  val compare :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    'Pxp_document.node -> int
  type 'a ord_index
    constraint 'a = 'Pxp_document.node #Pxp_document.extension
  val create_ord_index :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    'Pxp_document.ord_index
  val ord_number :
    ('Pxp_document.node #Pxp_document.extension as 'a)
    Pxp_document.ord_index -> 'Pxp_document.node -> int
  val ord_compare :
    ('Pxp_document.node #Pxp_document.extension as 'a)
    Pxp_document.ord_index ->
    'Pxp_document.node -> 'Pxp_document.node -> int
  val find :
    ?deeply:bool ->
    (('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
     bool) ->
    'Pxp_document.node -> 'Pxp_document.node
  val find_all :
    ?deeply:bool ->
    (('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
     bool) ->
    'Pxp_document.node -> 'Pxp_document.node list
  val find_element :
    ?deeply:bool ->
    string ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    'Pxp_document.node
  val find_all_elements :
    ?deeply:bool ->
    string ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    'Pxp_document.node list
  exception Skip
  val map_tree :
    pre:(('Pxp_document.node #Pxp_document.extension as 'a)
         Pxp_document.node ->
         ('Pxp_document.node #Pxp_document.extension as 'b)
         Pxp_document.node) ->
    ?post:('Pxp_document.node -> 'Pxp_document.node) ->
    'Pxp_document.node -> 'Pxp_document.node
  val map_tree_sibl :
    pre:(('Pxp_document.node #Pxp_document.extension as 'a)
         Pxp_document.node option ->
         'Pxp_document.node ->
         'Pxp_document.node option ->
         ('Pxp_document.node #Pxp_document.extension as 'b)
         Pxp_document.node) ->
    ?post:('Pxp_document.node option ->
           'Pxp_document.node ->
           'Pxp_document.node option -> 'Pxp_document.node) ->
    'Pxp_document.node -> 'Pxp_document.node
  val iter_tree :
    ?pre:(('Pxp_document.node #Pxp_document.extension as 'a)
          Pxp_document.node -> unit) ->
    ?post:('Pxp_document.node -> unit) -> 'Pxp_document.node -> unit
  val iter_tree_sibl :
    ?pre:(('Pxp_document.node #Pxp_document.extension as 'a)
          Pxp_document.node option ->
          'Pxp_document.node -> 'Pxp_document.node option -> unit) ->
    ?post:('Pxp_document.node option ->
           'Pxp_document.node -> 'Pxp_document.node option -> unit) ->
    'Pxp_document.node -> unit
  type stripping_mode =
      [ `Disabled | `Strip_one | `Strip_one_lf | `Strip_seq ]
  val strip_whitespace :
    ?force:bool ->
    ?left:Pxp_document.stripping_mode ->
    ?right:Pxp_document.stripping_mode ->
    ?delete_empty_nodes:bool ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    unit
  val normalize :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    unit
  val validate :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    unit
  class ['a] document :
    ?swarner:Pxp_types.symbolic_warnings ->
    Pxp_types.collect_warnings ->
    Pxp_types.rep_encoding ->
    object
      constraint 'a = 'Pxp_document.node #Pxp_document.extension
      method add_pinstr : Pxp_dtd.proc_instruction -> unit
      method display :
        ?prefer_dtd_reference:bool ->
        ?dtd_style:[ `Auto | `Included | `Omit | `Reference ] ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method dtd : Pxp_dtd.dtd
      method dump : Format.formatter -> unit
      method encoding : Pxp_types.rep_encoding
      method init_root : 'Pxp_document.node -> string -> unit
      method init_xml_version : string -> unit
      method pinstr : string -> Pxp_dtd.proc_instruction list
      method pinstr_names : string list
      method raw_root_name : string
      method root : 'Pxp_document.node
      method write :
        ?default:string ->
        ?prefer_dtd_reference:bool ->
        ?dtd_style:[ `Auto | `Included | `Omit | `Reference ] ->
        ?minimization:[ `AllEmpty | `DeclaredEmpty | `None ] ->
        Pxp_types.output_stream -> Pxp_types.encoding -> unit
      method xml_standalone : bool
      method xml_version : string
    end
  val print_node :
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.node ->
    unit
  val print_doc :
    ('Pxp_document.node #Pxp_document.extension as 'a)
    Pxp_document.document -> unit
  exception Error_event of exn
  type 'a solid_xml =
      [ `Document of 'Pxp_document.document | `Node of 'Pxp_document.node ]
    constraint 'a = 'Pxp_document.node #Pxp_document.extension
  val solidify :
    ?dtd:Pxp_dtd.dtd ->
    Pxp_types.config ->
    ('Pxp_document.node #Pxp_document.extension as 'a) Pxp_document.spec ->
    (unit -> Pxp_types.event option) -> 'Pxp_document.solid_xml
  val liquefy :
    ?omit_end:bool ->
    ?omit_positions:bool ->
    ('Pxp_document.node #Pxp_document.extension as 'a)
    Pxp_document.solid_xml -> '-> Pxp_types.event option
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml