<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of class methods" rel=Appendix href="index_methods.html"> <link title="Index of classes" rel=Appendix href="index_classes.html"> <link title="Index of class types" rel=Appendix href="index_class_types.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Pxp_types" rel="Chapter" href="Pxp_types.html"> <link title="Pxp_document" rel="Chapter" href="Pxp_document.html"> <link title="Pxp_dtd" rel="Chapter" href="Pxp_dtd.html"> <link title="Pxp_tree_parser" rel="Chapter" href="Pxp_tree_parser.html"> <link title="Pxp_core_types" rel="Chapter" href="Pxp_core_types.html"> <link title="Pxp_ev_parser" rel="Chapter" href="Pxp_ev_parser.html"> <link title="Pxp_event" rel="Chapter" href="Pxp_event.html"> <link title="Pxp_dtd_parser" rel="Chapter" href="Pxp_dtd_parser.html"> <link title="Pxp_codewriter" rel="Chapter" href="Pxp_codewriter.html"> <link title="Pxp_marshal" rel="Chapter" href="Pxp_marshal.html"> <link title="Pxp_yacc" rel="Chapter" href="Pxp_yacc.html"> <link title="Pxp_reader" rel="Chapter" href="Pxp_reader.html"> <link title="Intro_trees" rel="Chapter" href="Intro_trees.html"> <link title="Intro_extensions" rel="Chapter" href="Intro_extensions.html"> <link title="Intro_namespaces" rel="Chapter" href="Intro_namespaces.html"> <link title="Intro_events" rel="Chapter" href="Intro_events.html"> <link title="Intro_resolution" rel="Chapter" href="Intro_resolution.html"> <link title="Intro_getting_started" rel="Chapter" href="Intro_getting_started.html"> <link title="Intro_advanced" rel="Chapter" href="Intro_advanced.html"> <link title="Intro_preprocessor" rel="Chapter" href="Intro_preprocessor.html"> <link title="Example_readme" rel="Chapter" href="Example_readme.html"><title>PXP Reference : Pxp_dtd</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> validation_record = {<br> content_model : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.content_model_type;<br> content_dfa : <span class="constructor">Pxp_dfa</span>.dfa_definition option <span class="constructor">Lazy</span>.t;<br> id_att_name : string option;<br> idref_att_names : string list;<br> att_lookup : int <span class="constructor">Pxp_aux</span>.<span class="constructor">Str_hashtbl</span>.t;<br> init_att_vals : (string * <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.att_value) array;<br> att_info : (<span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.att_type * bool) array;<br> att_required : int list;<br> accept_undeclared_atts : bool;<br> }<br> <span class="keyword">class</span> namespace_manager :<br> <span class="keyword">object</span><br> <span class="keyword">method</span> add_namespace : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> add_uri : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> as_declaration : (string * string) list<br> <span class="keyword">method</span> get_normprefix : string <span class="keywordsign">-></span> string<br> <span class="keyword">method</span> get_primary_uri : string <span class="keywordsign">-></span> string<br> <span class="keyword">method</span> get_uri_list : string <span class="keywordsign">-></span> string list<br> <span class="keyword">method</span> iter_namespaces : (string <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> lookup_or_add_namespace : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string<br> <span class="keyword">end</span><br> <span class="keyword">val</span> create_namespace_manager : unit <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.namespace_manager<br> <span class="keyword">class</span> <span class="keyword">type</span> namespace_scope =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> declaration : (string * string) list<br> <span class="keyword">method</span> display_prefix_of_normprefix : string <span class="keywordsign">-></span> string<br> <span class="keyword">method</span> display_prefix_of_uri : string <span class="keywordsign">-></span> string<br> <span class="keyword">method</span> effective_declaration : (string * string) list<br> <span class="keyword">method</span> namespace_manager : <span class="constructor">Pxp_dtd</span>.namespace_manager<br> <span class="keyword">method</span> normprefix_of_display_prefix : string <span class="keywordsign">-></span> string<br> <span class="keyword">method</span> parent_scope : <span class="constructor">Pxp_dtd</span>.namespace_scope option<br> <span class="keyword">method</span> uri_of_display_prefix : string <span class="keywordsign">-></span> string<br> <span class="keyword">end</span><br> <span class="keyword">class</span> namespace_scope_impl :<br> <span class="constructor">Pxp_dtd</span>.namespace_manager <span class="keywordsign">-></span><br> <span class="constructor">Pxp_dtd</span>.namespace_scope option <span class="keywordsign">-></span><br> (string * string) list <span class="keywordsign">-></span> namespace_scope<br> <span class="keyword">val</span> create_namespace_scope :<br> ?parent:<span class="constructor">Pxp_dtd</span>.namespace_scope <span class="keywordsign">-></span><br> ?decl:(string * string) list <span class="keywordsign">-></span><br> <span class="constructor">Pxp_dtd</span>.namespace_manager <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.namespace_scope<br> <span class="keyword">class</span> dtd :<br> ?swarner:<span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.symbolic_warnings <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.collect_warnings <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding <span class="keywordsign">-></span><br> <span class="keyword">object</span><br> <span class="keyword">method</span> add_element : <span class="constructor">Pxp_dtd</span>.dtd_element <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> add_gen_entity : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> add_notation : <span class="constructor">Pxp_dtd</span>.dtd_notation <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> add_par_entity : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> add_pinstr : <span class="constructor">Pxp_dtd</span>.proc_instruction <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> allow_arbitrary : unit<br> <span class="keyword">method</span> arbitrary_allowed : bool<br> <span class="keyword">method</span> disallow_arbitrary : unit<br> <span class="keyword">method</span> element : string <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.dtd_element<br> <span class="keyword">method</span> element_names : string list<br> <span class="keyword">method</span> encoding : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding<br> <span class="keyword">method</span> gen_entity : string <span class="keywordsign">-></span> <span class="constructor">Pxp_entity</span>.entity * bool<br> <span class="keyword">method</span> gen_entity_names : string list<br> <span class="keyword">method</span> id : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.dtd_id option<br> <span class="keyword">method</span> invalidate : unit<br> <span class="keyword">method</span> lexer_factory : <span class="constructor">Pxp_lexer_types</span>.lexer_factory<br> <span class="keyword">method</span> namespace_manager : <span class="constructor">Pxp_dtd</span>.namespace_manager<br> <span class="keyword">method</span> notation : string <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.dtd_notation<br> <span class="keyword">method</span> notation_names : string list<br> <span class="keyword">method</span> only_deterministic_models : unit<br> <span class="keyword">method</span> par_entity : string <span class="keywordsign">-></span> <span class="constructor">Pxp_entity</span>.entity<br> <span class="keyword">method</span> par_entity_names : string list<br> <span class="keyword">method</span> pinstr : string <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.proc_instruction list<br> <span class="keyword">method</span> pinstr_names : string list<br> <span class="keyword">method</span> root : string option<br> <span class="keyword">method</span> set_id : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.dtd_id <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> set_namespace_manager : <span class="constructor">Pxp_dtd</span>.namespace_manager <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> set_root : string <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> set_standalone_declaration : bool <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> standalone_declaration : bool<br> <span class="keyword">method</span> swarner : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.symbolic_warnings option<br> <span class="keyword">method</span> validate : unit<br> <span class="keyword">method</span> warner : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.collect_warnings<br> <span class="keyword">method</span> write :<br> ?root:string <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.output_stream <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.encoding <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> write_ref :<br> ?root:string <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.output_stream <span class="keywordsign">-></span> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.encoding <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">and</span> dtd_element :<br> <span class="constructor">Pxp_dtd</span>.dtd <span class="keywordsign">-></span><br> string <span class="keywordsign">-></span><br> <span class="keyword">object</span><br> <span class="keyword">method</span> add_attribute :<br> string <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.att_type <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.att_default <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> allow_arbitrary : unit<br> <span class="keyword">method</span> arbitrary_allowed : bool<br> <span class="keyword">method</span> attribute :<br> string <span class="keywordsign">-></span> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.att_type * <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.att_default<br> <span class="keyword">method</span> attribute_names : string list<br> <span class="keyword">method</span> attribute_violates_standalone_declaration :<br> string <span class="keywordsign">-></span> string option <span class="keywordsign">-></span> bool<br> <span class="keyword">method</span> content_dfa : <span class="constructor">Pxp_dfa</span>.dfa_definition option<br> <span class="keyword">method</span> content_model : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.content_model_type<br> <span class="keyword">method</span> disallow_arbitrary : unit<br> <span class="keyword">method</span> encoding : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding<br> <span class="keyword">method</span> externally_declared : bool<br> <span class="keyword">method</span> id_attribute_name : string option<br> <span class="keyword">method</span> idref_attribute_names : string list<br> <span class="keyword">method</span> internal_vr : <span class="constructor">Pxp_dtd</span>.validation_record<br> <span class="keyword">method</span> name : string<br> <span class="keyword">method</span> names_of_required_attributes : string list<br> <span class="keyword">method</span> set_cm_and_extdecl :<br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.content_model_type <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> validate : unit<br> <span class="keyword">method</span> write :<br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.output_stream <span class="keywordsign">-></span> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.encoding <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">and</span> dtd_notation :<br> string <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.ext_id <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding <span class="keywordsign">-></span><br> <span class="keyword">object</span><br> <span class="keyword">method</span> encoding : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding<br> <span class="keyword">method</span> ext_id : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.ext_id<br> <span class="keyword">method</span> name : string<br> <span class="keyword">method</span> write :<br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.output_stream <span class="keywordsign">-></span> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.encoding <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">and</span> proc_instruction :<br> string <span class="keywordsign">-></span><br> string <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding <span class="keywordsign">-></span><br> <span class="keyword">object</span><br> <span class="keyword">method</span> encoding : <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding<br> <span class="keyword">method</span> parse_pxp_option : string * string * (string * string) list<br> <span class="keyword">method</span> target : string<br> <span class="keyword">method</span> value : string<br> <span class="keyword">method</span> write :<br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.output_stream <span class="keywordsign">-></span> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.encoding <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">val</span> create_dtd :<br> ?swarner:<span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.symbolic_warnings <span class="keywordsign">-></span><br> ?warner:<span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.collect_warnings <span class="keywordsign">-></span><br> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.dtd<br> <span class="keyword">type</span> source =<br> <span class="constructor">Entity</span> <span class="keyword">of</span> ((<span class="constructor">Pxp_dtd</span>.dtd <span class="keywordsign">-></span> <span class="constructor">Pxp_entity</span>.entity) * <span class="constructor">Pxp_reader</span>.resolver)<br> <span class="keywordsign">|</span> <span class="constructor">ExtID</span> <span class="keyword">of</span> (<span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.ext_id * <span class="constructor">Pxp_reader</span>.resolver)<br> <span class="keywordsign">|</span> <span class="constructor">XExtID</span> <span class="keyword">of</span><br> (<span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.ext_id * string option * <span class="constructor">Pxp_reader</span>.resolver)<br> <span class="keyword">module</span> <span class="constructor">Entity</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> get_name : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> get_full_name : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> get_encoding : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.rep_encoding<br> <span class="keyword">val</span> get_type : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> [ <span class="keywordsign">`</span><span class="constructor">External</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Internal</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">NDATA</span> ]<br> <span class="keyword">val</span> replacement_text : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> get_xid : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.ext_id option<br> <span class="keyword">val</span> get_resolver_id :<br> <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> <span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.resolver_id option<br> <span class="keyword">val</span> get_notation : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> string option<br> <span class="keyword">val</span> create_internal_entity :<br> name:string <span class="keywordsign">-></span> value:string <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.dtd <span class="keywordsign">-></span> <span class="constructor">Pxp_entity</span>.entity<br> <span class="keyword">val</span> create_ndata_entity :<br> name:string <span class="keywordsign">-></span><br> xid:<span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.ext_id <span class="keywordsign">-></span><br> notation:string <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.dtd <span class="keywordsign">-></span> <span class="constructor">Pxp_entity</span>.entity<br> <span class="keyword">val</span> create_external_entity :<br> ?doc_entity:bool <span class="keywordsign">-></span><br> ?system_base:string <span class="keywordsign">-></span><br> name:string <span class="keywordsign">-></span><br> xid:<span class="constructor">Pxp_core_types</span>.<span class="constructor">I</span>.ext_id <span class="keywordsign">-></span><br> resolver:<span class="constructor">Pxp_reader</span>.resolver <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.dtd <span class="keywordsign">-></span> <span class="constructor">Pxp_entity</span>.entity<br> <span class="keyword">val</span> from_external_source :<br> ?doc_entity:bool <span class="keywordsign">-></span><br> name:string <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.dtd <span class="keywordsign">-></span> <span class="constructor">Pxp_dtd</span>.source <span class="keywordsign">-></span> <span class="constructor">Pxp_entity</span>.entity<br> <span class="keyword">val</span> entity_id : <span class="constructor">Pxp_entity</span>.entity <span class="keywordsign">-></span> <span class="constructor">Pxp_lexer_types</span>.entity_id<br> <span class="keyword">val</span> lookup : <span class="constructor">Pxp_lexer_types</span>.entity_id <span class="keywordsign">-></span> <span class="constructor">Pxp_entity</span>.entity<br> <span class="keyword">val</span> create_entity_id : unit <span class="keywordsign">-></span> <span class="constructor">Pxp_lexer_types</span>.entity_id<br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>