Module 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.
Encoding functions
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
inoutput
andpretty_print
below. Other implementations are provided by the moduleNetencoding
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.
Utilities
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
See
string_of_number
.
Formatter functors
module Make_typed_fmt : functor (Xml : Xml_sigs.Iterable) -> functor (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
Printers for typed XML modules such as the one produced by
Svg_f
andHtml_f
.
module type TagList = sig ... end
List of tags that can be printed as empty tags:
<foo />
.
module Make_fmt : functor (Xml : Xml_sigs.Iterable) -> functor (I : TagList) -> Xml_sigs.Pp with type elt := Xml.elt
Printers for raw XML modules.
Deprecated functors
Use Make_fmt
and Make_typed_fmt
instead.
module Make : functor (Xml : Xml_sigs.Iterable) -> functor (I : TagList) -> functor (O : Xml_sigs.Output) -> Xml_sigs.Printer with type out := O.out and type xml_elt := Xml.elt
module Make_typed : functor (Xml : Xml_sigs.Iterable) -> functor (Typed_xml : Xml_sigs.Typed_xml with module Xml := Xml) -> functor (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 : functor (Xml : Xml_sigs.Iterable) -> functor (I : TagList) -> Xml_sigs.Simple_printer with type xml_elt := Xml.elt
module Make_typed_simple : functor (Xml : Xml_sigs.Iterable) -> functor (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