TyXML is a library for building statically correct HTML5 and SVG documents
Library tyxml_f
Module Xml_print

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.


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

Formatter functors

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 />.

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