---
name: "Eliom_tools.Xhtml.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_tools.Xhtml.server"
---

# Eliom\_tools.Xhtml.server(3o)

Menu and hierarchical site for XHTML

## NAME

Eliom\_tools.Xhtml - Menu and hierarchical site for XHTML

## Module

Module   Eliom\_tools.Xhtml

## Documentation

Module **Xhtml**\
  :  **sig end**

Menu and hierarchical site for XHTML

**===** **Menus** **===**

*val menu* :  **?classe:Xhtml\_types.nmtoken list -\>** **?id:string -\>** **(\[\< Eliom\_service.get\_service\_kind \] as 'a,** **\[\< Eliom\_service.registrable \] as 'b,** **\[\< Eliom\_registration.non\_caml\_service \] as 'c)** **Eliom\_tools.one\_page \* Xhtml\_types.a\_content Eliom\_content.Xhtml.F.elt list -\>** **(('a, 'b, 'c) Eliom\_tools.one\_page \*** **Xhtml\_types.a\_content Eliom\_content.Xhtml.F.elt list)** **list -\>** **?service:('a, 'b, 'c) Eliom\_tools.one\_page -\>** **unit -\> \[\> \`Ul \] Eliom\_content.Xhtml.F.elt**

The function  **menu first\_elt elts ()** , where  **first\_elt::elts** is a list of pair  **(service, content)** , creates a list of link towards the  **service** s. See the Eliom manual for an .

The optional parameter  **service** is used to find which item(s) to highlight (by adding the class  **eliomtools\_current** to the corresponding  **\<li\>** node). The default is to highlight the item corresponding to the current url.

The optional parameters  **id** and  **classe** allow to specify the corresponding attributes in the generated  **\<ul\>** node. The default class for the  **\<ul\>** node is  **eliomtools\_menu** .

**===** **Hierchical sites** **===**

*val hierarchical\_menu\_depth\_first* :  **?classe:Xhtml\_types.nmtoken list -\>** **?id:string -\>** **?whole\_tree:bool -\>** **(\[\< Eliom\_service.get\_service\_kind \] as 'a,** **\[\< Eliom\_service.registrable \] as 'b,** **Xhtml\_types.a\_content Eliom\_content.Xhtml.F.elt list)** **Eliom\_tools.hierarchical\_site -\>** **?service:('a, 'b, \[\< Eliom\_registration.non\_caml\_service \])** **Eliom\_tools.one\_page -\>** **unit -\> \[\> \`Ul \] Eliom\_content.Xhtml.F.elt list**

The function  **hierarchical\_menu\_depth\_first site ()** constructs a hierarchical menu by exploring the hierarchical  **site** description using a depth-first algorithm: the first menu item will be displayed, followed by the whole sub-menu for this item, then the second menu item with its sub-menu, and so on.

By default, only the sub-menus for to the url corresponding to the optional argument  **service** are displayed, others sub-menu are collapsed. If you want all the sub-menus to be displayed, specify  **~whole\_tree:true** . If the optional parameter  **service** is not given, the current page is used.

See  **Eliom\_tools.Xhtml.menu** for a description of the optional parameters  **id** and  **classe** .

*val hierarchical\_menu\_breadth\_first* :  **?classe:Xhtml\_types.nmtoken list -\>** **?id:string -\>** **(\[\< Eliom\_service.get\_service\_kind \] as 'a,** **\[\< Eliom\_service.registrable \] as 'b,** **Xhtml\_types.a\_content Eliom\_content.Xhtml.F.elt list)** **Eliom\_tools.hierarchical\_site -\>** **?service:('a, 'b, \[\< Eliom\_registration.non\_caml\_service \])** **Eliom\_tools.one\_page -\>** **unit -\> \[\> \`Ul \] Eliom\_content.Xhtml.F.elt list**

The function  **hierarchical\_menu\_breadth\_first site ()** constructs a hierarchical menu by exploring the hierarchical **site** description using a breadth\_first algorithm: the whole menu for one level will be displayed, followed by the sub-menu leading to the current service, and so one.

By default the current service correspond to the current url. The optional parameter  **service** allow to override the current service.

See  **Eliom\_tools.Xhtml.menu** for a description of the optional parameters  **id** and  **classe** .

*val structure\_links* :  **(\[\< Eliom\_service.get\_service\_kind \] as 'a,** **\[\< Eliom\_service.registrable \] as 'b,** **Xhtml\_types.a\_content Eliom\_content.Xhtml.F.elt list)** **Eliom\_tools.hierarchical\_site -\>** **?service:('a, 'b, \[\< Eliom\_registration.non\_caml\_service \])** **Eliom\_tools.one\_page -\>** **unit -\> \[\> \`Link \] Eliom\_content.Xhtml.F.elt list**

The function  **structure\_links site ()** returns the tags  **\<link** **rel="subsection" ...\>** and  **\<link rev="subsection" ...\>** for the given hierarchical  **site** .

By default the current service correspond to the current url. The optional parameter  **service** allow to override the current service.

*val head* :  **title:string -\>** **?css:string list list -\>** **?js:string list list -\> unit -\> Xhtml\_types.head Eliom\_content.Xhtml.F.elt**

An auxiliary function for creating an HTML head elements. Resources (JS, CSS) are taken from the static directory.
