Module Html5_types

module Html5_types : sig..end

HTML5 types with variants. (See also Html5.​M) See also information concerning HTML5 at W3C.


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 See also 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). See also RFC2045

type charsets = charset list

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

type contenttype = string

A media type, as per RFC2045 (MIME). See also RFC2045

type contenttypes = contenttype list

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

type coords = string list

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

type datetime = string

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. See also RFC5646

type length = [ `Percent of int | `Pixels of int ]

The value may be either in pixels or a percentage of the available horizontal or vertical space. Thus, the value `Percent 50 means half of the available space.

type linktypes = 
  [ `Alternate
  | `Archives
  | `Author
  | `Bookmark
  | `External
  | `First
  | `Help
  | `Icon
  | `Index
  | `Last
  | `License
  | `Next
  | `Nofollow
  | `Noreferrer
  | `Other of string
  | `Pingback
  | `Prefetch
  | `Prev
  | `Search
  | `Sidebar
  | `Stylesheet
  | `Tag
  | `Up ] 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.
  • `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.
  • `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 = 
  [ `All
  | `Aural
  | `Braille
  | `Embossed
  | `Handheld
  | `Print
  | `Projection
  | `Raw_mediadesc of string
  | `Screen
  | `Speech
  | `TTY
  | `TV ] list

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

  • `Screen: For non-paged computer screens.
  • `TTY: For media using a fixed-pitch character grid (like teletypes, terminals, or devices with limited display capabilities).
  • `TV: For TV-type devices (low resolution, limited scrollability).
  • `Projection: For projectors.
  • `Handheld: For handheld devices (small screen, limited bandwidth).
  • `Print: For paged and for documents viewed on screen in print preview mode.
  • `Braille: For braille tactile feedback devices.
  • `Aural: For speech synthesizers.
  • `All: For speech synthesizers.
  • `Raw_mediadesc: For more complex (untyped) media descriptors.
type multilength = [ `Percent of int | `Pixels of int | `Relative of int ]

The value may be a Length or a relative length. A relative length has the form "i*", where "i" is an integer. When allotting space among elements competing for that space, user agents allot pixel and percentage lengths first, then divide up remaining available space among relative lengths. Each relative length receives a portion of the available space that is proportional to the integer preceding the "*". The value "*" is equivalent to "1*". Thus, if 60 pixels of space are available after the user agent allots pixel and percentage space, and the competing relative lengths are "1*", "2*", and "3*", the "1*" will be allotted 10 pixels, the "2*" will be allotted 20 pixels, and the "3*" will be allotted 30 pixels.

type multilengths = multilength list

A comma separated list of items of type MultiLength.

type number = int
type numbers = number list
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. See also 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 = [ `Lang | `XML_lang ]
type core = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `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
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting ]

Javascript events

type common = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]

Common attributes

Categegories of HTML5 elements

type heading = [ `H1 | `H2 | `H3 | `H4 | `H5 | `H6 | `Hgroup ]

These category are mainly subdivised in

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

Transparent elements. Such elements have a part of they children in their dataconsigor, 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 = 
  [ `Audio of 'media
  | `Canvas of 'regular
  | `Del of 'regular
  | `Ins of 'regular
  | `Map of 'regular
  | `Noscript of 'noscript
  | `Object of 'regular
  | `Video of 'media ]
type ('interactive, 'regular, 'media) transparent_without_noscript = 
  [ `A of 'interactive
  | `Audio of 'media
  | `Audio_interactive of 'media
  | `Canvas of 'regular
  | `Del of 'regular
  | `Ins of 'regular
  | `Map of 'regular
  | `Object of 'regular
  | `Object_interactive of 'regular
  | `Video of 'media
  | `Video_interactive of 'media ]
type ('interactive, 'noscript, 'regular) transparent_without_media = 
  [ `A of 'interactive
  | `Canvas of 'regular
  | `Del of 'regular
  | `Ins of 'regular
  | `Map of 'regular
  | `Noscript of 'noscript
  | `Object of 'regular
  | `Object_interactive of 'regular ]
type metadata_without_title = 
  [ `Base
  | `Command
  | `Link
  | `Meta
  | `Noscript of [ `Link | `Meta | `Style ]
  | `Script
  | `Style ]

Metadata without title

type metadata = 
  [ `Base
  | `Command
  | `Link
  | `Meta
  | `Noscript of [ `Link | `Meta | `Style ]
  | `Script
  | `Style
  | `Title ]

Metadata contents. Used specially in <head>

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

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

Core element types are element types without transparent.

type interactive = 
  [ `Audio of interactive
  | `Button
  | `Canvas of interactive
  | `Del of interactive
  | `Details
  | `Embed
  | `Iframe
  | `Img_interactive
  | `Input
  | `Ins of interactive
  | `Keygen
  | `Label
  | `Map of interactive
  | `Menu
  | `Noscript of interactive
  | `Object of interactive
  | `Select
  | `Textarea
  | `Video of interactive ]
type core_phrasing = 
  [ `Abbr
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Dfn
  | `Em
  | `Embed
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Kbd
  | `Keygen
  | `Label
  | `Mark
  | `Meter
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Wbr ]

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

type core_phrasing_without_noscript = 
  [ `Abbr
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Dfn
  | `Em
  | `Embed
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Kbd
  | `Keygen
  | `Label
  | `Mark
  | `Meter
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Wbr ]
type core_phrasing_without_interactive = 
  [ `Abbr
  | `B
  | `Bdo
  | `Br
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Dfn
  | `Em
  | `I
  | `Img
  | `Kbd
  | `Mark
  | `Meter
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Time
  | `U
  | `Var
  | `Wbr ]
type core_phrasing_without_media = 
  [ `Abbr
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Dfn
  | `Em
  | `Embed
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Kbd
  | `Keygen
  | `Label
  | `Mark
  | `Meter
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Wbr ]
type phrasing_without_noscript = 
  (phrasing_without_interactive, phrasing, phrasing_without_media)
  transparent_without_noscript
type phrasing_without_media = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing
  | `Dfn
  | `Em
  | `Embed
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing
  | `Kbd
  | `Keygen
  | `Label
  | `Map of phrasing
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing
  | `Object_interactive of phrasing
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Wbr ]
type phrasing_without_interactive = 
  [ `Abbr
  | `Audio of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Canvas of phrasing
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing
  | `Dfn
  | `Em
  | `I
  | `Img
  | `Ins of phrasing
  | `Kbd
  | `Map of phrasing
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Time
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Wbr ]
type phrasing = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `Audio of phrasing_without_media
  | `Audio_interactive of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing
  | `Dfn
  | `Em
  | `Embed
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing
  | `Kbd
  | `Keygen
  | `Label
  | `Map of phrasing
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing
  | `Object_interactive of phrasing
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Video_interactive of phrasing_without_media
  | `Wbr ]
type 
  ([< `A of [< phrasing_without_interactive ]
   | `Abbr
   | `Audio of phrasing_without_media
   | `Audio_interactive of phrasing_without_media
   | `B
   | `Bdo
   | `Br
   | `Button
   | `Canvas of phrasing
   | `Cite
   | `Code
   | `Command
   | `Datalist
   | `Del of phrasing
   | `Dfn
   | `Em
   | `Embed
   | `I
   | `Iframe
   | `Img
   | `Img_interactive
   | `Input
   | `Ins of phrasing
   | `Kbd
   | `Keygen
   | `Label
   | `Map of phrasing
   | `Mark
   | `Meter
   | `Noscript of phrasing_without_noscript
   | `Object of phrasing
   | `Object_interactive of phrasing
   | `Output
   | `PCDATA
   | `Progress
   | `Q
   | `Ruby
   | `Samp
   | `Script
   | `Select
   | `Small
   | `Span
   | `Strong
   | `Sub
   | `Sup
   | `Svg
   | `Textarea
   | `Time
   | `U
   | `Var
   | `Video of phrasing_without_media
   | `Video_interactive of phrasing_without_media
   | `Wbr
   > `Abbr `B `Bdo `Br `Canvas `Cite `Code `Command `Datalist `Del `Dfn
   `Em `I `Img `Ins `Kbd `Map `Mark `Meter `Noscript `Object `PCDATA
   `Progress `Q `Ruby `Samp `Script `Small `Span `Strong `Sub `Sup
   `Svg `Time `U `Var `Wbr ]
   , [< phrasing_without_interactive ] as 'b)
between_phrasing_and_phrasing_without_interactive =
  [< `A of 'b
   | `Abbr
   | `Audio of phrasing_without_media
   | `Audio_interactive of phrasing_without_media
   | `B
   | `Bdo
   | `Br
   | `Button
   | `Canvas of phrasing
   | `Cite
   | `Code
   | `Command
   | `Datalist
   | `Del of phrasing
   | `Dfn
   | `Em
   | `Embed
   | `I
   | `Iframe
   | `Img
   | `Img_interactive
   | `Input
   | `Ins of phrasing
   | `Kbd
   | `Keygen
   | `Label
   | `Map of phrasing
   | `Mark
   | `Meter
   | `Noscript of phrasing_without_noscript
   | `Object of phrasing
   | `Object_interactive of phrasing
   | `Output
   | `PCDATA
   | `Progress
   | `Q
   | `Ruby
   | `Samp
   | `Script
   | `Select
   | `Small
   | `Span
   | `Strong
   | `Sub
   | `Sup
   | `Svg
   | `Textarea
   | `Time
   | `U
   | `Var
   | `Video of phrasing_without_media
   | `Video_interactive of phrasing_without_media
   | `Wbr
   > `Abbr `B `Bdo `Br `Canvas `Cite `Code `Command `Datalist `Del `Dfn
   `Em `I `Img `Ins `Kbd `Map `Mark `Meter `Noscript `Object `PCDATA
   `Progress `Q `Ruby `Samp `Script `Small `Span `Strong `Sub `Sup
   `Svg `Time `U `Var `Wbr ]
  as 'a
type phrasing_without_dfn = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `Audio of phrasing_without_media
  | `Audio_interactive of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing_without_dfn
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing_without_dfn
  | `Em
  | `I
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing_without_dfn
  | `Kbd
  | `Keygen
  | `Label
  | `Map of phrasing_without_dfn
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing_without_dfn
  | `Object_interactive of phrasing_without_dfn
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Video_interactive of phrasing_without_media
  | `Wbr ]

Phrasing without the interactive markups

type phrasing_without_label = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `Audio of phrasing_without_media
  | `Audio_interactive of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing_without_label
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing_without_label
  | `Dfn
  | `Em
  | `I
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing_without_label
  | `Kbd
  | `Keygen
  | `Map of phrasing_without_label
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing_without_label
  | `Object_interactive of phrasing_without_label
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Video_interactive of phrasing_without_media
  | `Wbr ]
type phrasing_without_progress = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `Audio of phrasing_without_media
  | `Audio_interactive of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing_without_progress
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing_without_progress
  | `Dfn
  | `Em
  | `I
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing_without_progress
  | `Kbd
  | `Keygen
  | `Label
  | `Map of phrasing_without_progress
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing_without_progress
  | `Object_interactive of phrasing_without_progress
  | `Output
  | `PCDATA
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Video_interactive of phrasing_without_media
  | `Wbr ]
type phrasing_without_time = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `Audio of phrasing_without_media
  | `Audio_interactive of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing_without_time
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing_without_time
  | `Dfn
  | `Em
  | `I
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing_without_time
  | `Kbd
  | `Keygen
  | `Label
  | `Map of phrasing_without_time
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing_without_time
  | `Object_interactive of phrasing_without_time
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Textarea
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Video_interactive of phrasing_without_media
  | `Wbr ]
type phrasing_without_meter = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `Audio of phrasing_without_media
  | `Audio_interactive of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing_without_meter
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing_without_meter
  | `Dfn
  | `Em
  | `I
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing_without_meter
  | `Kbd
  | `Keygen
  | `Label
  | `Map of phrasing_without_meter
  | `Mark
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing_without_meter
  | `Object_interactive of phrasing_without_meter
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Video_interactive of phrasing_without_media
  | `Wbr ]
type core_flow5 = 
  [ `Abbr
  | `Address
  | `Article
  | `Aside
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Kbd
  | `Keygen
  | `Label
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Wbr ]
type core_flow5_without_interactive = 
  [ `Abbr
  | `Address
  | `Article
  | `Aside
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Img
  | `Input
  | `Kbd
  | `Keygen
  | `Label
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Wbr ]
type core_flow5_without_noscript = 
  [ `Abbr
  | `Address
  | `Article
  | `Aside
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Kbd
  | `Keygen
  | `Label
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Wbr ]
type core_flow5_without_media = 
  [ `Abbr
  | `Address
  | `Article
  | `Aside
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Kbd
  | `Keygen
  | `Label
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Wbr ]
type flow5_without_interactive = 
  [ `Abbr
  | `Address
  | `Article
  | `Aside
  | `Audio of flow5_without_media
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of flow5
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Img
  | `Input
  | `Ins of flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Noscript of flow5_without_noscript
  | `Object of flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Video of flow5_without_media
  | `Wbr ]
type flow5_without_noscript = 
  [ `A of flow5_without_interactive
  | `Abbr
  | `Address
  | `Article
  | `Aside
  | `Audio of flow5_without_media
  | `Audio_interactive of flow5_without_media
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of flow5
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Object of flow5
  | `Object_interactive of flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Video of flow5_without_media
  | `Video_interactive of flow5_without_media
  | `Wbr ]
type flow5_without_media = 
  [ `A of flow5_without_interactive
  | `Abbr
  | `Address
  | `Article
  | `Aside
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of flow5
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Noscript of flow5_without_noscript
  | `Object of flow5
  | `Object_interactive of flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Wbr ]
type flow5 = 
  [ `A of flow5_without_interactive
  | `Abbr
  | `Address
  | `Article
  | `Aside
  | `Audio of flow5_without_media
  | `Audio_interactive of flow5_without_media
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of flow5
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Noscript of flow5_without_noscript
  | `Object of flow5
  | `Object_interactive of flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Video of flow5_without_media
  | `Video_interactive of flow5_without_media
  | `Wbr ]
type flow5_without_table = 
  [ `A of flow5_without_interactive
  | `Abbr
  | `Address
  | `Article
  | `Aside
  | `Audio of flow5_without_media
  | `Audio_interactive of flow5_without_media
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of flow5
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Noscript of flow5_without_noscript
  | `Object of flow5
  | `Object_interactive of flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Video of flow5_without_media
  | `Video_interactive of flow5_without_media
  | `Wbr ]
type flow5_without_form = 
  [ `A of flow5_without_interactive
  | `Abbr
  | `Address
  | `Article
  | `Aside
  | `Audio of flow5_without_media
  | `Audio_interactive of flow5_without_media
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of flow5
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Noscript of flow5_without_noscript
  | `Object of flow5
  | `Object_interactive of flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Video of flow5_without_media
  | `Video_interactive of flow5_without_media
  | `Wbr ]
type pcdata = [ `PCDATA ]
type notag
type no_attribute_allowed
type noattrib = [ `No_attribute_allowed of no_attribute_allowed ]
type html = [ `Html ]
type html_content_fun = [ `Body | `Head ]
type html_content = html_content_fun
type html_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `Manifest
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type head = [ `Head ]
type head_content = metadata
type head_content_fun = metadata_without_title
type head_attrib = common
type body = [ `Body ]
type body_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnAfterPrint
  | `OnBeforePrint
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnHashChange
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMessage
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnOffLine
  | `OnOnLine
  | `OnPageHide
  | `OnPageShow
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnPopState
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnRedo
  | `OnResize
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnStorage
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnUndo
  | `OnUnload
  | `OnVolumeChange
  | `OnWaiting
  | `OneBeforeUnload
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Href
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Target
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type title = [ `Title ]
type title_content = [ `PCDATA ]
type title_content_fun = [ `PCDATA ]
type title_attrib = noattrib
type footer = [ `Footer ]
type footer_content = flow5_without_header_footer
type footer_content_fun = flow5_without_header_footer
type footer_attrib = common
type header = [ `Header ]
type header_content = flow5_without_header_footer
type header_content_fun = flow5_without_header_footer
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_content = flow5_without_sectioning_heading_header_footer_address
type address_content_fun = flow5_without_sectioning_heading_header_footer_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 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 = 
  [ `Accesskey
  | `Cite
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type div = [ `Div ]
type div_content = flow5
type div_content_fun = flow5
type div_attrib = common
type ol = [ `Ol ]
type ol_content = 
  [ `Li of
   [ `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Hidden
   | `Id
   | `Int_Value
   | `Lang
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ] ]
type ol_content_fun = 
  [ `Li of
   [ `Accesskey
   | `Class
   | `Contenteditable
   | `Contextmenu
   | `Dir
   | `Draggable
   | `Hidden
   | `Id
   | `Int_Value
   | `Lang
   | `OnAbort
   | `OnBlur
   | `OnCanPlay
   | `OnCanPlayThrough
   | `OnChange
   | `OnClick
   | `OnContextMenu
   | `OnDblClick
   | `OnDrag
   | `OnDragEnd
   | `OnDragEnter
   | `OnDragLeave
   | `OnDragOver
   | `OnDragStart
   | `OnDrop
   | `OnDurationChange
   | `OnEmptied
   | `OnEnded
   | `OnError
   | `OnFocus
   | `OnFormChange
   | `OnFormInput
   | `OnInput
   | `OnInvalid
   | `OnKeyDown
   | `OnKeyPress
   | `OnKeyUp
   | `OnLoad
   | `OnLoadStart
   | `OnLoadedData
   | `OnLoadedMetaData
   | `OnMouseDown
   | `OnMouseMove
   | `OnMouseOut
   | `OnMouseOver
   | `OnMouseUp
   | `OnMouseWheel
   | `OnPause
   | `OnPlay
   | `OnPlaying
   | `OnProgress
   | `OnRateChange
   | `OnReadyStateChange
   | `OnScroll
   | `OnSeeked
   | `OnSeeking
   | `OnSelect
   | `OnShow
   | `OnStalled
   | `OnSubmit
   | `OnSuspend
   | `OnTimeUpdate
   | `OnVolumeChange
   | `OnWaiting
   | `Spellcheck
   | `Style_Attr
   | `Tabindex
   | `Title
   | `User_data
   | `XML_lang
   | `XMLns ] ]
type ol_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Reversed
  | `Spellcheck
  | `Start
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type li_content = flow5
type li_content_fun = flow5
type li_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Int_Value
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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_content = phrasing
type dt_content_fun = phrasing
type dt_attrib = common
type dl = [ `Dl ]
type dl_content = [ `Dd | `Dt ]
type dl_content_fun = [ `Dd | `Dt ]
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 = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `Audio of phrasing_without_media
  | `Audio_interactive of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing
  | `Dfn
  | `Em
  | `Embed
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing
  | `Kbd
  | `Keygen
  | `Label
  | `Map of phrasing
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing
  | `Object_interactive of phrasing
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Rp
  | `Rt
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Video_interactive of phrasing_without_media
  | `Wbr ]
type ruby_content_fun = 
  [ `A of phrasing_without_interactive
  | `Abbr
  | `Audio of phrasing_without_media
  | `Audio_interactive of phrasing_without_media
  | `B
  | `Bdo
  | `Br
  | `Button
  | `Canvas of phrasing
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of phrasing
  | `Dfn
  | `Em
  | `Embed
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of phrasing
  | `Kbd
  | `Keygen
  | `Label
  | `Map of phrasing
  | `Mark
  | `Meter
  | `Noscript of phrasing_without_noscript
  | `Object of phrasing
  | `Object_interactive of phrasing
  | `Output
  | `PCDATA
  | `Progress
  | `Q
  | `Rp
  | `Rt
  | `Ruby
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Svg
  | `Textarea
  | `Time
  | `U
  | `Var
  | `Video of phrasing_without_media
  | `Video_interactive of phrasing_without_media
  | `Wbr ]
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 = 
  [ `Accesskey
  | `Cite
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Datetime
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Pubdate
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Href
  | `Hreflang
  | `Id
  | `Lang
  | `Media
  | `Mime_type
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Rel
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Target
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type 'a del = [ `Del of 'a ]
type del_content = flow5
type del_ = del_content del
type del_content_fun = flow5
type del_attrib = 
  [ `Accesskey
  | `Cite
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Datetime
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type 'a ins = [ `Ins of 'a ]
type ins_content = flow5
type ins_ = ins_content ins
type ins_content_fun = flow5
type ins_attrib = 
  [ `Accesskey
  | `Cite
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Datetime
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type iframe = [ `Iframe ]
type iframe_content = [ `PCDATA ]
type iframe_content_fun = [ `PCDATA ]
type iframe_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Height
  | `Hidden
  | `Id
  | `Lang
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Sandbox
  | `Seamless
  | `Spellcheck
  | `Src
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `Width
  | `XML_lang
  | `XMLns ]
type object__content = 
  [ `A of flow5_without_interactive
  | `Abbr
  | `Address
  | `Article
  | `Aside
  | `Audio of flow5_without_media
  | `Audio_interactive of flow5_without_media
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of flow5
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Noscript of flow5_without_noscript
  | `Object of flow5
  | `Object_interactive of flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Param
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Video of flow5_without_media
  | `Video_interactive of flow5_without_media
  | `Wbr ]
type object__content_fun = flow5
type 'a object_ = [ `Object of 'a | `Object_interactive of 'a ]
type object__ = object__content object_
type object__attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Data
  | `Dir
  | `Draggable
  | `Form
  | `Height
  | `Hidden
  | `Id
  | `Lang
  | `Mime_type
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `Usemap
  | `User_data
  | `Width
  | `XML_lang
  | `XMLns ]
type param = [ `Param ]
type param_content = notag
type param_content_fun = notag
type param_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Text_Value
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type embed = [ `Embed ]
type embed_content = notag
type embed_content_fun = notag
type embed_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Height
  | `Hidden
  | `Id
  | `Lang
  | `Mime_type
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Src
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `Width
  | `XML_lang
  | `XMLns ]
type img = [ `Img ]
type img_interactive = [ `Img | `Img_interactive ]
type img_content = notag
type img_content_fun = notag
type img_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Height
  | `Hidden
  | `Id
  | `Ismap
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `Width
  | `XML_lang
  | `XMLns ]
type media_attrib = 
  [ `Autoplay
  | `Controls
  | `Crossorigin
  | `Loop
  | `Mediagroup
  | `Muted
  | `Preload ]
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 = 
  [ `Accesskey
  | `Autoplay
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Controls
  | `Crossorigin
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `Loop
  | `Mediagroup
  | `Muted
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Preload
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Autoplay
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Controls
  | `Crossorigin
  | `Dir
  | `Draggable
  | `Height
  | `Hidden
  | `Id
  | `Lang
  | `Loop
  | `Mediagroup
  | `Muted
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Poster
  | `Preload
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `Width
  | `XML_lang
  | `XMLns ]
type 'a canvas = [ `Canvas of 'a ]
type canvas_content = flow5
type canvas_ = canvas_content canvas
type canvas_content_fun = flow5
type canvas_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Height
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `Width
  | `XML_lang
  | `XMLns ]
type source = [ `Source ]
type source_content = notag
type source_content_fun = notag
type source_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `Media
  | `Mime_type
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Src
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type area = [ `Area ]
type area_content = notag
type area_content_fun = notag
type area_attrib = 
  [ `Accesskey
  | `Alt
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Coords
  | `Dir
  | `Draggable
  | `Hidden
  | `Hreflang
  | `Id
  | `Lang
  | `Media
  | `Mime_type
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Rel
  | `Shape
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Target
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type 'a map = [ `Map of 'a ]
type map_content = flow5
type map_ = map_content map
type map_content_fun = flow5
type map_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Summary
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type tablex = [ `Table ]
type tablex_content = [ `Tbody ]
type tablex_content_fun = [ `Tbody ]
type tablex_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Summary
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type colgroup = [ `Colgroup ]
type colgroup_content = [ `Col ]
type colgroup_content_fun = [ `Col ]
type colgroup_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Span
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type col = [ `Col ]
type col_content = notag
type col_content_fun = notag
type col_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Span
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Class
  | `Colspan
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Headers
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Rowspan
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type th = [ `Th ]
type th_content = phrasing
type th_content_fun = phrasing
type th_attrib = 
  [ `Accesskey
  | `Class
  | `Colspan
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Headers
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Rowspan
  | `Scope
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accept_charset
  | `Accesskey
  | `Action
  | `Autocomplete
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Enctype
  | `Hidden
  | `Id
  | `Lang
  | `Method
  | `Name
  | `Novalidate
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Target
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type fieldset = [ `Fieldset ]
type fieldset_content = flow5
type fieldset_content_fun = flow5
type fieldset_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Form
  | `Hidden
  | `Id
  | `Lang
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `For
  | `Form
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type input = [ `Input ]
type input_content = notag
type input_content_fun = notag
type input_attrib = 
  [ `Accept
  | `Accesskey
  | `Alt
  | `Autocomplete
  | `Autofocus
  | `Checked
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Form
  | `Formation
  | `Formenctype
  | `Formmethod
  | `Formnovalidate
  | `Formtarget
  | `Height
  | `Hidden
  | `Id
  | `Input_Max
  | `Input_Min
  | `Input_Type
  | `Lang
  | `List
  | `Maxlength
  | `Multiple
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Pattern
  | `Placeholder
  | `ReadOnly
  | `Required
  | `Size
  | `Spellcheck
  | `Src
  | `Step
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `Value
  | `Width
  | `XML_lang
  | `XMLns ]
type textarea = [ `Textarea ]
type textarea_attrib = 
  [ `Accesskey
  | `Autofocus
  | `Class
  | `Cols
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Form
  | `Hidden
  | `Id
  | `Lang
  | `Maxlength
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Placeholder
  | `ReadOnly
  | `Required
  | `Rows
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `Wrap
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Autofocus
  | `Button_Type
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Form
  | `Formaction
  | `Formenctype
  | `Formmethod
  | `Formnovalidate
  | `Formtarget
  | `Hidden
  | `Id
  | `Lang
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Text_Value
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type select = [ `Select ]
type select_content = [ `Optgroup | `Option ]
type select_content_fun = [ `Optgroup | `Option ]
type select_attrib = 
  [ `Accesskey
  | `Autofocus
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Form
  | `Hidden
  | `Id
  | `Lang
  | `Multiple
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Required
  | `Size
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Hidden
  | `Id
  | `Label
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type option_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Hidden
  | `Id
  | `Label
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Selected
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Text_Value
  | `Title
  | `User_data
  | `Value
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Autofcus
  | `Challenge
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Form
  | `Hidden
  | `Id
  | `Keytype
  | `Lang
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type progress = [ `Progress ]
type progress_content = phrasing_without_progress
type progress_content_fun = phrasing_without_progress
type progress_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Float_Value
  | `Form
  | `Hidden
  | `Id
  | `Lang
  | `Max
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type meter = [ `Meter ]
type meter_content = phrasing_without_meter
type meter_content_fun = phrasing_without_meter
type meter_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Float_Value
  | `Form
  | `Hidden
  | `High
  | `Id
  | `Lang
  | `Low
  | `Max
  | `Min
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Optimum
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type output_elt = [ `Output ]
type output_elt_content = phrasing
type output_elt_content_fun = phrasing
type output_elt_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `For_List
  | `Form
  | `Hidden
  | `Id
  | `Lang
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type details = [ `Details ]
type details_content = flow5
type details_content_fun = flow5
type details_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Open
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Checked
  | `Class
  | `Command_Type
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Disabled
  | `Draggable
  | `Hidden
  | `Icon
  | `Id
  | `Lang
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Radiogroup
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type menu = [ `Menu ]
type menu_content = notag
type menu_content_fun = notag
type menu_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Label
  | `Lang
  | `Menu_Type
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
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 = 
  [ `Accesskey
  | `Charset
  | `Class
  | `Content
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Http_equiv
  | `Id
  | `Lang
  | `Name
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Property
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type style = [ `Style ]
type style_content = [ `PCDATA ]
type style_content_fun = [ `PCDATA ]
type style_attrib = 
  [ `Accesskey
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `Media
  | `Mime_type
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Scoped
  | `Spellcheck
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type script = [ `Script ]
type script_attrib = 
  [ `Accesskey
  | `Async
  | `Charset
  | `Class
  | `Contenteditable
  | `Contextmenu
  | `Defer
  | `Dir
  | `Draggable
  | `Hidden
  | `Id
  | `Lang
  | `Mime_type
  | `OnAbort
  | `OnBlur
  | `OnCanPlay
  | `OnCanPlayThrough
  | `OnChange
  | `OnClick
  | `OnContextMenu
  | `OnDblClick
  | `OnDrag
  | `OnDragEnd
  | `OnDragEnter
  | `OnDragLeave
  | `OnDragOver
  | `OnDragStart
  | `OnDrop
  | `OnDurationChange
  | `OnEmptied
  | `OnEnded
  | `OnError
  | `OnFocus
  | `OnFormChange
  | `OnFormInput
  | `OnInput
  | `OnInvalid
  | `OnKeyDown
  | `OnKeyPress
  | `OnKeyUp
  | `OnLoad
  | `OnLoadStart
  | `OnLoadedData
  | `OnLoadedMetaData
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnMouseWheel
  | `OnPause
  | `OnPlay
  | `OnPlaying
  | `OnProgress
  | `OnRateChange
  | `OnReadyStateChange
  | `OnScroll
  | `OnSeeked
  | `OnSeeking
  | `OnSelect
  | `OnShow
  | `OnStalled
  | `OnSubmit
  | `OnSuspend
  | `OnTimeUpdate
  | `OnVolumeChange
  | `OnWaiting
  | `Spellcheck
  | `Src
  | `Style_Attr
  | `Tabindex
  | `Title
  | `User_data
  | `XML_lang
  | `XMLns ]
type script_content = [ `PCDATA ]
type script_content_fun = [ `PCDATA ]