module Make: functor (
String
:
String
) ->
functor (
Buffer
:
Buffer
with type string = String.t
) ->
S
with type string = String.t
Functor building streaming XML IO with the given strings and buffers.
Parameters: |
String |
: |
String
|
Buffer |
: |
Buffer with type string = String.t
|
|
Basic types and values
type
string
type
encoding = [ `ISO_8859_1 | `US_ASCII | `UTF_16 | `UTF_16BE | `UTF_16LE | `UTF_8 ]
type
dtd = string option
type
name = string * string
type
attribute = name * string
type
tag = name * attribute list
type
signal = [ `Data of string
| `Dtd of dtd
| `El_end
| `El_start of tag ]
val ns_xml : string
val ns_xmlns : string
type
pos = int * int
type
error = [ `Expected_char_seqs of string list * string
| `Expected_root_element
| `Illegal_char_ref of string
| `Illegal_char_seq of string
| `Malformed_char_stream
| `Max_buffer_size
| `Unexpected_eoi
| `Unknown_encoding of string
| `Unknown_entity_ref of string
| `Unknown_ns_prefix of string ]
exception Error of pos * error
val error_message : error -> string
type
source = [ `Channel of Pervasives.in_channel
| `Fun of unit -> int
| `String of int * Xmlm.std_string ]
type
input
val make_input : ?enc:encoding option ->
?strip:bool ->
?ns:(string -> string option) ->
?entity:(string -> string option) ->
source -> input
val input : input -> signal
val input_tree : el:(tag -> 'a list -> 'a) ->
data:(string -> 'a) -> input -> 'a
val input_doc_tree : el:(tag -> 'a list -> 'a) ->
data:(string -> 'a) -> input -> dtd * 'a
val peek : input -> signal
val eoi : input -> bool
val pos : input -> pos
Output
type 'a
frag = [ `Data of string | `El of 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:(string -> string option) ->
dest -> output
val output_depth : output -> int
val output : output -> signal -> unit
val output_tree : ('a -> 'a frag) -> output -> 'a -> unit
val output_doc_tree : ('a -> 'a frag) -> output -> dtd * 'a -> unit