Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module Eliom_content

module Eliom_content : sig..end

This module provides the creation of valid XML content, i.e. XML, XHTML, SVG, and (X)HTML5. XML tree manipulation within Eliom is based on the TyXML library but use a custom representation for XML values (see Eliom_content.Xml). Then, Eliom_content redefines the three high level interfaces (Eliom_content.Svg, Eliom_content.Html5 and Eliom_content.Xhtml) that are provided by TyXML for valid XML tree creation and printing.

Modules Eliom_content.Html5, Eliom_content.Svg contain two implementing sub-modules: F and D.

Functional semantics

The F modules provide functions to create elements with functional semantics: On the one hand side, those values do not have an identity, which means utilizations of those values are independent of each other. On the other hand side, they cannot be referred to, neither by client code when created on the server, nor for usage in the functions of Eliom_content.Html5.To_dom and Eliom_content.Html5.Manip.

DOM semantics

The D modules provide functions to create elements with DOM semantics: Firstly, they behave like DOM nodes, e.g. they can only be added once to the DOM tree even when appended several times. Secondly, those values have an identity, which means they can be referred to on the client side (by %variable) or used with the functions Eliom_content.Html5.To_dom and Eliom_content.Html5.Manip.

In case of doubt, use the modules with DOM-like semantics D.

module type Forms = sig..end

Abstract signature for links and forms creation functions.

module Xml : 
  module type of Eliom_content_core.Xmlwith
type uri = Eliom_content_core.Xml.uri
and type attrib = Eliom_content_core.Xml.attrib
and type elt = Eliom_content_core.Xml.elt
and type event_handler = Eliom_content_core.Xml.event_handler
and type event_handler_table = Eliom_content_core.Xml.event_handler_table
type (-'a) caml_event_handler =
'a Eliom_content_core.Xml.caml_event_handler

Low-level XML manipulation.

module Svg : 
  module type of Eliom_content_core.Svgwith
type uri = Eliom_content_core.Svg.uri
and type 'a attrib = 'a Eliom_content_core.Svg.attrib
and type (+'a) elt = 'a Eliom_content_core.Svg.elt

Building and pretty-printing valid SVG tree.

module Html5 : sig..end

Building and printing valid (X)HTML5 tree.

module Xhtml : sig..end

Building valid XHTML.

module Html_text : sig..end