sig
type context = {
mutable current : unit -> Pxp_lexer_types.token;
mutable get_next : unit -> Pxp_lexer_types.token;
mutable current_token : Pxp_lexer_types.token;
mutable manager : Pxp_entity_manager.entity_manager;
}
type continuation_state = {
cont_context : Pxp_core_parser.context;
cont_extend_dtd : bool;
cont_process_xmldecl : bool;
}
exception End_of_parsing
exception Interrupt_parsing of Pxp_core_parser.continuation_state
val make_context :
?first_token:Pxp_lexer_types.token ->
Pxp_entity_manager.entity_manager -> Pxp_core_parser.context
type extended_entry =
[ `Entry_content of [ `Dummy ] list
| `Entry_continuation of Pxp_core_parser.continuation_state
| `Entry_declarations of [ `Extend_dtd_fully | `Val_mode_dtd ] list
| `Entry_document of
[ `Extend_dtd_fully | `Parse_xml_decl | `Val_mode_dtd ] list
| `Entry_expr of [ `Dummy ] list ]
type 'a array_stack
val stack_create : 'a -> 'a Pxp_core_parser.array_stack
val stack_push : 'a -> 'a Pxp_core_parser.array_stack -> unit
val stack_top : 'a Pxp_core_parser.array_stack -> 'a
val stack_pop : 'a Pxp_core_parser.array_stack -> 'a
class virtual core_parser :
Pxp_dtd.dtd ->
Pxp_types.config ->
int ->
object
val config : Pxp_types.config
val mutable dtd : Pxp_dtd.dtd
val lfactory : Pxp_lexer_types.lexer_factory
val mutable n_entities_open : int
val mutable n_tags_open : int
val mutable ns_scope : Pxp_dtd.namespace_scope option
val mutable p_internal_subset : bool
val mutable pull_counter : int
val pull_counter_limit : int
method private virtual event_char_data : string -> unit
method private virtual event_comment :
(string * int * int) option -> string list -> unit
method private virtual event_document_xmldecl :
Pxp_lexer_types.prolog_token list -> unit
method private virtual event_end_tag :
string -> Pxp_lexer_types.entity_id -> unit
method private virtual event_pinstr :
(string * int * int) option ->
string -> string -> Pxp_lexer_types.entity_id -> unit
method private virtual event_start_tag :
(string * int * int) option ->
string ->
(string * string) list -> bool -> Pxp_lexer_types.entity_id -> unit
method private virtual init_for_xml_body : unit -> unit
method private init_ns_processing : Pxp_dtd.namespace_manager -> unit
method private only_whitespace : string -> unit
method parse :
Pxp_core_parser.context -> Pxp_core_parser.extended_entry -> unit
method private pop_src_norm_mapping : unit -> unit
method private push_src_norm_mapping :
Pxp_dtd.namespace_manager ->
string ->
(string * string) list ->
string * string * string * (string * string * string * string) list
method private virtual sub_parser : unit -> Pxp_core_parser.core_parser
end
end