OCaml HTML5 parser/serialiser based on Python's JustHTML
1(** HTML5 structural and document element specifications.
2
3 This module defines element specifications for HTML5 document structure,
4 sectioning, and grouping elements according to the WHATWG HTML specification.
5
6 @see <https://html.spec.whatwg.org/multipage/> WHATWG HTML Specification *)
7
8(** {1 Document structure elements} *)
9
10val html : Element_spec.t
11(** The [html] element represents the root of an HTML document. *)
12
13val head : Element_spec.t
14(** The [head] element represents a collection of metadata for the document. *)
15
16val body : Element_spec.t
17(** The [body] element represents the contents of the document. *)
18
19val title : Element_spec.t
20(** The [title] element represents the document's title or name. *)
21
22val base : Element_spec.t
23(** The [base] element specifies the document base URL and/or default browsing
24 context for navigation. *)
25
26val link : Element_spec.t
27(** The [link] element specifies relationships between the current document and
28 external resources. *)
29
30val meta : Element_spec.t
31(** The [meta] element represents various kinds of metadata that cannot be
32 expressed using other metadata elements. *)
33
34val style : Element_spec.t
35(** The [style] element allows authors to embed CSS style sheets in their documents. *)
36
37(** {1 Sectioning elements} *)
38
39val article : Element_spec.t
40(** The [article] element represents a complete, or self-contained, composition
41 in a document, page, application, or site. *)
42
43val section : Element_spec.t
44(** The [section] element represents a generic section of a document or application. *)
45
46val nav : Element_spec.t
47(** The [nav] element represents a section of a page that links to other pages
48 or to parts within the page. *)
49
50val aside : Element_spec.t
51(** The [aside] element represents a section of a page that consists of content
52 that is tangentially related to the content around it. *)
53
54val h1 : Element_spec.t
55(** The [h1] element represents a heading at level 1. *)
56
57val h2 : Element_spec.t
58(** The [h2] element represents a heading at level 2. *)
59
60val h3 : Element_spec.t
61(** The [h3] element represents a heading at level 3. *)
62
63val h4 : Element_spec.t
64(** The [h4] element represents a heading at level 4. *)
65
66val h5 : Element_spec.t
67(** The [h5] element represents a heading at level 5. *)
68
69val h6 : Element_spec.t
70(** The [h6] element represents a heading at level 6. *)
71
72val hgroup : Element_spec.t
73(** The [hgroup] element represents a heading and related content, such as
74 subheadings, an alternative title, or a tagline. *)
75
76val header : Element_spec.t
77(** The [header] element represents introductory content for its nearest ancestor
78 sectioning content or sectioning root element. *)
79
80val footer : Element_spec.t
81(** The [footer] element represents a footer for its nearest ancestor sectioning
82 content or sectioning root element. *)
83
84val address : Element_spec.t
85(** The [address] element represents contact information for its nearest [article]
86 or [body] element ancestor. *)
87
88val main : Element_spec.t
89(** The [main] element represents the dominant contents of the document. *)
90
91(** {1 Grouping elements} *)
92
93val p : Element_spec.t
94(** The [p] element represents a paragraph. *)
95
96val hr : Element_spec.t
97(** The [hr] element represents a thematic break between paragraph-level elements. *)
98
99val pre : Element_spec.t
100(** The [pre] element represents a block of preformatted text. *)
101
102val blockquote : Element_spec.t
103(** The [blockquote] element represents a section that is quoted from another source. *)
104
105val ol : Element_spec.t
106(** The [ol] element represents a list of items, where the items have been
107 intentionally ordered. *)
108
109val ul : Element_spec.t
110(** The [ul] element represents a list of items, where the order of the items
111 is not important. *)
112
113val menu : Element_spec.t
114(** The [menu] element represents a toolbar consisting of its contents, in the
115 form of an unordered list of items. *)
116
117val li : Element_spec.t
118(** The [li] element represents a list item. *)
119
120val dl : Element_spec.t
121(** The [dl] element represents an association list consisting of zero or more
122 name-value groups (a description list). *)
123
124val dt : Element_spec.t
125(** The [dt] element represents the term, or name, part of a term-description
126 group in a description list. *)
127
128val dd : Element_spec.t
129(** The [dd] element represents the description, definition, or value, part of
130 a term-description group in a description list. *)
131
132val figure : Element_spec.t
133(** The [figure] element represents some flow content, optionally with a caption,
134 that is self-contained and is typically referenced as a single unit from
135 the main flow of the document. *)
136
137val figcaption : Element_spec.t
138(** The [figcaption] element represents a caption or legend for the rest of the
139 contents of the parent [figure] element. *)
140
141val div : Element_spec.t
142(** The [div] element has no special meaning at all. It represents its children. *)
143
144(** {1 Element registry} *)
145
146val all : Element_spec.t list
147(** [all] contains all element specifications defined in this module. *)