sig   type string   type encoding =       [ `ISO_8859_1 | `US_ASCII | `UTF_16 | `UTF_16BE | `UTF_16LE | `UTF_8 ]   type dtd = Xmlm.S.string option   type name = Xmlm.S.string * Xmlm.S.string   type attribute = Xmlm.S.name * Xmlm.S.string   type tag = Xmlm.S.name * Xmlm.S.attribute list   type signal =       [ `Data of Xmlm.S.string       | `Dtd of Xmlm.S.dtd       | `El_end       | `El_start of Xmlm.S.tag ]   val ns_xml : Xmlm.S.string   val ns_xmlns : Xmlm.S.string   type pos = int * int   type error =       [ `Expected_char_seqs of Xmlm.S.string list * Xmlm.S.string       | `Expected_root_element       | `Illegal_char_ref of Xmlm.S.string       | `Illegal_char_seq of Xmlm.S.string       | `Malformed_char_stream       | `Max_buffer_size       | `Unexpected_eoi       | `Unknown_encoding of Xmlm.S.string       | `Unknown_entity_ref of Xmlm.S.string       | `Unknown_ns_prefix of Xmlm.S.string ]   exception Error of Xmlm.S.pos * Xmlm.S.error   val error_message : Xmlm.S.error -> Xmlm.S.string   type source =       [ `Channel of Pervasives.in_channel       | `Fun of unit -> int       | `String of int * Xmlm.std_string ]   type input   val make_input :     ?enc:Xmlm.S.encoding option ->     ?strip:bool ->     ?ns:(Xmlm.S.string -> Xmlm.S.string option) ->     ?entity:(Xmlm.S.string -> Xmlm.S.string option) ->     Xmlm.S.source -> Xmlm.S.input   val input : Xmlm.S.input -> Xmlm.S.signal   val input_tree :     el:(Xmlm.S.tag -> 'a list -> 'a) ->     data:(Xmlm.S.string -> 'a) -> Xmlm.S.input -> 'a   val input_doc_tree :     el:(Xmlm.S.tag -> 'a list -> 'a) ->     data:(Xmlm.S.string -> 'a) -> Xmlm.S.input -> Xmlm.S.dtd * 'a   val peek : Xmlm.S.input -> Xmlm.S.signal   val eoi : Xmlm.S.input -> bool   val pos : Xmlm.S.input -> Xmlm.S.pos   type 'a frag = [ `Data of Xmlm.S.string | `El of Xmlm.S.tag * 'a list ]   type dest =       [ `Buffer of Xmlm.std_buffer       | `Channel of Pervasives.out_channel       | `Fun of int -> unit ]   type output   val make_output :     ?decl:bool ->     ?nl:bool ->     ?indent:int option ->     ?ns_prefix:(Xmlm.S.string -> Xmlm.S.string option) ->     Xmlm.S.dest -> Xmlm.S.output   val output_depth : Xmlm.S.output -> int   val output : Xmlm.S.output -> Xmlm.S.signal -> unit   val output_tree : ('-> 'Xmlm.S.frag) -> Xmlm.S.output -> '-> unit   val output_doc_tree :     ('-> 'Xmlm.S.frag) -> Xmlm.S.output -> Xmlm.S.dtd * '-> unit end