Ocsigen

This is a preliminary version of the documentation. Help us to improve it by filling tickets. We are looking for native english speakers to proof read the documentation. Contact us!

Module type Eliompredefmod.XHTMLFORMSSIG


module type XHTMLFORMSSIG = sig .. end


Links and forms


val make_string_uri : service:('a, unit, [< Eliomservices.get_service_kind ],
[< Eliomservices.suff ], 'b, unit, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params -> ?fragment:string -> 'a -> string
Creates the string corresponding to the URL of a service applyed to its GET parameters.
val a : ?a:Xhtmltypes.a_attrib XHTML.M.attrib list ->
service:('a, unit, [< Eliomservices.get_service_kind ],
[< Eliomservices.suff ], 'b, 'c, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params ->
?fragment:string ->
Xhtmltypes.a_content XHTML.M.elt list -> 'a -> [> Xhtmltypes.a ] XHTML.M.elt
a service sp cont () creates a link to service. The text of the link is cont. For example cont may be something like [pcdata "click here"].

The last parameter is for GET parameters. For example a service sp cont (42,"hello")

The ~a optional parameter is used for extra attributes (see the module XHTML.M).

The ~fragment optional parameter is used for the "fragment" part of the URL, that is, the part after character "#".

val css_link : ?a:Xhtmltypes.link_attrib XHTML.M.attrib list ->
uri:XHTML.M.uri -> unit -> [> Xhtmltypes.link ] XHTML.M.elt
Creates a <link> tag for a Cascading StyleSheet (CSS).
val js_script : ?a:Xhtmltypes.script_attrib XHTML.M.attrib list ->
uri:XHTML.M.uri -> unit -> [> Xhtmltypes.script ] XHTML.M.elt
Creates a <script> tag to add a javascript file
val make_uri : service:('a, unit, [< Eliomservices.get_service_kind ],
[< Eliomservices.suff ], 'b, unit, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params -> ?fragment:string -> 'a -> XHTML.M.uri
Create the text of the service. Like the a function, it may take extra parameters.
val get_form : ?a:Xhtmltypes.form_attrib XHTML.M.attrib list ->
service:('a, unit, [< Eliomservices.get_service_kind ],
[< Eliomservices.suff ], 'b, 'c, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params ->
?fragment:string ->
('b -> Xhtmltypes.form_content XHTML.M.elt list) ->
[> Xhtmltypes.form ] XHTML.M.elt
get_form service sp formgen creates a GET form to service. The content of the form is generated by the function formgen, that takes the names of the service parameters as parameters.
val post_form : ?a:Xhtmltypes.form_attrib XHTML.M.attrib list ->
service:('a, 'b, [< Eliomservices.post_service_kind ],
[< Eliomservices.suff ], 'c, 'd, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params ->
?fragment:string ->
?keep_get_na_params:bool ->
('d -> Xhtmltypes.form_content XHTML.M.elt list) ->
'a -> [> Xhtmltypes.form ] XHTML.M.elt
post_form service sp formgen creates a POST form to service. The last parameter is for GET parameters (as in the function a).

Form widgets


type basic_input_type = [ `Hidden | `Password | `Submit | `Text ] 
val int_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< basic_input_type ] ->
?name:[< int Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for an integer
val float_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< basic_input_type ] ->
?name:[< float Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for a float
val string_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< basic_input_type ] ->
?name:[< string Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for a string
val user_type_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< basic_input_type ] ->
?name:[< 'a Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:'a -> ('a -> string) -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for a user type
val raw_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< `Button | `Hidden | `Password | `Reset | `Submit | `Text ] ->
?name:string -> ?value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an untyped <input> tag. You may use the name you want (for example to use with Eliomparameters.any).
val file_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< Extensions.file_info Eliomparameters.setoneopt ]
Eliomparameters.param_name ->
unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for sending a file
val image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< Eliomparameters.coordinates Eliomparameters.oneopt ]
Eliomparameters.param_name ->
?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..."> tag that sends the coordinates the user clicked on
val int_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< (int * Eliomparameters.coordinates) Eliomparameters.oneopt ]
Eliomparameters.param_name ->
value:int -> ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and a value of type int
val float_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< (float * Eliomparameters.coordinates) Eliomparameters.oneopt ]
Eliomparameters.param_name ->
value:float -> ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and a value of type float
val string_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< (string * Eliomparameters.coordinates) Eliomparameters.oneopt ]
Eliomparameters.param_name ->
value:string -> ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and a value of type string
val user_type_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< ('a * Eliomparameters.coordinates) Eliomparameters.oneopt ]
Eliomparameters.param_name ->
value:'a ->
?src:XHTML.M.uri -> ('a -> string) -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and a value of user defined type
val raw_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:string ->
value:string -> ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and an untyped value
val bool_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `One of bool ] Eliomparameters.param_name ->
unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have a boolean value. The service must declare a bool parameter.
val int_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Set of int ] Eliomparameters.param_name ->
value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have an int value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type set.
val float_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Set of float ] Eliomparameters.param_name ->
value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have a float value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type set.
val string_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Set of string ] Eliomparameters.param_name ->
value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have a string value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type set.
val user_type_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Set of 'a ] Eliomparameters.param_name ->
value:'a -> ('a -> string) -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have a "user type" value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type set.
val raw_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:string -> value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag with untyped content. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type any.
val string_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Opt of string ] Eliomparameters.param_name ->
value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with string content
val int_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Opt of int ] Eliomparameters.param_name ->
value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with int content
val float_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Opt of float ] Eliomparameters.param_name ->
value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with float content
val user_type_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Opt of 'a ] Eliomparameters.param_name ->
value:'a -> ('a -> string) -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with user_type content
val raw_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:string -> value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with untyped string content (low level)
type button_type = [ `Button | `Reset | `Submit ] 
val string_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
name:[< string Eliomparameters.setone ] Eliomparameters.param_name ->
value:string ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with string content
val int_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
name:[< int Eliomparameters.setone ] Eliomparameters.param_name ->
value:int ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with int content
val float_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
name:[< float Eliomparameters.setone ] Eliomparameters.param_name ->
value:float ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with float content
val user_type_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
name:[< 'a Eliomparameters.setone ] Eliomparameters.param_name ->
value:'a ->
('a -> string) ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with user_type content
val raw_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
button_type:[< button_type ] ->
name:string ->
value:string ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with untyped string content
val button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
button_type:[< button_type ] ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with no value. No value is sent.
val textarea : ?a:Xhtmltypes.textarea_attrib XHTML.M.attrib list ->
name:[< string Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:Xhtmltypes.pcdata XHTML.M.elt ->
rows:int -> cols:int -> unit -> [> Xhtmltypes.textarea ] XHTML.M.elt
Creates a <textarea> tag
val raw_textarea : ?a:Xhtmltypes.textarea_attrib XHTML.M.attrib list ->
name:string ->
?value:Xhtmltypes.pcdata XHTML.M.elt ->
rows:int -> cols:int -> unit -> [> Xhtmltypes.textarea ] XHTML.M.elt
Creates a <textarea> tag for untyped form
type 'a soption = Xhtmltypes.option_attrib XHTML.M.attrib list * 'a *
Xhtmltypes.pcdata XHTML.M.elt option * bool

type 'a select_opt =
|Optgroup of [ `Class | `Disabled | `Id | `Title | `XML_lang ] XHTML.M.attrib list
* string * 'a soption
* 'a soption list
|Option of 'a soption

The type for <select> options and groups of options.
val int_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `One of int ] Eliomparameters.param_name ->
int select_opt ->
int select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for int values.
val float_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `One of float ] Eliomparameters.param_name ->
float select_opt ->
float select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for float values.
val string_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `One of string ] Eliomparameters.param_name ->
string select_opt ->
string select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for string values.
val user_type_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `One of 'a ] Eliomparameters.param_name ->
'a select_opt ->
'a select_opt list ->
('a -> string) -> [> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for user type values.
val raw_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:string ->
string select_opt ->
string select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for any (untyped) value.
val int_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `Set of int ] Eliomparameters.param_name ->
int select_opt ->
int select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for int values.
val float_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `Set of float ] Eliomparameters.param_name ->
float select_opt ->
float select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for float values.
val string_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `Set of string ] Eliomparameters.param_name ->
string select_opt ->
string select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for string values.
val user_type_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `Set of 'a ] Eliomparameters.param_name ->
'a select_opt ->
'a select_opt list ->
('a -> string) -> [> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for user type values.
val raw_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:string ->
string select_opt ->
string select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for any (untyped) value.