module Eliom_content: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 (seesig
..end
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
module Xml:module type of Eliom_content_core.Xml
with 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 and type (-'a) caml_event_handler = 'a Eliom_content_core.Xml.caml_event_handler
module Svg:module type of Eliom_content_core.Svg
with 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
module Html5:sig
..end
module Xhtml:sig
..end
module Html_text:sig
..end