Module Html_types

HTML types with variants, goes with Html_sigs.T.

Attribute types.

type cdata = string

Character data

type id = string

A document-unique identifier

type idref = string

A reference to a document-unique identifier

type idrefs = idref list

A space-separated list of references to document-unique identifiers

type name = string

A name with the same character constraints as ID above

type nmtoken = string

A name composed of only name tokens as defined in XML 1.0

type nmtokens = nmtoken list

One or more white space separated NMTOKEN values

Data Types

type character = char

A single character from ISO 10646.

type charset = string

A character encoding, as per RFC2045 (MIME).

type charsets = charset list

A space-separated list of character encodings, as per RFC2045 (MIME).

type contenttype = string

A media type, as per RFC2045 (MIME).

type contenttypes = contenttype list

A comma-separated list of media types, as per RFC2045 (MIME).

type number = int
type numbers = number list
type coords = string list

Comma- separated list of coordinates to use in defining areas.

type datetime = string

Date and time information.

type number_or_datetime = [
| `Number of number
| `Datetime of datetime
]

Either a number or date and time information.

type fpi = string

A character string representing an SGML Formal Public Identifier.

type frametarget = string

Frame name used as destination for results of certain actions.

type languagecode = string

A language code, as per RFC5646/BCP47.

type linktype = [
| `Alternate
| `Archives
| `Author
| `Bookmark
| `Canonical
| `External
| `First
| `Help
| `Icon
| `Index
| `Last
| `License
| `Next
| `Nofollow
| `Noreferrer
| `Noopener
| `Pingback
| `Prefetch
| `Prev
| `Search
| `Stylesheet
| `Sidebar
| `Tag
| `Up
| `Other of string
]
type linktypes = linktype list

Authors may use the following recognized link types, listed here with their conventional interpretations. A LinkTypes value refers to a space-separated list of link types. White space characters are not permitted within link types. These link types are case-insensitive, i.e., "Alternate" has the same meaning as "alternate".

User agents, search engines, etc. may interpret these link types in a variety of ways. For example, user agents may provide access to linked documents through a navigation bar.

  • `Alternate: Gives alternate representations of the current document.
  • `Archives: Provides a link to a collection of records, documents, or other materials of historical interest.
  • `Author: Gives a link to the current document's author.
  • `Bookmark: Gives the permalink for the nearest ancestor section.
  • `Canonical: Gives the preferred location for accessing the current document.
  • `External: Indicates that the referenced document is not part of the same site as the current document.
  • `First: Indicates that the current document is a part of a series, and that the first document in the series is the referenced document.
  • `Help: Provides a link to context-sensitive help.
  • `Icon: Imports an icon to represent the current document.
  • `Index: Gives a link to the document that provides a table of contents or index listing the current document.
  • `Last: Indicates that the current document is a part of a series, and that the last document in the series is the referenced document.
  • `Licence: Indicates that the main content of the current document is covered by the copyright license described by the referenced document.
  • `Next: Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.
  • `Nofollow: Indicates that the current document's original author or publisher does not endorse the referenced document.
  • `Noreferrer: Requires that the user agent not send an HTTP Referer (sic) header if the user follows the hyperlink.
  • `Noopener: Instructs the browser to open the link without granting the new browsing context access to the document that opened it.
  • `Pingback: Gives the address of the pingback server that handles pingbacks to the current document.
  • `Prefetch: Specifies that the target resource should be preemptively cached.
  • `Prev: Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.
  • `Search: Gives a link to a resource that can be used to search through the current document and its related pages.
  • `Stylesheet: Imports a stylesheet.
  • `Sidebar: Specifies that the referenced document, if retrieved, is intended to be shown in the browser's sidebar (if it has one).
  • `Tag: Gives a tag (identified by the given address) that applies to the current document.
  • `Up: Provides a link to a document giving the context for the current document.
type mediadesc_token = [
| `All
| `Aural
| `Braille
| `Embossed
| `Handheld
| `Print
| `Projection
| `Screen
| `Speech
| `Tty
| `Tv
| `Raw_mediadesc of string
]
type mediadesc = mediadesc_token list

The MediaDesc attribute is a comma-separated list of media descriptors. The following is a list of recognized media descriptors:

type float_number = float
type pixels = int

The value is an integer that represents the number of pixels of the canvas (screen, paper). Thus, the value "50" means fifty pixels. For normative information about the definition of a pixel, please consult CSS2.

type script_ = string

Script data can be the content of the "script" element and the value of intrinsic event attributes. User agents must not evaluate script data as HTML markup but instead must pass it on as data to a script engine.

The case-sensitivity of script data depends on the scripting language.

Please note that script data that is element content may not contain character references, but script data that is the value of an attribute may contain them.

type text = string

Arbitrary textual data, likely meant to be human-readable.

Core

type i18n = [
| `XML_lang
| `Lang
]
type core = [
| `Accesskey
| `Class
| `Contenteditable
| `Contextmenu
| `Dir
| `Draggable
| `Hidden
| `Id
| i18n
| `Spellcheck
| `Style_Attr
| `Tabindex
| `Translate
| `Title
| `User_data
| `XMLns
]

Events

type events = [
| `OnAbort
| `OnBlur
| `OnCanPlay
| `OnCanPlayThrough
| `OnChange
| `OnClick
| `OnContextMenu
| `OnDblClick
| `OnDrag
| `OnDragEnd
| `OnDragEnter
| `OnDragLeave
| `OnDragOver
| `OnDragStart
| `OnDrop
| `OnDurationChange
| `OnEmptied
| `OnEnded
| `OnError
| `OnFocus
| `OnFormChange
| `OnFormInput
| `OnInput
| `OnInvalid
| `OnMouseDown
| `OnMouseUp
| `OnMouseOver
| `OnMouseMove
| `OnMouseOut
| `OnMouseWheel
| `OnPause
| `OnPlay
| `OnPlaying
| `OnProgress
| `OnRateChange
| `OnReadyStateChange
| `OnScroll
| `OnSeeked
| `OnSeeking
| `OnSelect
| `OnShow
| `OnStalled
| `OnSubmit
| `OnSuspend
| `OnTimeUpdate
| `OnTouchStart
| `OnTouchEnd
| `OnTouchMove
| `OnTouchCancel
| `OnVolumeChange
| `OnWaiting
| `OnKeyPress
| `OnKeyDown
| `OnKeyUp
| `OnLoad
| `OnLoadedData
| `OnLoadedMetaData
| `OnLoadStart
]

Javascript events

ARIA

type aria = [
| `Role
| `Aria
]
type common = [
| core
| i18n
| events
| aria
]

Common attributes

Categories of HTML elements

These category are mainly subdivised in

type heading = [
| `H1
| `H2
| `H3
| `H4
| `H5
| `H6
| `Hgroup
]
type sectioning = [
| `Section
| `Nav
| `Aside
| `Article
]
type resetable = [
| `Textarea
| `Select
| `Output
| `Keygen
| `Input
]
type submitable = [
| `Textarea
| `Select
| `Keygen
| `Input
| `Button
]
type labelable = [
| resetable
| `Progress
| `Meter
| `Button
]
type labelable_without_interactive = [
| `Progress
| `Meter
]
type formatblock = [
| heading
| sectioning
| `Pre
| `P
| `Header
| `Footer
| `Div
| `Blockquote
| `Address
]
type sectionningroot = [
| `Td
| `Figure
| `Fieldset
| `Details
| `Body
| `Blockquote
]
type listed = [
| resetable
| submitable
| `Fieldset
]
type formassociated = [
| listed
| `Progress
| `Meter
| `Label
]
type subressource_integrity = [
| `Crossorigin
| `Integrity
]
type (+'interactive, +'noscript, +'regular, +'media) transparent = [
| `A of 'interactive
| `Noscript of 'noscript
| `Canvas of 'regular
| `Map of 'regular
| `Ins of 'regular
| `Del of 'regular
| `Object of 'regular
| `Object_interactive of 'regular
| `Audio_interactive of 'media
| `Video_interactive of 'media
| `Audio of 'media
| `Video of 'media
]

Transparent elements. Such elements have a part of they children in their data and behaves like them. We could do something like a: 'a elt list -> 'a elt but the information about the node name would be forgotten and would allow things like that : p [a [a []]]. This system allow to build non-conforming terms such as a [a []] but when passed to a standard element (such as p), it will yield an error. Exception to that : if you embdedd the element in another transparent (of an another kind) : p [noscript (a [a []])] will be correctly typed.

type (+'noscript, +'regular, +'media) transparent_without_interactive = [
| `Noscript of 'noscript
| `Ins of 'regular
| `Del of 'regular
| `Object of 'regular
| `Canvas of 'regular
| `Map of 'regular
| `Audio of 'media
| `Video of 'media
]
type (+'interactive, +'regular, +'media) transparent_without_noscript = [
| `A of 'interactive
| `Ins of 'regular
| `Del of 'regular
| `Canvas of 'regular
| `Map of 'regular
| `Object of 'regular
| `Object_interactive of 'regular
| `Video of 'media
| `Audio of 'media
| `Video_interactive of 'media
| `Audio_interactive of 'media
]
type (+'interactive, +'noscript, +'regular) transparent_without_media = [
| `A of 'interactive
| `Noscript of 'noscript
| `Ins of 'regular
| `Del of 'regular
| `Map of 'regular
| `Canvas of 'regular
| `Object of 'regular
| `Object_interactive of 'regular
]
type metadata_without_title = [
| `Template
| `Style
| `Script
| `Noscript of [ `Meta | `Link | `Style ]
| `Meta
| `Command
| `Base
]

Metadata without title

type metadata = [
| metadata_without_title
| `Title
]

Metadata contents. Used specially in <head>

Interactive contents : contents that require user-interaction (Forms, link, etc.)

type core_interactive = [
| `Textarea
| `Select
| `Menu
| `Label
| `Keygen
| `Input
| `Img_interactive
| `Iframe
| `Embed
| `Details
| `Button
]

Core element types are element types without transparent.

type core_phrasing = [
| labelable
| submitable
| `Wbr
| `Var
| `U
| `Svg
| `Time
| `Template
| `Sup
| `Sub
| `Strong
| `Span
| `Small
| `Script
| `Samp
| `Ruby
| `Q
| `Mark
| `Label
| `Kbd
| `Iframe
| `I
| `Embed
| `Em
| `Dfn
| `Datalist
| `Command
| `Code
| `Cite
| `Br
| `Bdo
| `B
| `Abbr
| `Img
| `Img_interactive
| `Picture
| `PCDATA
]

Phrasing contents is inline contents : bold text, span, and so on.

type core_phrasing_without_noscript = [
| labelable
| submitable
| `Wbr
| `Var
| `U
| `Time
| `Template
| `Sup
| `Sub
| `Svg
| `Strong
| `Span
| `Small
| `Script
| `Samp
| `Ruby
| `Q
| `Mark
| `Label
| `Kbd
| `Iframe
| `I
| `Embed
| `Em
| `Dfn
| `Datalist
| `Command
| `Code
| `Cite
| `Br
| `Bdo
| `Img
| `Img_interactive
| `Picture
| `B
| `Abbr
| `PCDATA
]
type core_phrasing_without_interactive = [
| labelable_without_interactive
| `Wbr
| `Var
| `U
| `Time
| `Template
| `Sup
| `Sub
| `Strong
| `Span
| `Small
| `Script
| `Svg
| `Samp
| `Ruby
| `Q
| `Mark
| `Kbd
| `Img
| `Picture
| `I
| `Em
| `Dfn
| `Datalist
| `Command
| `Code
| `Cite
| `Br
| `Bdo
| `B
| `Abbr
| `PCDATA
]
type core_phrasing_without_media = [
| labelable
| submitable
| `Wbr
| `Var
| `U
| `Time
| `Template
| `Svg
| `Sup
| `Sub
| `Strong
| `Span
| `Small
| `Script
| `Samp
| `Ruby
| `Q
| `Mark
| `Label
| `Kbd
| `Img
| `Img_interactive
| `Picture
| `Iframe
| `I
| `Embed
| `Em
| `Dfn
| `Datalist
| `Command
| `Code
| `Cite
| `Br
| `Bdo
| `B
| `Abbr
| `PCDATA
]
type (+'a, +'b) between_phrasing_and_phrasing_without_interactive = [< core_phrasing | ( [< phrasing_without_interactive ] as 'b, phrasing_without_noscript, phrasing, phrasing_without_media ) transparent Abbr B Bdo Br Canvas Cite Code Command Datalist Del Dfn Em I Img Picture Ins Kbd Map Mark Meter Noscript Object PCDATA Progress Q Ruby Samp Script Small Span Strong Sub Sup Svg Template Time U Var Wbr ] as 'a
type phrasing_without_dfn = [
| labelable
| submitable
| `Wbr
| `Var
| `U
| `Time
| `Template
| `Sup
| `Sub
| `Strong
| `Span
| `Small
| `Script
| `Samp
| `Ruby
| `Q
| `Mark
| `Label
| `Img
| `Img_interactive
| `Picture
| `Kbd
| `I
| `Em
| `Datalist
| `Command
| `Code
| `Cite
| `Br
| `Bdo
| `B
| `Abbr
| `PCDATA
| ( phrasing_without_interactive, phrasing_without_noscript, phrasing_without_dfn, phrasing_without_media ) transparent
]

Phrasing without the interactive markups

type phrasing_without_label = [
| labelable
| submitable
| `Wbr
| `Var
| `U
| `Time
| `Template
| `Sup
| `Sub
| `Strong
| `Span
| `Img
| `Img_interactive
| `Picture
| `Small
| `Script
| `Samp
| `Ruby
| `Q
| `Mark
| `Kbd
| `I
| `Em
| `Dfn
| `Datalist
| `Command
| `Code
| `Cite
| `Br
| `Bdo
| `B
| `Abbr
| `PCDATA
| ( phrasing_without_interactive, phrasing_without_noscript, phrasing_without_label, phrasing_without_media ) transparent
]
type phrasing_without_progress = [
| resetable
| submitable
| `Wbr
| `Var
| `U
| `Time
| `Template
| `Sup
| `Sub
| `Strong
| `Span
| `Small
| `Script
| `Samp
| `Img
| `Img_interactive
| `Picture
| `Ruby
| `Q
| `Meter
| `Mark
| `Label
| `Kbd
| `I
| `Em
| `Dfn
| `Datalist
| `Command
| `Code
| `Cite
| `Button
| `Br
| `Bdo
| `B
| `Abbr
| `PCDATA
| ( phrasing_without_interactive, phrasing_without_noscript, phrasing_without_progress, phrasing_without_media ) transparent
]
type phrasing_without_time = [
| labelable
| submitable
| `Wbr
| `Var
| `U
| `Template
| `Sup
| `Sub
| `Strong
| `Img
| `Img_interactive
| `Picture
| `Span
| `Small
| `Script
| `Samp
| `Ruby
| `Q
| `Mark
| `Label
| `Kbd
| `I
| `Em
| `Dfn
| `Datalist
| `Command
| `Code
| `Cite
| `Br
| `Bdo
| `B
| `Abbr
| `PCDATA
| ( phrasing_without_interactive, phrasing_without_noscript, phrasing_without_time, phrasing_without_media ) transparent
]
type phrasing_without_meter = [
| submitable
| resetable
| `Progress
| `Button
| `Wbr
| `Var
| `U
| `Time
| `Template
| `Sup
| `Img
| `Img_interactive
| `Picture
| `Sub
| `Strong
| `Span
| `Small
| `Script
| `Samp
| `Ruby
| `Q
| `Mark
| `Label
| `Kbd
| `I
| `Em
| `Dfn
| `Datalist
| `Command
| `Code
| `Cite
| `Br
| `Bdo
| `B
| `Abbr
| `PCDATA
| ( phrasing_without_interactive, phrasing_without_noscript, phrasing_without_meter, phrasing_without_media ) transparent
]
type core_flow5 = [
| core_phrasing
| formassociated
| formatblock
| `Ul
| `Table
| `Style
| `Ol
| `Menu
| `Hr
| `Form
| `Figure
| `Dl
| `Details
| `Main
]
type core_flow5_without_interactive = [
| core_phrasing_without_interactive
| formassociated
| formatblock
| `Ul
| `Table
| `Style
| `Ol
| `Menu
| `Hr
| `Form
| `Figure
| `Dl
| `Main
]
type core_flow5_without_noscript = [
| core_phrasing_without_noscript
| formassociated
| formatblock
| `Ul
| `Table
| `Style
| `Ol
| `Menu
| `Hr
| `Form
| `Figure
| `Dl
| `Details
| `Main
]
type core_flow5_without_media = [
| core_phrasing_without_media
| formassociated
| formatblock
| `Ul
| `Table
| `Style
| `Ol
| `Menu
| `Hr
| `Form
| `Figure
| `Dl
| `Details
| `Main
]
type flow5_without_table = [
| core_phrasing
| formassociated
| formatblock
| `Ul
| `Style
| `Ol
| `Menu
| `Hr
| `Form
| `Figure
| `Dl
| `Details
| `Main
| ( flow5_without_interactive, flow5_without_noscript, flow5, flow5_without_media ) transparent
]
type flow5_without_form = [
| core_phrasing
| formassociated
| formatblock
| `Ul
| `Table
| `Style
| `Ol
| `Menu
| `Hr
| `Figure
| `Dl
| `Details
| `Main
| ( flow5_without_interactive, flow5_without_noscript, flow5, flow5_without_media ) transparent
]
type pcdata = [
| `PCDATA
]
type txt = [
| `PCDATA
]
type notag
type no_attribute_allowed
type noattrib = [
| `No_attribute_allowed of no_attribute_allowed
]
type html = [
| `Html
]
type html_content_fun = [
| `Head
| `Body
]
type html_content = html_content_fun
type html_attrib = [
| common
| `Manifest
]
type head = [
| `Head
]
type head_content = [
| metadata
]
type head_content_fun = [
| metadata_without_title
]
type head_attrib = [
| common
]
type body = [
| `Body
]
type body_attrib = [
| common
| `OnAfterPrint
| `OnBeforePrint
| `OneBeforeUnload
| `OnHashChange
| `OnMessage
| `OnOffLine
| `OnOnLine
| `OnPageHide
| `OnPageShow
| `OnPopState
| `OnRedo
| `OnResize
| `OnStorage
| `OnUndo
| `OnUnload
]
type body_content = flow5
type body_content_fun = flow5
type svg = [
| `Svg
]
type svg_content = Svg_types.svg_content
type svg_attrib = Svg_types.svg_attr
type base = [
| `Base
]
type base_content = notag
type base_content_fun = notag
type base_attrib = [
| common
| `Href
| `Target
]
type title = [
| `Title
]
type title_content = [
| `PCDATA
]
type title_content_fun = [
| `PCDATA
]
type title_attrib = noattrib
type header = [
| `Header
]
type header_content = [
]
type header_content_fun = [
]
type header_attrib = [
| common
]
type section = [
| `Section
]
type section_content = [
| flow5
]
type section_content_fun = [
| flow5
]
type section_attrib = [
| common
]
type nav = [
| `Nav
]
type nav_content = [
| flow5
]
type nav_content_fun = [
| flow5
]
type nav_attrib = [
| common
]
type h1 = [
| `H1
]
type h1_content = [
| phrasing
]
type h1_content_fun = [
| phrasing
]
type h1_attrib = [
| common
]
type h2 = [
| `H2
]
type h2_content = [
| phrasing
]
type h2_content_fun = [
| phrasing
]
type h2_attrib = [
| common
]
type h3 = [
| `H3
]
type h3_content = [
| phrasing
]
type h3_content_fun = [
| phrasing
]
type h3_attrib = [
| common
]
type h4 = [
| `H4
]
type h4_content = [
| phrasing
]
type h4_content_fun = [
| phrasing
]
type h4_attrib = [
| common
]
type h5 = [
| `H5
]
type h5_content = [
| phrasing
]
type h5_content_fun = [
| phrasing
]
type h5_attrib = [
| common
]
type h6 = [
| `H6
]
type h6_content = [
| phrasing
]
type h6_content_fun = [
| phrasing
]
type h6_attrib = [
| common
]
type hgroup = [
| `Hgroup
]
type hgroup_content = [
| `H1
| `H2
| `H3
| `H4
| `H5
| `H6
]
type hgroup_content_fun = [
| `H1
| `H2
| `H3
| `H4
| `H5
| `H6
]
type hgroup_attrib = [
| common
]
type address = [
| `Address
]
type address_attrib = [
| common
]
type article = [
| `Article
]
type article_content = [
| flow5
]
type article_content_fun = [
| flow5
]
type article_attrib = [
| common
]
type aside = [
| `Aside
]
type aside_content = [
| flow5
]
type aside_content_fun = [
| flow5
]
type aside_attrib = [
| common
]
type main = [
| `Main
]
type main_content = [
| flow5
]
type main_content_fun = [
| flow5
]
type main_attrib = [
| common
]
type p = [
| `P
]
type p_content = [
| phrasing
]
type p_content_fun = [
| phrasing
]
type p_attrib = [
| common
]
type pre = [
| `Pre
]
type pre_content = [
| phrasing
]
type pre_content_fun = [
| phrasing
]
type pre_attrib = [
| common
]
type blockquote = [
| `Blockquote
]
type blockquote_content = [
| flow5
]
type blockquote_content_fun = [
| flow5
]
type blockquote_attrib = [
| common
| `Cite
]
type div = [
| `Div
]
type div_content = [
| flow5
]
type div_content_fun = [
| flow5
]
type div_attrib = [
| common
]
type ol = [
| `Ol
]
type ol_content = [
| `Li of [ common | `Int_Value ]
]
type ol_content_fun = [
| `Li of [ common | `Int_Value ]
]
type ol_attrib = [
| common
| `Reversed
| `Start
]
type li_content = [
| flow5
]
type li_content_fun = [
| flow5
]
type li_attrib = [
| common
| `Int_Value
]
type li = [
| `Li of li_attrib
]
type ul = [
| `Ul
]
type ul_content = [
| `Li of [ li_attrib ]
]
type ul_content_fun = [
| `Li of [ li_attrib ]
]
type ul_attrib = [
| common
]
type dd = [
| `Dd
]
type dd_content = [
| flow5
]
type dd_content_fun = [
| flow5
]
type dd_attrib = [
| common
]
type dt = [
| `Dt
]
type dt_attrib = [
| common
]
type dl = [
| `Dl
]
type dl_content = [
| `Dt
| `Dd
]
type dl_content_fun = [
| `Dt
| `Dd
]
type dl_attrib = [
| common
]
type figcaption = [
| `Figcaption
]
type figcaption_content = [
| flow5
]
type figcaption_content_fun = [
| flow5
]
type figcaption_attrib = [
| common
]
type figure = [
| `Figure
]
type figure_content = [
| flow5
]
type figure_content_fun = [
| flow5
]
type figure_attrib = [
| common
]
type rp = [
| `Rp
]
type rp_content = [
| phrasing
]
type rp_content_fun = [
| phrasing
]
type rp_attrib = [
| common
]
type rt = [
| `Rt
]
type rt_content = [
| phrasing
]
type rt_content_fun = [
| phrasing
]
type rt_attrib = [
| common
]
type ruby = [
| `Ruby
]
type ruby_content = [
| phrasing
| rp
| rt
]
type ruby_content_fun = [
| phrasing
| rp
| rt
]
type ruby_attrib = [
| common
]
type hr = [
| `Hr
]
type hr_content = notag
type hr_content_fun = notag
type hr_attrib = [
| common
]
type b = [
| `B
]
type b_content = [
| phrasing
]
type b_content_fun = [
| phrasing
]
type b_attrib = [
| common
]
type i = [
| `I
]
type i_content = [
| phrasing
]
type i_content_fun = [
| phrasing
]
type i_attrib = [
| common
]
type u = [
| `U
]
type u_content = [
| phrasing
]
type u_content_fun = [
| phrasing
]
type u_attrib = [
| common
]
type small = [
| `Small
]
type small_content = [
| phrasing
]
type small_content_fun = [
| phrasing
]
type small_attrib = [
| common
]
type sub = [
| `Sub
]
type sub_content = [
| phrasing
]
type sub_content_fun = [
| phrasing
]
type sub_attrib = [
| common
]
type sup = [
| `Sup
]
type sup_content = [
| phrasing
]
type sup_content_fun = [
| phrasing
]
type sup_attrib = [
| common
]
type mark = [
| `Mark
]
type mark_content = [
| phrasing
]
type mark_content_fun = [
| phrasing
]
type mark_attrib = [
| common
]
type wbr = [
| `Wbr
]
type wbr_content = notag
type wbr_content_fun = notag
type wbr_attrib = [
| common
]
type bdo = [
| `Bdo
]
type bdo_content = [
| phrasing
]
type bdo_content_fun = [
| phrasing
]
type bdo_attrib = [
| common
]
type abbr = [
| `Abbr
]
type abbr_content = [
| phrasing
]
type abbr_content_fun = [
| phrasing
]
type abbr_attrib = [
| common
]
type br = [
| `Br
]
type br_content = notag
type br_content_fun = notag
type br_attrib = [
| common
]
type cite = [
| `Cite
]
type cite_content = [
| phrasing
]
type cite_content_fun = [
| phrasing
]
type cite_attrib = [
| common
]
type code = [
| `Code
]
type code_content = [
| phrasing
]
type code_content_fun = [
| phrasing
]
type code_attrib = [
| common
]
type dfn = [
| `Dfn
]
type dfn_content = [
| phrasing_without_dfn
]
type dfn_content_fun = [
| phrasing_without_dfn
]
type dfn_attrib = [
| common
]
type em = [
| `Em
]
type em_content = [
| phrasing
]
type em_content_fun = [
| phrasing
]
type em_attrib = [
| common
]
type kbd = [
| `Kbd
]
type kbd_content = [
| phrasing
]
type kbd_content_fun = [
| phrasing
]
type kbd_attrib = [
| common
]
type q = [
| `Q
]
type q_content = [
| phrasing
]
type q_content_fun = [
| phrasing
]
type q_attrib = [
| common
| `Cite
]
type samp = [
| `Samp
]
type samp_content = [
| phrasing
]
type samp_content_fun = [
| phrasing
]
type samp_attrib = [
| common
]
type span = [
| `Span
]
type span_content = [
| phrasing
]
type span_content_fun = [
| phrasing
]
type span_attrib = [
| common
]
type strong = [
| `Strong
]
type strong_content = [
| phrasing
]
type strong_content_fun = [
| phrasing
]
type strong_attrib = [
| common
]
type time = [
| `Time
]
type time_content = [
| phrasing_without_time
]
type time_content_fun = [
| phrasing_without_time
]
type time_attrib = [
| common
| `Datetime
| `Pubdate
]
type var = [
| `Var
]
type var_content = [
| phrasing
]
type var_content_fun = [
| phrasing
]
type var_attrib = [
| common
]
type a_content = flow5_without_interactive
type a_content_fun = flow5_without_interactive
type 'a a = [
| `A of 'a
]
type a_ = [
| `A of a_content
]
type a_attrib = [
| common
| `Href
| `Hreflang
| `Media
| `Rel
| `Target
| `Mime_type
| `Download
]
type 'a del = [
| `Del of 'a
]
type del_content = flow5
type del_ = del_content del
type del_content_fun = flow5
type del_attrib = [
| common
| `Cite
| `Datetime
]
type 'a ins = [
| `Ins of 'a
]
type ins_content = flow5
type ins_ = ins_content ins
type ins_content_fun = flow5
type ins_attrib = [
| common
| `Cite
| `Datetime
]
type iframe = [
| `Iframe
]
type iframe_content = [
| `PCDATA
]
type iframe_content_fun = [
| `PCDATA
]
type iframe_attrib = [
| common
| `Allowfullscreen
| `Allowpaymentrequest
| `Src
| `Name
| `Sandbox
| `Seamless
| `Width
| `Height
| `Referrerpolicy
]
type object__content = [
| flow5
| `Param
]
type object__content_fun = flow5
type 'a object_ = [
| `Object of 'a
| `Object_interactive of 'a
]
type object__ = object__content object_
type object__attrib = [
| common
| `Data
| `Form
| `Mime_type
| `Height
| `Width
| `Name
| `Usemap
]
type param = [
| `Param
]
type param_content = notag
type param_content_fun = notag
type param_attrib = [
| common
| `Name
| `Text_Value
]
type embed = [
| `Embed
]
type embed_content = notag
type embed_content_fun = notag
type embed_attrib = [
| common
| `Src
| `Height
| `Mime_type
| `Width
]
type img = [
| `Img
]
type img_interactive = [
| `Img
| `Img_interactive
]
type img_content = notag
type img_content_fun = notag
type img_attrib = [
| common
| `Height
| `Ismap
| `Width
| `Srcset
| `Img_sizes
]
type media_attrib = [
| `Crossorigin
| `Preload
| `Autoplay
| `Mediagroup
| `Loop
| `Muted
| `Controls
]
type 'a audio = [
| `Audio of 'a
]
type 'a audio_interactive = [
| `Audio of 'a
| `Audio_interactive of 'a
]
type audio_content = flow5_without_media
type audio_ = audio_content audio
type audio_content_fun = flow5_without_media
type audio_attrib = [
| common
| media_attrib
]
type 'a video = [
| `Video of 'a
]
type 'a video_interactive = [
| `Video of 'a
| `Video_interactive of 'a
]
type video_content = flow5_without_media
type video_ = video_content video
type video_content_fun = flow5_without_media
type video_attrib = [
| common
| media_attrib
| `Poster
| `Width
| `Height
]
type 'a canvas = [
| `Canvas of 'a
]
type canvas_content = flow5
type canvas_ = canvas_content canvas
type canvas_content_fun = flow5
type canvas_attrib = [
| common
| `Width
| `Height
]
type source = [
| `Source
]
type source_content = notag
type source_content_fun = notag
type source_attrib = [
| common
| `Src
| `Mime_type
| `Media
]
type area = [
| `Area
]
type area_content = notag
type area_content_fun = notag
type area_attrib = [
| common
| `Alt
| `Coords
| `Shape
| `Target
| `Rel
| `Media
| `Hreflang
| `Mime_type
| `Download
]
type 'a map = [
| `Map of 'a
]
type map_content = flow5
type map_ = map_content map
type map_content_fun = flow5
type map_attrib = [
| common
| `Name
]
type caption = [
| `Caption
]
type caption_content = [
| flow5_without_table
]
type caption_content_fun = [
| flow5_without_table
]
type caption_attrib = [
| common
]
type table = [
| `Table
]
type table_content = [
| `Tr
]
type table_content_fun = [
| `Tr
]
type table_attrib = [
| common
| `Summary
]
type tablex = [
| `Table
]
type tablex_content = [
| `Tbody
]
type tablex_content_fun = [
| `Tbody
]
type tablex_attrib = [
| common
| `Summary
]
type colgroup = [
| `Colgroup
]
type colgroup_content = [
| `Col
]
type colgroup_content_fun = [
| `Col
]
type colgroup_attrib = [
| common
| `Span
]
type col = [
| `Col
]
type col_content = notag
type col_content_fun = notag
type col_attrib = [
| common
| `Span
]
type thead = [
| `Thead
]
type thead_content = [
| `Tr
]
type thead_content_fun = [
| `Tr
]
type thead_attrib = [
| common
]
type tbody = [
| `Tbody
]
type tbody_content = [
| `Tr
]
type tbody_content_fun = [
| `Tr
]
type tbody_attrib = [
| common
]
type tfoot = [
| `Tfoot
]
type tfoot_content = [
| `Tr
]
type tfoot_content_fun = [
| `Tr
]
type tfoot_attrib = [
| common
]
type td = [
| `Td
]
type td_content = [
| flow5
]
type td_content_fun = [
| flow5
]
type td_attrib = [
| common
| `Colspan
| `Headers
| `Rowspan
]
type th = [
| `Th
]
type th_content = [
| flow5
]
type th_content_fun = [
| flow5
]
type th_attrib = [
| common
| `Colspan
| `Headers
| `Rowspan
| `Scope
]
type tr = [
| `Tr
]
type tr_content = [
| `Td
| `Th
]
type tr_content_fun = [
| `Td
| `Th
]
type tr_attrib = [
| common
]
type form = [
| `Form
]
type form_content = [
| flow5_without_form
]
type form_content_fun = [
| flow5_without_form
]
type form_attrib = [
| common
| `Accept_charset
| `Action
| `Enctype
| `Method
| `Name
| `Target
| `Autocomplete
| `Novalidate
]
type fieldset = [
| `Fieldset
]
type fieldset_content = [
| flow5
]
type fieldset_content_fun = [
| flow5
]
type fieldset_attrib = [
| common
| `Disabled
| `Form
| `Name
]
type legend = [
| `Legend
]
type legend_content = [
| phrasing
]
type legend_content_fun = [
| phrasing
]
type legend_attrib = [
| common
]
type label = [
| `Label
]
type label_content = [
| phrasing_without_label
]
type label_content_fun = [
| phrasing_without_label
]
type label_attrib = [
| common
| `Label_for
| `Form
]
type input = [
| `Input
]
type input_content = notag
type input_content_fun = notag
type input_attrib = [
| common
| `Accept
| `Alt
| `Autocomplete
| `Autofocus
| `Checked
| `Disabled
| `Form
| `Formation
| `Formenctype
| `Method
| `Formnovalidate
| `Formtarget
| `Height
| `List
| `Input_Max
| `Maxlength
| `Minlength
| `Input_Min
| `Multiple
| `Name
| `Pattern
| `Placeholder
| `ReadOnly
| `Required
| `Size
| `Src
| `Step
| `Input_Type
| `Value
| `Width
| `Inputmode
]
type textarea = [
| `Textarea
]
type textarea_attrib = [
| common
| `Autofocus
| `Disabled
| `Form
| `Maxlength
| `Minlength
| `Name
| `Placeholder
| `ReadOnly
| `Required
| `Wrap
| `Rows
| `Cols
]
type textarea_content = [
| `PCDATA
]
type textarea_content_fun = textarea_content
type button = [
| `Button
]
type button_content = [
| phrasing_without_interactive
]
type button_content_fun = [
| phrasing_without_interactive
]
type button_attrib = [
| common
| `Autofocus
| `Disabled
| `Form
| `Formaction
| `Formenctype
| `Method
| `Formnovalidate
| `Formtarget
| `Name
| `Text_Value
| `Button_Type
]
type select = [
| `Select
]
type select_content = [
| `Optgroup
| `Option
]
type select_content_fun = [
| `Optgroup
| `Option
]
type select_attrib = [
| common
| `Autofocus
| `Multiple
| `Name
| `Size
| `Form
| `Disabled
| `Required
]
type datalist = [
| `Datalist
]
type datalist_content = notag
type datalist_content_fun = notag
type datalist_attrib = [
| common
]
type optgroup = [
| `Optgroup
]
type optgroup_content = [
| `Option
]
type optgroup_content_fun = [
| `Option
]
type optgroup_attrib = [
| common
| `Disabled
| `Label
]
type option_attrib = [
| common
| `Selected
| `Text_Value
| `Disabled
| `Label
| `Value
]
type selectoption = [
| `Option
]
type option_content_fun = [
| `PCDATA
]
type option_content = [
| `PCDATA
]
type keygen = [
| `Keygen
]
type keygen_content = notag
type keygen_content_fun = notag
type keygen_attrib = [
| common
| `Autofcus
| `Challenge
| `Disabled
| `Form
| `Keytype
| `Name
]
type progress = [
| `Progress
]
type progress_content = [
| phrasing_without_progress
]
type progress_content_fun = [
| phrasing_without_progress
]
type progress_attrib = [
| common
| `Float_Value
| `Max
| `Form
]
type meter = [
| `Meter
]
type meter_content = [
| phrasing_without_meter
]
type meter_content_fun = [
| phrasing_without_meter
]
type meter_attrib = [
| common
| `Float_Value
| `Min
| `Max
| `Low
| `High
| `Optimum
| `Form
]
type output_elt = [
| `Output
]
type output_elt_content = [
| phrasing
]
type output_elt_content_fun = [
| phrasing
]
type output_elt_attrib = [
| common
| `Form
| `Output_for
| `Name
]
type details = [
| `Details
]
type details_content = [
| flow5
]
type details_content_fun = [
| flow5
]
type details_attrib = [
| common
| `Open
]
type summary = [
| `Summary
]
type summary_content = [
| phrasing
]
type summary_content_fun = [
| phrasing
]
type summary_attrib = [
| common
]
type command = [
| `Command
]
type command_content = notag
type command_content_fun = notag
type command_attrib = [
| common
| `Icon
| `Disabled
| `Checked
| `Radiogroup
| `Command_Type
]
type menu = [
| `Menu
]
type menu_content = notag
type menu_content_fun = notag
type menu_attrib = [
| common
| `Label
| `Menu_Type
]
type noscript = [
| `Noscript of flow5_without_noscript
]
type noscript_content = flow5_without_noscript
type noscript_content_fun = flow5_without_noscript
type noscript_attrib = [
| common
]
type meta = [
| `Meta
]
type meta_content = notag
type meta_content_fun = notag
type meta_attrib = [
| common
| `Http_equiv
| `Name
| `Content
| `Charset
| `Property
]
type style = [
| `Style
]
type style_content = [
| `PCDATA
]
type style_content_fun = [
| `PCDATA
]
type style_attrib = [
| common
| `Media
| `Mime_type
| `Scoped
]
type script = [
| `Script
]
type script_attrib = [
| common
| subressource_integrity
| `Async
| `Charset
| `Src
| `Defer
| `Mime_type
]
type script_content = [
| `PCDATA
]
type script_content_fun = [
| `PCDATA
]
type template = [
| `Template
]
type template_attrib = [
| common
]
type template_content = [
| flow5
]
type template_content_fun = [
| flow5
]
type picture = [
| `Picture
]
type picture_content = [
| source
| script
| template
]
type picture_content_fun = [
| source
| script
| template
]
type picture_attrib = [
| common
]
type referrerpolicy = [
| `Empty
| `No_referrer
| `No_referrer_when_downgrade
| `Origin
| `Origin_when_cross_origin
| `Same_origin
| `Strict_origin
| `Strict_origin_when_cross_origin
| `Unsafe_url
]
type big_variant = [
| `W3_org_1999_xhtml
| `Default
| `Preserve
| `Selected
| `Get
| `Post
| `Checked
| `Disabled
| `ReadOnly
| `Async
| `Autofocus
| `Autoplay
| `Muted
| `Anonymous
| `Use_credentials
| `Controls
| `Ltr
| `Rtl
| `Formnovalidate
| `Hidden
| `Ismap
| `Loop
| `Novalidate
| `Open
| `Audio
| `Metadata
| `None
| `Pubdate
| `Required
| `Reversed
| `Scoped
| `Seamless
| `Hard
| `Soft
| `Multiple
| `Checkbox
| `Command
| `Radio
| `Context
| `Toolbar
| `Char
| `Justify
| `Left
| `Right
| `Col
| `Colgroup
| `Row
| `Rowgroup
| `All
| `Cols
| `Groups
| `None
| `Rows
| `Rect
| `Circle
| `Poly
| `Default
| `One
| `Zero
| `Auto
| `No
| `Yes
| `Defer
| `Verbatim
| `Latin
| `Latin_name
| `Latin_prose
| `Full_width_latin
| `Kana
| `Katakana
| `Numeric
| `Tel
| `Email
| `Url
| `Text
| `Decimal
| `Search
]
type sandbox_token = [
| `Allow_forms
| `Allow_pointer_lock
| `Allow_popups
| `Allow_top_navigation
| `Allow_same_origin
| `Allow_script
]
type input_type = [
| `Button
| `Checkbox
| `Color
| `Date
| `Datetime
| `Datetime_local
| `Email
| `File
| `Hidden
| `Image
| `Month
| `Number
| `Password
| `Radio
| `Range
| `Reset
| `Search
| `Submit
| `Tel
| `Text
| `Time
| `Url
| `Week
]