Xml_print
Printing utilities.
This module contains various encoding functions that can be used with Tyxml.Html.pp
and Tyxml.Svg.pp
.
It also contains functors to create printers for your own XML data structure.
The encoder maps strings to HTML and must encode the unsafe characters '<'
, '>'
, '"'
, '&'
and the control characters 0-8, 11-12, 14-31, 127 to HTML entities. encode_unsafe_char
is the default for ?encode
in output
and pretty_print
below. Other implementations are provided by the module Netencoding
in the OcamlNet library, e.g.:
let encode = Netencoding.Html.encode ~in_enc:`Enc_iso88591 ~out_enc:`Enc_usascii ()
Where national characters are replaced by HTML entities. The user is of course free to write her own implementation.
In addition, encode "@"
as "@"
in the hope that this will fool simple minded email address harvesters.
module Utf8 : sig ... end
Utf8 normalizer and encoder for HTML.
encoding
is the name of the character encoding, e.g. "US-ASCII"
or "UTF-8"
Convert a float to a string using a compact representation compatible with the Javascript norm.
val pp_number : Format.formatter -> float -> unit
See string_of_number
.
module Make_typed_fmt (Xml : Xml_sigs.Iterable) (Typed_xml : Xml_sigs.Typed_xml with module Xml := Xml) : Xml_sigs.Typed_pp with type 'a elt := 'a Typed_xml.elt and type doc := Typed_xml.doc
module type TagList = sig ... end
List of tags that can be printed as empty tags: <foo />
.
module Make_fmt (Xml : Xml_sigs.Iterable) (I : TagList) : Xml_sigs.Pp with type elt := Xml.elt
Printers for raw XML modules.
Use Make_fmt
and Make_typed_fmt
instead.
module Make (Xml : Xml_sigs.Iterable) (I : TagList) (O : Xml_sigs.Output) : Xml_sigs.Printer with type out := O.out and type xml_elt := Xml.elt
module Make_typed (Xml : Xml_sigs.Iterable) (Typed_xml : Xml_sigs.Typed_xml with module Xml := Xml) (O : Xml_sigs.Output) : Xml_sigs.Typed_printer with type out := O.out and type 'a elt
:= 'a Typed_xml.elt and type doc := Typed_xml.doc
module Make_simple (Xml : Xml_sigs.Iterable) (I : TagList) : Xml_sigs.Simple_printer with type xml_elt := Xml.elt
module Make_typed_simple (Xml : Xml_sigs.Iterable) (Typed_xml : Xml_sigs.Typed_xml with module Xml := Xml) : Xml_sigs.Typed_simple_printer with type 'a elt := 'a Typed_xml.elt and type doc := Typed_xml.doc