Module Xml_print

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.



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 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.
See also OcamlNet
val encode_unsafe_char_and_at : string -> string
In addition, encode "@" as "&#64;" 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 Javascript norme.
val pp_number : Format.formatter -> float -> unit
See Xml_print.string_of_number.

Formatter functors


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
Printers for typed XML module, such as the one produced by Svg_f and Html_f.
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.

Deprecated functors

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