<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <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 rel="previous" href="Pxp_reader.rewrite_system_id.html"> <link rel="Up" href="Pxp_reader.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_reader.combine</title> </head> <body> <div class="navbar"><a href="Pxp_reader.rewrite_system_id.html">Previous</a> <a href="Pxp_reader.html">Up</a> </div> <center><h1>Class <a href="type_Pxp_reader.combine.html">Pxp_reader.combine</a></h1></center> <br> <pre><span class="keyword">class</span> <a name="TYPEcombine"></a>combine : <code class="type">?mode:<a href="Pxp_reader.html#TYPEcombination_mode">combination_mode</a> -> <a href="Pxp_reader.resolver.html">resolver</a> list -> </code><code class="type"><a href="Pxp_reader.resolver.html">resolver</a></code></pre>Combines several resolver objects. If a concrete entity with an <code class="code">ext_id</code> is to be opened, the combined resolver tries the contained resolvers in turn until a resolver accepts opening the entity (i.e. until a resolver does not raise <code class="code"><span class="constructor">Not_competent</span></code> on <code class="code">open_rid</code>). <p> If the entity to open has several names, e.g. a public name and a system name, these names are tried in parallel by default. For backward compatibility, the <code class="code">mode</code> argument allows one to specify a different order: <p> <ul> <li><code class="code"><span class="constructor">Public_before_system</span></code>: Try first to open as public identifier, and if that fails, fall back to the system identifier </li> <li><code class="code"><span class="constructor">System_before_public</span></code>: Try first to open as system identifier, and if that fails, fall back to the public identifier</li> </ul> Clones: If the <code class="code">clone</code> method is invoked on the combined resolver while it is closed, the effect is that all contained resolvers are cloned and the combination is repeated on the clones. If the <code class="code">clone</code> method is invoked while the resolver is open, only the active sub resolver is cloned (i.e. the resolver that accepted the ID in the first place).<br> <hr width="100%"> </body></html>