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

Module Eliom_predefmod

module Eliom_predefmod: sig..end

This modules contains predefined modules for generating forms and registering handlers, for several types of pages: XHTML pages typed with polymorphic variants, untyped (text) pages, actions, redirections, files ...


module type ELIOMSIG = sig..end

The signature of such modules.


Module for registering Xhtml pages typed with polymorphic variants using XHTML.M



Creating links and forms


module type XHTMLFORMSSIG = sig..end


Forms and registration functions


module Xhtml: sig..end

Eliom forms and service registration functions for XHTML

module Xhtmlreg:
   Eliom_mkreg.ELIOMREGSIG   with type page = xhtml elt
    and type options = XHTML.M.doctypes

module Xhtmlreg_:

functor (Xhtml_content:
   Ocsigen_http_frame.HTTP_CONTENT   with type t = [ `Html ] XHTML.M.elt
    and type options = XHTML.M.doctypes
) ->
   Eliom_mkreg.REGCREATE   with type page = Xhtml_content.t
    and type options = XHTML.M.doctypes

module Xhtmlcompact: sig..end

Eliom forms and service registration functions for XHTML, with compact markup (i.e., without pretty-printing).

module Xhtmlcompactreg:
   Eliom_mkreg.ELIOMREGSIG   with type page = xhtml elt
    and type options = XHTML.M.doctypes


Module to register subpages of type block


module Blocks: sig..end

Use this module for example for XMLHttpRequests for block tags (e.g.


Functor to create modules to register subpages for other subtypes of XHTML


module SubXhtml:

functor (T:sig

type content

end) ->sig..end


Untyped pages


module HtmlText:
   ELIOMSIG   with
   type page = string
   and type form_content_elt = string
   and type form_content_elt_list = string
   and type form_elt = string
   and type a_content_elt = string
   and type a_content_elt_list = string
   and type a_elt = string
   and type a_elt_list = string
   and type div_content_elt = string
   and type div_content_elt_list = string
   and type uri = string
   and type link_elt = string
   and type script_elt = string
   and type textarea_elt = string
   and type select_elt = string
   and type input_elt = string
   and type pcdata_elt = string
   and type a_attrib_t = string
   and type form_attrib_t = string
   and type input_attrib_t = string
   and type textarea_attrib_t = string
   and type select_attrib_t = string
   and type link_attrib_t = string
   and type script_attrib_t = string
   and type input_type_t = string

Module to create forms and register untyped HTML pages

module CssText: Eliom_mkreg.ELIOMREGSIG   with type page = string

Module to register untyped CSS pages

module Text: Eliom_mkreg.ELIOMREGSIG   with type page = string * string

Module to register untyped text pages


Other kinds of services


module Action:
   Eliom_mkreg.ELIOMREGSIG   with
    type page = unit
    and type options = [ `Reload | `NoReload ]

Actions do not generate any page.

module Unit:
   Eliom_mkreg.ELIOMREGSIG   with
    type page = unit

Like actions, but the page is not reloaded.

module Redirection:
   Eliom_mkreg.ELIOMREGSIG   with
    type page =
    (unit, unit, Eliom_services.get_service_kind,
    [ `WithoutSuffix ],
    unit, unit, Eliom_services.registrable)
    Eliom_services.service
    and type options = [ `Temporary | `Permanent ]

Allows to create redirections towards another service.

module String_redirection:
   Eliom_mkreg.ELIOMREGSIG   with
    type page = XHTML.M.uri
    and type options = [ `Temporary | `Permanent ]

Allows to create redirections towards other URLs.

module Files:
   Eliom_mkreg.ELIOMREGSIG   with
    type page = string

Allows to send files.

module Any:
   Eliom_mkreg.ELIOMREGSIG   with
    type page = Ocsigen_http_frame.result

Allows to create services that choose dynamically what they want to send.

module Streamlist:
   Eliom_mkreg.ELIOMREGSIG   with
    type page = (((unit -> string Ocsigen_stream.t Lwt.t) list) *
    string)

Allows to send raw data using Ocsigen's streams.