
Tyxml allows one to build xml trees whose validity is ensured by the typechecker. it's based on a translation of xml types into polymorphic variants, originally written by thorsten ohl. currently, the transcription has been done for xhtml 1.0 and 1.1, html5 and svg (partial).
tyxml also provides a generic printer and some low-level (and untyped) iterators over xml trees. the printer has options for printing xhtml in more browser-friendly way when served as "text/html" (instead of "text/xml"). html5 is always printed with those options.
all modules provided by tyxml are also provided in functorial interface, where every module is parameterised by the underlying xml representation.
a camlp4 extension, named pa_tyxml, allows one to write html pages or html fragments with the usual syntax.
this package contains dynamically loadable modules for plugins.