(* $Id$ * ---------------------------------------------------------------------- *) open Markup_types;; class type resolver = object method open_in : ext_id -> Lexing.lexbuf method close_in : unit method change_encoding : string -> unit method clone : resolver end ;; (* General note: close_in is simulated by close_all. Of course, this is * wrong, but it should not matter *) class resolve_read_channel ch the_warner = object (self) val pxp_resolver = new Pxp_reader.resolve_read_this_channel ~auto_close:false ch val warner = the_warner initializer pxp_resolver # init_warner (warner : Markup_types.collect_warnings :> Pxp_types.collect_warnings); pxp_resolver # init_rep_encoding `Enc_iso88591; method open_in xid = pxp_resolver # open_in xid method close_in = pxp_resolver # close_all (* sic! *) method change_encoding enc = pxp_resolver # change_encoding enc method clone = ( {< pxp_resolver = pxp_resolver # clone >} : #resolver :> resolver ) end ;; class resolve_read_string str = object (self) val pxp_resolver = new Pxp_reader.resolve_read_this_string str val warner = new Pxp_types.drop_warnings initializer pxp_resolver # init_warner warner; pxp_resolver # init_rep_encoding `Enc_iso88591; method open_in xid = pxp_resolver # open_in xid method close_in = pxp_resolver # close_all (* sic! *) method change_encoding enc = pxp_resolver # change_encoding enc method clone = ( {< pxp_resolver = pxp_resolver # clone >} : #resolver :> resolver ) end ;; class resolve_as_file the_warner = object (self) val pxp_resolver = new Pxp_reader.resolve_as_file ~system_encoding:`Enc_iso88591 () val warner = the_warner initializer pxp_resolver # init_warner (warner : Markup_types.collect_warnings :> Pxp_types.collect_warnings); pxp_resolver # init_rep_encoding `Enc_iso88591; method open_in xid = pxp_resolver # open_in xid method close_in = pxp_resolver # close_all (* sic! *) method change_encoding enc = pxp_resolver # change_encoding enc method clone = ( {< pxp_resolver = pxp_resolver # clone >} : #resolver :> resolver ) end ;; (* ====================================================================== * History: * * $Log$ * Revision 1.1 2000/11/17 09:57:30 lpadovan * Initial revision * * Revision 1.3 2000/07/14 21:35:35 gerd * Updated because of the simplification of Pxp_types.collect_warnings. * * Revision 1.2 2000/07/08 17:40:50 gerd * Updated the simulation. * * Revision 1.1 2000/05/29 23:43:51 gerd * Initial compatibility revision. * *)