module Xml_print:sig
..end
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.
val encode_unsafe_char : string -> string
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.
val encode_unsafe_char_and_at : string -> string
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.
val compose_decl : ?version:string -> ?encoding:string -> unit -> string
encoding
is the name of the character encoding, e.g. "US-ASCII"
or "UTF-8"
val compose_doctype : string -> string list -> string
val string_of_number : float -> string
Convert a float to a string using a compact representation compatible with the Javascript norm.
val pp_number : Stdlib.Format.formatter -> float -> unit
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 Xml_print.Make_fmt
and Xml_print.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