---
name: "Eliom_content.Xhtml.F.server"
section: "3o"
platform: "linux"
package: "libeliom-ocaml-doc"
version: "2.2.2-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Eliom_content.Xhtml.F.server"
---

# Eliom\_content.Xhtml.F.server(3o)

Creation of functional HTML5 content (copy-able but not referable).

## NAME

Eliom\_content.Xhtml.F - Creation of functional HTML5 content (copy-able but not referable).

## Module

Module   Eliom\_content.Xhtml.F

## Documentation

Module **F**\
  :  **sig end**

Creation of functional HTML5 content (copy-able but not referable).

*include Eliom\_content\_core.Xhtml.F*

**Content creation** See

**===** **Forms creation** **===**

**===** **Links and forms** **===**

*val make\_uri* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **service:('a, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'b, unit, \[\< Eliom\_service.registrable \],** **'c)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\> 'a -\> Eliom\_content\_core.Xml.uri**

The function  **make\_uri service get\_params** returns the URL of the service  **service** applied to the GET parameters  **get\_params** . By default the returned URL is relative to the current request URL but it is absolute when one of the following conditions is met:

\-the optional parameter  **~absolute\_path** is  **true** .

\-the optional parameter  **~absolute** is  **true** .

\-the optional parameter  **~https** is  **true** (resp.  **false** ) and the current request protocol is  **http** (resp.  **https** ).

\-the optional parameter  **~https** is  **true** and the function is used outside of a service handler

\-the  **service** has been created with  **~https:true** and the current request protocol is  **http** .

\-the  **service** has been created with  **~https:true** and the function is used outside of a service handler.

When only the first condition is met ( **~absolute\_path** is  **true** ) the returned URL is just the absolute path, but when any other condition is satisfied the returned URL is prefixed with **protocol://hostname\[:port\]** , where:

\- **protocol** is:

\- **https** if the  **service** has been created with  **~https:true** or the optional parameter  **~https** is  **true** ;

\- **http** if  the optional parameter  **~https** is  **false** ;

\-the current request protocol if available;

\- **http** in any other case.

\- **hostname** is:

\-the optional parameter  **~hostname** if given;

\-the attribute  **defaulthostname** of  **\<host\>** tag in configuration file or the machine hostname if the option  **\<usedefaulthostname/\>** is set;

\-the  **Host** http header of the current request if available;

\-the attribute  **defaulthostname** of  **\<host\>** tag in configuration file or the machine hostname in any other case.

7    -  **port** is:

\-the optional parameter  **~port** if given;

\-the attribute  **defaulthttpsport** (resp.  **defaulthttpport** ) of  **\<host\>** tag in configuration file or  **443** (resp. 80) if  **protocol** is  **https** (resp.  **http** ) and the current request protocol is  **http** (resp.  **https** );

\-the attribute  **defaulthttpsport** (resp.  **defaulthttpsport** ) of  **\<host\>** tag in configuration file or  **443** (resp. 80) if the option  **\<usedefaulthostname/\>** is set and  **protocol** is  **https** (resp.  **http** );

\-the port associated to the  **Host** http header of the current request if available;

\-the incoming port of the current request if available;

\-the attribute  **defaulthttpport** (resp.  **defaulthttpsport** ) of  **\<host\>** tag in configuration file or  **80** (resp.  **443** ) in any other case.

If given the optional parameter  **~fragment** is prefixed by  **#** and appended to the URL.

The optional parameter  **keep\_nl\_params** allows one to override the **keep\_nl\_params** parameter used when creating the  **service** , see **Eliom\_service.service** for a detailled description.

The optional parameter  **nl\_params** allows one to add non localized GET parameter to the URL.  See the eliom manual for more information about .

*val make\_string\_uri* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **service:('a, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'b, unit, \[\< Eliom\_service.registrable \],** **'c)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\> 'a -\> string**

The function  **make\_string\_uri service get\_params** returns the URL of the of the service  **service** applied to the GET parameters **get\_params** . See  **Eliom\_content.Xhtml.F.make\_uri** for a detailled description of optional parameters.

The function  **make\_string\_uri** is an alias of  **Eliom\_uri.make\_string\_uri** .

Warning: The function  **make\_string\_uri** should not be called outside of a service handler, unless one of the following condition is met:

\-the optional parameter  **~absolute\_path** is  **true** .

\-the optional parameter  **~absolute** is  **true** .

\-the optional parameter  **~https** is  **true** .

\-the  **service** has been created with  **~https:true** .

\-the  **service** is an external service.

*val uri\_of\_string* :  **(unit -\> string) -\> Eliom\_content\_core.Xml.uri**

The function  **uri\_of\_string f** returns a URI whose content is equivalent to  **f ()** .

For XML tree build with TyXML, like  **Eliom\_content.Html5** ,  **Eliom\_content.Xhtml** or **Svg.F** , the function  **f** is applied each time the XML tree is sent to the client (either as page content or as a marshalled OCaml value). Hence, the function is always evaluated in the context of a service handler.

For other module, the function  **f** is immediatly applied.

*val make\_uri\_components* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **service:('a, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'b, unit, \[\< Eliom\_service.registrable \],** **'c)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **'a -\> string \* (string \* string) list \* string option**

The function  **make\_uri\_components service get\_params** returns the a triplet  **(path, get\_params, fragment)** that is a decomposition of the URL for the service  **service** applied to the GET parameters **get\_params** . By default the returned  **path** is relative to the current request URL but it could be absolute URL in some situation, see  **Eliom\_content.Xhtml.F.make\_uri** for more information and a description of optional parameters.

The function  **make\_uri\_components** is an alias for **Eliom\_uri.make\_uri\_components** .

Warning: depending on the optional parameters, the function **make\_uri\_components** may not be used outside of a service handler. See  **Eliom\_content.Xhtml.F.make\_string\_uri** for a detailled description.

*val make\_post\_uri\_components* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **service:('a, 'b, \[\< Eliom\_service.post\_service\_kind \],** **\[\< Eliom\_service.suff \], 'c, 'd, \[\< Eliom\_service.registrable \], 'e)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?keep\_get\_na\_params:bool -\>** **'a -\>** **'b -\>** **string \* (string \* string) list \* string option \* (string \* string) list**

Same a  **Eliom\_content.Xhtml.F.make\_uri\_components** , but also returns a list of post parameters.

*val a* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Xhtml\_types.a\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **service:('a, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'b, unit, \[\< Eliom\_service.registrable \],** **'c)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?xhr:bool -\>** **Xhtml\_types.a\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **'a -\> \[\> Xhtml\_types.a \] Eliom\_content\_core.Xhtml.F.elt**

The function  **a service a\_content get\_params** creates a  **\<a\>** node that link to  **service** applied to GET parameters  **get\_params** and whose content is  **a\_content** . By default, the  **href** attribute is a relative URL recomputed at each request with  **Eliom\_content.Xhtml.F.make\_uri** .

By default, the link is realized such that the client-side Eliom application keeps running irrespectable of the usage of the link (cf. ).

By contrast, if the optional parameter  **~xhr:false** is given, the link is realized as a standard HTML link and clicking it discontinues the Eliom application. The  **~xhr** parameter has no effect outside an Eliom application.

NB that the default value of  **~xhr** is configurable through \<\<a\_api project="eliom" subproject="server" \| val Eliom\_config.set\_default\_links\_xhr \>\>

The optional parameter  **~a** allows one to add extra HTML attributes to the generated node.

See  **Eliom\_content.Xhtml.F.make\_uri** for description of other optional parameters.

*val css\_link* :  **?a:Xhtml\_types.link\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **uri:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.link \] Eliom\_content\_core.Xhtml.F.elt**

The function  **css\_link ~uri ()** creates a  **\<link\>** node that reference a Cascading StyleSheet (CSS).

If the CSS is generated by an Eliom service, use  **Eliom\_content.Xhtml.F.make\_uri** to calculate the service URI. If the CSS is a static file, you may also use  **Eliom\_service.static\_dir** or **Eliom\_service.external\_service** to abstract the file with a service.

The optional parameter  **~a** allows one to add extra HTML attributes to the generated node.

*val js\_script* :  **?a:Xhtml\_types.script\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **uri:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.script \] Eliom\_content\_core.Xhtml.F.elt**

The function  **js\_script ~uri ()** creates a  **\<script\>** node that reference a javascript file.

If the script content is generated by an Eliom service, use **Eliom\_content.Xhtml.F.make\_uri** to calculate the service URI. If it is a static file, you may also use  **Eliom\_service.static\_dir** or **Eliom\_service.external\_service** to abstract the file with a service.

The optional parameter  **~a** allows one to add extra HTML attributes to the generated node.

*val get\_form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Xhtml\_types.form\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **service:('a, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'b, 'c, \[\< Eliom\_service.registrable \], 'd)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?xhr:bool -\>** **('b -\> Xhtml\_types.form\_content Eliom\_content\_core.Xhtml.F.elt list) -\>** **\[\> Xhtml\_types.form \] Eliom\_content\_core.Xhtml.F.elt**

The function  **post\_form service 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. By default, the  **action** attribute is a relative URL recomputed at each request with  **Eliom\_content.Xhtml.F.make\_uri** .

By default, the form is realized such that the client-side Eliom application keeps running irrespectable of the usage of the form (cf. ).

By contrast, if the optional parameter  **~xhr:false** is given, the form is realized as a standard HTML form and submitting it discontinues the Eliom application. The  **~xhr** parameter has no effect outside an Eliom application.

NB that the default value of  **~xhr** is configurable through \<\<a\_api project="eliom" subproject="server" \| val Eliom\_config.set\_default\_links\_xhr \>\>

The optional parameter  **~a** allows one to add extra HTML attributes to the generated node.

See  **Eliom\_content.Xhtml.F.make\_uri** for description of other optional parameters.

*val lwt\_get\_form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Xhtml\_types.form\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **service:('a, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'b, 'c, \[\< Eliom\_service.registrable \], 'd)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?xhr:bool -\>** **('b -\> Xhtml\_types.form\_content Eliom\_content\_core.Xhtml.F.elt list Lwt.t) -\>** **\[\> Xhtml\_types.form \] Eliom\_content\_core.Xhtml.F.elt Lwt.t**

Same as  **Eliom\_content.Xhtml.F.get\_form** but taking a cooperative function for **\<form\>** content generation.

*val post\_form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Xhtml\_types.form\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **service:('a, 'b, \[\< Eliom\_service.post\_service\_kind \],** **\[\< Eliom\_service.suff \], 'c, 'd, \[\< Eliom\_service.registrable \], 'e)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?keep\_get\_na\_params:bool -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?xhr:bool -\>** **('d -\> Xhtml\_types.form\_content Eliom\_content\_core.Xhtml.F.elt list) -\>** **'a -\> \[\> Xhtml\_types.form \] Eliom\_content\_core.Xhtml.F.elt**

The function  **post\_form service formgen get\_params** creates a POST **\<form\>** to  **service** preapplied to the GET parameters **get\_params** . The content of the  **\<form\>** is generated by the function  **formgen** , that takes the names of the service parameters as parameters. By default, the  **action** attribute is a relative URL recomputed at each request with  **Eliom\_content.Xhtml.F.make\_uri** .

The optional parameter  **~a** allows one to add HTML attributes to the generated node.

See  **Eliom\_service.post\_coservice'** for a description of the **~keep\_get\_na\_params** optional parameter ; see  **Eliom\_content.Xhtml.F.get\_form** for **~xhr** and see  **Eliom\_content.Xhtml.F.make\_uri** for other optional parameters.

*val lwt\_post\_form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Xhtml\_types.form\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **service:('a, 'b, \[\< Eliom\_service.post\_service\_kind \],** **\[\< Eliom\_service.suff \], 'c, 'd, \[\< Eliom\_service.registrable \], 'e)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?keep\_get\_na\_params:bool -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?xhr:bool -\>** **('d -\> Xhtml\_types.form\_content Eliom\_content\_core.Xhtml.F.elt list Lwt.t) -\>** **'a -\> \[\> Xhtml\_types.form \] Eliom\_content\_core.Xhtml.F.elt Lwt.t**

Same as  **Eliom\_content.Xhtml.F.post\_form** but taking a cooperative function for **\<form\>** content generation.

**===** **Form widgets** **===**

*val int\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **input\_type:\[\< \`Hidden \| \`Password \| \`Submit \| \`Text \] -\>** **?name:\[\< int Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input\>** tag for an integer

*val int32\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **input\_type:\[\< \`Hidden \| \`Password \| \`Submit \| \`Text \] -\>** **?name:\[\< int32 Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int32 -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input\>** tag for an integer

*val int64\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **input\_type:\[\< \`Hidden \| \`Password \| \`Submit \| \`Text \] -\>** **?name:\[\< int64 Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int64 -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input\>** tag for an integer

*val float\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **input\_type:\[\< \`Hidden \| \`Password \| \`Submit \| \`Text \] -\>** **?name:\[\< float Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:float -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input\>** tag for a float

*val string\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **input\_type:\[\< \`Hidden \| \`Password \| \`Submit \| \`Text \] -\>** **?name:\[\< string Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:string -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input\>** tag for a string

*val user\_type\_input* :  **('a -\> string) -\>** **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **input\_type:\[\< \`Hidden \| \`Password \| \`Submit \| \`Text \] -\>** **?name:\[\< 'a Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:'a -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input\>** tag for a user type

*val raw\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **input\_type:\[\< \`Button \| \`Hidden \| \`Password \| \`Reset \| \`Submit \| \`Text \] -\>** **?name:string -\>** **?value:string -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an untyped  **\<input\>** tag. You may use the name you want (for example to use with  **Eliom\_parameter.any** ).

*val file\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< Eliom\_lib.file\_info Eliom\_parameter.setoneradio \]** **Eliom\_parameter.param\_name -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input\>** tag for sending a file

*val image\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< Eliom\_parameter.coordinates Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **?src:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input type="image" name="..."\>** tag that sends the coordinates the user clicked on

*val int\_image\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< (int \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int -\>** **?src:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input type="image" name="..." value="..."\>** tag that sends the coordinates the user clicked on and a value of type int

*val int32\_image\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< (int32 \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int32 -\>** **?src:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input type="image" name="..." value="..."\>** tag that sends the coordinates the user clicked on and a value of type int32

*val int64\_image\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< (int64 \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int64 -\>** **?src:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates an  **\<input type="image" name="..." value="..."\>** tag that sends the coordinates the user clicked on and a value of type int64

*val float\_image\_input* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< (float \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:float -\>** **?src:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< (string \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:string -\>** **?src:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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 -\> string) -\>** **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< ('a \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:'a -\>** **?src:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:string -\>** **value:string -\>** **?src:Eliom\_content\_core.Xml.uri -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`One of bool \] Eliom\_parameter.param\_name -\>** **unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a checkbox  **\<input\>** tag that will have a boolean value. The service must declare a  **bool** parameter.

*val int\_checkbox* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of int \] Eliom\_parameter.param\_name -\>** **value:int -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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 int32\_checkbox* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of int32 \] Eliom\_parameter.param\_name -\>** **value:int32 -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a checkbox  **\<input\>** tag that will have an int32 value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type  **set** .

*val int64\_checkbox* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of int64 \] Eliom\_parameter.param\_name -\>** **value:int64 -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a checkbox  **\<input\>** tag that will have an int64 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:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of float \] Eliom\_parameter.param\_name -\>** **value:float -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of string \] Eliom\_parameter.param\_name -\>** **value:string -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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 -\> string) -\>** **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of 'a \] Eliom\_parameter.param\_name -\>** **value:'a -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:string -\>** **value:string -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.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:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of string \] Eliom\_parameter.param\_name -\>** **value:string -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a radio  **\<input\>** tag with string content

*val int\_radio* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of int \] Eliom\_parameter.param\_name -\>** **value:int -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a radio  **\<input\>** tag with int content

*val int32\_radio* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of int32 \] Eliom\_parameter.param\_name -\>** **value:int32 -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a radio  **\<input\>** tag with int32 content

*val int64\_radio* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of int64 \] Eliom\_parameter.param\_name -\>** **value:int64 -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a radio  **\<input\>** tag with int64 content

*val float\_radio* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of float \] Eliom\_parameter.param\_name -\>** **value:float -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a radio  **\<input\>** tag with float content

*val user\_type\_radio* :  **('a -\> string) -\>** **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of 'a \] Eliom\_parameter.param\_name -\>** **value:'a -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a radio  **\<input\>** tag with user\_type content

*val raw\_radio* :  **?a:Xhtml\_types.input\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **?checked:bool -\>** **name:string -\>** **value:string -\> unit -\> \[\> Xhtml\_types.input \] Eliom\_content\_core.Xhtml.F.elt**

Creates a radio  **\<input\>** tag with untyped string content (low level)

*val string\_button* :  **?a:Xhtml\_types.button\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< string Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:string -\>** **Xhtml\_types.button\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **\[\> Xhtml\_types.button \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<button\>** tag with string content

*val int\_button* :  **?a:Xhtml\_types.button\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< int Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int -\>** **Xhtml\_types.button\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **\[\> Xhtml\_types.button \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<button\>** tag with int content

*val int32\_button* :  **?a:Xhtml\_types.button\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< int32 Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int32 -\>** **Xhtml\_types.button\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **\[\> Xhtml\_types.button \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<button\>** tag with int32 content

*val int64\_button* :  **?a:Xhtml\_types.button\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< int64 Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int64 -\>** **Xhtml\_types.button\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **\[\> Xhtml\_types.button \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<button\>** tag with int64 content

*val float\_button* :  **?a:Xhtml\_types.button\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< float Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:float -\>** **Xhtml\_types.button\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **\[\> Xhtml\_types.button \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<button\>** tag with float content

*val user\_type\_button* :  **('a -\> string) -\>** **?a:Xhtml\_types.button\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< 'a Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:'a -\>** **Xhtml\_types.button\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **\[\> Xhtml\_types.button \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<button\>** tag with user\_type content

*val raw\_button* :  **?a:Xhtml\_types.button\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **button\_type:\[\< \`Button \| \`Reset \| \`Submit \] -\>** **name:string -\>** **value:string -\>** **Xhtml\_types.button\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **\[\> Xhtml\_types.button \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<button\>** tag with untyped string content

*val button* :  **?a:Xhtml\_types.button\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **button\_type:\[\< \`Button \| \`Reset \| \`Submit \] -\>** **Xhtml\_types.button\_content Eliom\_content\_core.Xhtml.F.elt list -\>** **\[\> Xhtml\_types.button \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<button\>** tag with no value. No value is sent.

*val textarea* :  **?a:Xhtml\_types.textarea\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< string Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:string -\>** **unit -\> \[\> Xhtml\_types.textarea \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<textarea\>** tag

*val raw\_textarea* :  **?a:Xhtml\_types.textarea\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:string -\>** **?value:string -\>** **unit -\> \[\> Xhtml\_types.textarea \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<textarea\>** tag for untyped form

*type* **'a** *soption* =  **Xhtml\_types.option\_attrib Eliom\_content\_core.Xhtml.F.attrib list \* 'a \*** **Xhtml\_types.pcdata Eliom\_content\_core.Xhtml.F.elt option \* bool**

*type* **'a** *select\_opt* =\
  \| Optgroup **of** **\[ \`Class** **\| \`Dir** **\| \`Disabled** **\| \`Id** **\| \`OnClick** **\| \`OnDblClick** **\| \`OnKeyDown** **\| \`OnKeyPress** **\| \`OnKeyUp** **\| \`OnMouseDown** **\| \`OnMouseMove** **\| \`OnMouseOut** **\| \`OnMouseOver** **\| \`OnMouseUp** **\| \`Style\_Attr** **\| \`Title** **\| \`XML\_lang** **\| \`XML\_space \] Eliom\_content\_core.Xhtml.F.attrib list \* string** **\* 'a soption \* 'a soption list**\
  \| Option **of** **'a soption**

The type for  **\<select\>** options and groups of options.

\-The field of type 'a in  **soption** is the value that will be sent by the form.

\-If the  **pcdata\_elt option** is not present it is also the value displayed.

\-The string in  **select\_opt** is the label

*val int\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`One of int \] Eliom\_parameter.param\_name -\>** **int select\_opt -\>** **int select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for int values.

*val int32\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`One of int32 \] Eliom\_parameter.param\_name -\>** **int32 select\_opt -\>** **int32 select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for int32 values.

*val int64\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`One of int64 \] Eliom\_parameter.param\_name -\>** **int64 select\_opt -\>** **int64 select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for int64 values.

*val float\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`One of float \] Eliom\_parameter.param\_name -\>** **float select\_opt -\>** **float select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for float values.

*val string\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`One of string \] Eliom\_parameter.param\_name -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for string values.

*val user\_type\_select* :  **('a -\> string) -\>** **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`One of 'a \] Eliom\_parameter.param\_name -\>** **'a select\_opt -\>** **'a select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for user type values.

*val raw\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:string -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for any (untyped) value.

*val int\_multiple\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`Set of int \] Eliom\_parameter.param\_name -\>** **int select\_opt -\>** **int select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for int values.

*val int32\_multiple\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`Set of int32 \] Eliom\_parameter.param\_name -\>** **int32 select\_opt -\>** **int32 select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for int32 values.

*val int64\_multiple\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`Set of int64 \] Eliom\_parameter.param\_name -\>** **int64 select\_opt -\>** **int64 select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for int64 values.

*val float\_multiple\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`Set of float \] Eliom\_parameter.param\_name -\>** **float select\_opt -\>** **float select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for float values.

*val string\_multiple\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`Set of string \] Eliom\_parameter.param\_name -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for string values.

*val user\_type\_multiple\_select* :  **('a -\> string) -\>** **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:\[\< \`Set of 'a \] Eliom\_parameter.param\_name -\>** **'a select\_opt -\>** **'a select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for user type values.

*val raw\_multiple\_select* :  **?a:Xhtml\_types.select\_attrib Eliom\_content\_core.Xhtml.F.attrib list -\>** **name:string -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Xhtml\_types.select \] Eliom\_content\_core.Xhtml.F.elt**

Creates a  **\<select\>** tag for any (untyped) value.

*val a\_for* :  **'a Eliom\_parameter.param\_name -\> \[\> \`For \] Eliom\_content\_core.Xhtml.F.attrib**
