Module Pxp_document

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 !'node extension = object ... end
class type !'a node = object ... end
class !'a data_impl : 'a -> object ... end
class !'a element_impl : 'a -> object ... end
class !'a comment_impl : 'a -> object ... end
class !'a pinstr_impl : 'a -> object ... end
class !'a super_root_impl : 'a -> object ... end
class !'a attribute_impl : element:string -> name:string -> Pxp_types.att_value -> Pxp_dtd.dtd -> object ... end
class !'a namespace_impl : string -> string -> Pxp_dtd.dtd -> object ... end
class !'a namespace_element_impl : 'a -> object ... end
class !'a namespace_attribute_impl : element:string -> name:string -> Pxp_types.att_value -> Pxp_dtd.dtd -> object ... end
val pinstr : 'a node extension as 'a node -> Pxp_dtd.proc_instruction
val attribute_name : 'a node extension as 'a node -> string
val attribute_value : 'a node extension as 'a node -> Pxp_types.att_value
val attribute_string_value : 'a node extension as 'a node -> string
val namespace_normprefix : 'a node extension as 'a node -> string
val namespace_display_prefix : 'a node extension as 'a node -> string
val namespace_uri : 'a node extension as 'a node -> string
type 'a spec constraint 'a = 'a node extension
val make_spec_from_mapping : ?⁠super_root_exemplar:'a node extension as 'a node -> ?⁠comment_exemplar:'a node -> ?⁠default_pinstr_exemplar:'a node -> ?⁠pinstr_mapping:(string, 'a node) Stdlib.Hashtbl.t -> data_exemplar:'a node -> default_element_exemplar:'a node -> element_mapping:(string, 'a node) Stdlib.Hashtbl.t -> unit -> 'a spec
val make_spec_from_alist : ?⁠super_root_exemplar:'a node extension as 'a node -> ?⁠comment_exemplar:'a node -> ?⁠default_pinstr_exemplar:'a node -> ?⁠pinstr_alist:(string * 'a node) list -> data_exemplar:'a node -> default_element_exemplar:'a node -> element_alist:(string * 'a node) list -> unit -> 'a spec
val get_data_exemplar : 'a node extension as 'a spec -> 'a node
val get_element_exemplar : 'a node extension as 'a spec -> string -> (string * string) list -> 'a node
val get_super_root_exemplar : 'a node extension as 'a spec -> 'a node
val get_comment_exemplar : 'a node extension as 'a spec -> 'a node
val get_pinstr_exemplar : 'a node extension as 'a spec -> Pxp_dtd.proc_instruction -> 'a node
val create_data_node : 'a node extension as 'a spec -> Pxp_dtd.dtd -> string -> 'a 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 -> 'a node extension as 'a spec -> Pxp_dtd.dtd -> string -> (string * string) list -> 'a node
val create_super_root_node : ?⁠entity_id:Pxp_types.entity_id -> ?⁠position:(string * int * int) -> 'a node extension as 'a spec -> Pxp_dtd.dtd -> 'a node
val create_comment_node : ?⁠entity_id:Pxp_types.entity_id -> ?⁠position:(string * int * int) -> 'a node extension as 'a spec -> Pxp_dtd.dtd -> string -> 'a node
val create_pinstr_node : ?⁠entity_id:Pxp_types.entity_id -> ?⁠position:(string * int * int) -> 'a node extension as 'a spec -> Pxp_dtd.dtd -> Pxp_dtd.proc_instruction -> 'a node
val create_no_node : ?⁠entity_id:Pxp_types.entity_id -> ?⁠position:(string * int * int) -> 'a node extension as 'a spec -> Pxp_dtd.dtd -> 'a node
val compare : 'a node extension as 'a node -> 'a node -> int
type 'a ord_index constraint 'a = 'a node extension
val create_ord_index : 'a node extension as 'a node -> 'a ord_index
val ord_number : 'a node extension as 'a ord_index -> 'a node -> int
val ord_compare : 'a node extension as 'a ord_index -> 'a node -> 'a node -> int
val find : ?⁠deeply:bool -> ('a node extension as 'a node -> bool) -> 'a node -> 'a node
val find_all : ?⁠deeply:bool -> ('a node extension as 'a node -> bool) -> 'a node -> 'a node list
val find_element : ?⁠deeply:bool -> string -> 'a node extension as 'a node -> 'a node
val find_all_elements : ?⁠deeply:bool -> string -> 'a node extension as 'a node -> 'a node list
exception Skip
val map_tree : pre:('a node extension as 'a node -> 'b node extension as 'b node) -> ?⁠post:('b node -> 'b node) -> 'a node -> 'b node
val map_tree_sibl : pre:('a node extension as 'a node option -> 'a node -> 'a node option -> 'b node extension as 'b node) -> ?⁠post:('b node option -> 'b node -> 'b node option -> 'b node) -> 'a node -> 'b node
val iter_tree : ?⁠pre:('a node extension as 'a node -> unit) -> ?⁠post:('a node -> unit) -> 'a node -> unit
val iter_tree_sibl : ?⁠pre:('a node extension as 'a node option -> 'a node -> 'a node option -> unit) -> ?⁠post:('a node option -> 'a node -> 'a node option -> unit) -> 'a node -> unit
type stripping_mode = [
| `Disabled
| `Strip_one
| `Strip_one_lf
| `Strip_seq
]
val strip_whitespace : ?⁠force:bool -> ?⁠left:stripping_mode -> ?⁠right:stripping_mode -> ?⁠delete_empty_nodes:bool -> 'a node extension as 'a node -> unit
val normalize : 'a node extension as 'a node -> unit
val validate : 'a node extension as 'a node -> unit
class !'a document : ?⁠swarner:Pxp_types.symbolic_warnings -> Pxp_types.collect_warnings -> Pxp_types.rep_encoding -> object ... end
val print_node : 'a node extension as 'a node -> unit
val print_doc : 'a node extension as 'a document -> unit
exception Error_event of exn
type !'a solid_xml = [
| `Document of 'a document
| `Node of 'a node
] constraint 'a = 'a node extension
val solidify : ?⁠dtd:Pxp_dtd.dtd -> Pxp_types.config -> 'a node extension as 'a spec -> (unit -> Pxp_types.event option) -> 'a solid_xml
val liquefy : ?⁠omit_end:bool -> ?⁠omit_positions:bool -> 'b node extension as 'b solid_xml -> 'a -> Pxp_types.event option