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 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 "&#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 the Javascript norm.

val pp_number : Format.formatter -> float -> unit

Formatter functors

Printers for typed XML modules 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 />.

Printers for raw XML modules.

Deprecated functors

Use Make_fmt and Make_typed_fmt instead.

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