Module Pxp_dtd


module Pxp_dtd: sig .. end


Pxp_dtd:

Object model of document type declarations

type validation_record = {
   content_model : Pxp_core_types.content_model_type;
   content_dfa : Pxp_dfa.dfa_definition option Lazy.t;
   id_att_name : string option;
   idref_att_names : string list;
   att_lookup : int Pxp_aux.Str_hashtbl.t;
   init_att_vals : (string * Pxp_core_types.att_value) array;
   att_info : (Pxp_core_types.att_type * bool) array;
   att_required : int list;
   accept_undeclared_atts : bool;
}
This is an internally structure used to pass validation information efficiently from the DTD to the document nodes. Please do not use this type in your own programs.
class namespace_manager : object .. end
val create_namespace_manager : unit -> namespace_manager
Preferred way of creating a namespace_manager
class type namespace_scope = object .. end
The recursive class type namespace_scope represents the original namespace declarations found in the XML text.
class namespace_scope_impl : namespace_manager -> namespace_scope option -> (string * string) list -> namespace_scope
An implementation of namespace_scope.
val create_namespace_scope : ?parent:namespace_scope ->
?decl:(string * string) list ->
namespace_manager -> namespace_scope
Preferred way of creating a namespace_scope
class dtd : ?swarner:Pxp_core_types.symbolic_warnings -> Pxp_core_types.collect_warnings -> Pxp_core_types.rep_encoding -> object .. end

----------------------------------------------------------------------
class dtd_element : dtd -> string -> object .. end

----------------------------------------------------------------------
class dtd_notation : string -> Pxp_core_types.ext_id -> Pxp_core_types.rep_encoding -> object .. end

----------------------------------------------------------------------
class proc_instruction : string -> string -> Pxp_core_types.rep_encoding -> object .. end

----------------------------------------------------------------------
val create_dtd : ?swarner:Pxp_core_types.symbolic_warnings ->
?warner:Pxp_core_types.collect_warnings ->
Pxp_core_types.rep_encoding -> dtd
Preferred way of creating a DTD. Example: let dtd = create_dtd ?swarner:config.swarner ~warner:config.warner config.encoding

See also Pxp_dtd_parser.create_empty_dtd.


----------------------------------------------------------------------

type source =
| Entity of ((dtd -> Pxp_entity.entity) * Pxp_reader.resolver)
| ExtID of (Pxp_core_types.ext_id * Pxp_reader.resolver)
| XExtID of (Pxp_core_types.ext_id * string option * Pxp_reader.resolver) (*Sources are pairs of (1) names of entities to open, and (2) methods of opening entities. See Pxp_yacc for more documentation.*)

----------------------------------------------------------------------

Useful properties of entities: The following submodule exports all stable properties of the entity classes. Please use this module, and not Pxp_entity to access entities.
module Entity: sig .. end