package tyxml

  1. Overview
  2. Docs

HTML types with variants, goes with Html_sigs.T.

Attribute types.

type cdata = string

Character data

type id = string

A document-unique identifier

type idref = string

A reference to a document-unique identifier

type idrefs = idref list

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

type name = string

A name with the same character constraints as ID above

type nmtoken = string

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

type nmtokens = nmtoken list

One or more white space separated NMTOKEN values

Data Types

type character = char

A single character from ISO 10646.

type charset = string

A character encoding, as per RFC2045 (MIME).

type charsets = charset list

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

type contenttype = string

A media type, as per RFC2045 (MIME).

type contenttypes = contenttype list

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

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

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

type datetime = string

Date and time information.

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

Either a number or date and time information.

type fpi = string

A character string representing an SGML Formal Public Identifier.

type frametarget = string

Frame name used as destination for results of certain actions.

type languagecode = string

A language code, as per RFC5646/BCP47.

type linktype = [
  1. | `Alternate
  2. | `Archives
  3. | `Author
  4. | `Bookmark
  5. | `Canonical
  6. | `External
  7. | `First
  8. | `Help
  9. | `Icon
  10. | `Index
  11. | `Last
  12. | `License
  13. | `Next
  14. | `Nofollow
  15. | `Noreferrer
  16. | `Noopener
  17. | `Pingback
  18. | `Prefetch
  19. | `Prev
  20. | `Search
  21. | `Stylesheet
  22. | `Sidebar
  23. | `Tag
  24. | `Up
  25. | `Other of string
]
type linktypes = linktype list

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

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

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

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

  • `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 float_number = float
type pixels = int

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

type script_ = string

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

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

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

type text = string

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

Core

type i18n = [
  1. | `XML_lang
  2. | `Lang
]
type core = [
  1. | `Accesskey
  2. | `Class
  3. | `Contenteditable
  4. | `Contextmenu
  5. | `Dir
  6. | `Draggable
  7. | `Hidden
  8. | `Id
  9. | i18n
  10. | `Spellcheck
  11. | `Style_Attr
  12. | `Tabindex
  13. | `Title
  14. | `User_data
  15. | `XMLns
]

Events

type events = [
  1. | `OnAbort
  2. | `OnBlur
  3. | `OnCanPlay
  4. | `OnCanPlayThrough
  5. | `OnChange
  6. | `OnClick
  7. | `OnContextMenu
  8. | `OnDblClick
  9. | `OnDrag
  10. | `OnDragEnd
  11. | `OnDragEnter
  12. | `OnDragLeave
  13. | `OnDragOver
  14. | `OnDragStart
  15. | `OnDrop
  16. | `OnDurationChange
  17. | `OnEmptied
  18. | `OnEnded
  19. | `OnError
  20. | `OnFocus
  21. | `OnFormChange
  22. | `OnFormInput
  23. | `OnInput
  24. | `OnInvalid
  25. | `OnMouseDown
  26. | `OnMouseUp
  27. | `OnMouseOver
  28. | `OnMouseMove
  29. | `OnMouseOut
  30. | `OnMouseWheel
  31. | `OnPause
  32. | `OnPlay
  33. | `OnPlaying
  34. | `OnProgress
  35. | `OnRateChange
  36. | `OnReadyStateChange
  37. | `OnScroll
  38. | `OnSeeked
  39. | `OnSeeking
  40. | `OnSelect
  41. | `OnShow
  42. | `OnStalled
  43. | `OnSubmit
  44. | `OnSuspend
  45. | `OnTimeUpdate
  46. | `OnTouchStart
  47. | `OnTouchEnd
  48. | `OnTouchMove
  49. | `OnTouchCancel
  50. | `OnVolumeChange
  51. | `OnWaiting
  52. | `OnKeyPress
  53. | `OnKeyDown
  54. | `OnKeyUp
  55. | `OnLoad
  56. | `OnLoadedData
  57. | `OnLoadedMetaData
  58. | `OnLoadStart
]

Javascript events

ARIA

type aria = [
  1. | `Role
  2. | `Aria
]
type common = [
  1. | core
  2. | i18n
  3. | events
  4. | aria
]

Common attributes

Categories of HTML elements

These category are mainly subdivised in

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

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

type (+'noscript, +'regular, +'media) transparent_without_interactive = [
  1. | `Noscript of 'noscript
  2. | `Ins of 'regular
  3. | `Del of 'regular
  4. | `Object of 'regular
  5. | `Canvas of 'regular
  6. | `Map of 'regular
  7. | `Audio of 'media
  8. | `Video of 'media
]
type (+'interactive, +'regular, +'media) transparent_without_noscript = [
  1. | `A of 'interactive
  2. | `Ins of 'regular
  3. | `Del of 'regular
  4. | `Canvas of 'regular
  5. | `Map of 'regular
  6. | `Object of 'regular
  7. | `Object_interactive of 'regular
  8. | `Video of 'media
  9. | `Audio of 'media
  10. | `Video_interactive of 'media
  11. | `Audio_interactive of 'media
]
type (+'interactive, +'noscript, +'regular) transparent_without_media = [
  1. | `A of 'interactive
  2. | `Noscript of 'noscript
  3. | `Ins of 'regular
  4. | `Del of 'regular
  5. | `Map of 'regular
  6. | `Canvas of 'regular
  7. | `Object of 'regular
  8. | `Object_interactive of 'regular
]
type metadata_without_title = [
  1. | `Template
  2. | `Style
  3. | `Script
  4. | `Noscript of [ `Meta | `Link | `Style ]
  5. | `Meta
  6. | `Command
  7. | `Base
]

Metadata without title

type metadata = [
  1. | metadata_without_title
  2. | `Title
]

Metadata contents. Used specially in <head>

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

type core_interactive = [
  1. | `Textarea
  2. | `Select
  3. | `Menu
  4. | `Label
  5. | `Keygen
  6. | `Input
  7. | `Img_interactive
  8. | `Iframe
  9. | `Embed
  10. | `Details
  11. | `Button
]

Core element types are element types without transparent.

type core_phrasing = [
  1. | labelable
  2. | submitable
  3. | `Wbr
  4. | `Var
  5. | `U
  6. | `Svg
  7. | `Time
  8. | `Template
  9. | `Sup
  10. | `Sub
  11. | `Strong
  12. | `Span
  13. | `Small
  14. | `Script
  15. | `Samp
  16. | `Ruby
  17. | `Q
  18. | `Mark
  19. | `Label
  20. | `Kbd
  21. | `Iframe
  22. | `I
  23. | `Embed
  24. | `Em
  25. | `Dfn
  26. | `Datalist
  27. | `Command
  28. | `Code
  29. | `Cite
  30. | `Br
  31. | `Bdo
  32. | `B
  33. | `Abbr
  34. | `Img
  35. | `Img_interactive
  36. | `PCDATA
]

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

type core_phrasing_without_noscript = [
  1. | labelable
  2. | submitable
  3. | `Wbr
  4. | `Var
  5. | `U
  6. | `Time
  7. | `Template
  8. | `Sup
  9. | `Sub
  10. | `Svg
  11. | `Strong
  12. | `Span
  13. | `Small
  14. | `Script
  15. | `Samp
  16. | `Ruby
  17. | `Q
  18. | `Mark
  19. | `Label
  20. | `Kbd
  21. | `Iframe
  22. | `I
  23. | `Embed
  24. | `Em
  25. | `Dfn
  26. | `Datalist
  27. | `Command
  28. | `Code
  29. | `Cite
  30. | `Br
  31. | `Bdo
  32. | `Img
  33. | `Img_interactive
  34. | `B
  35. | `Abbr
  36. | `PCDATA
]
type core_phrasing_without_interactive = [
  1. | labelable_without_interactive
  2. | `Wbr
  3. | `Var
  4. | `U
  5. | `Img
  6. | `Time
  7. | `Template
  8. | `Sup
  9. | `Sub
  10. | `Strong
  11. | `Span
  12. | `Small
  13. | `Script
  14. | `Svg
  15. | `Samp
  16. | `Ruby
  17. | `Q
  18. | `Mark
  19. | `Kbd
  20. | `Img
  21. | `I
  22. | `Em
  23. | `Dfn
  24. | `Datalist
  25. | `Command
  26. | `Code
  27. | `Cite
  28. | `Br
  29. | `Bdo
  30. | `B
  31. | `Abbr
  32. | `PCDATA
]
type core_phrasing_without_media = [
  1. | labelable
  2. | submitable
  3. | `Wbr
  4. | `Var
  5. | `U
  6. | `Time
  7. | `Template
  8. | `Svg
  9. | `Sup
  10. | `Sub
  11. | `Strong
  12. | `Span
  13. | `Small
  14. | `Script
  15. | `Samp
  16. | `Ruby
  17. | `Q
  18. | `Mark
  19. | `Label
  20. | `Kbd
  21. | `Img
  22. | `Img_interactive
  23. | `Iframe
  24. | `I
  25. | `Embed
  26. | `Em
  27. | `Dfn
  28. | `Datalist
  29. | `Command
  30. | `Code
  31. | `Cite
  32. | `Br
  33. | `Bdo
  34. | `B
  35. | `Abbr
  36. | `PCDATA
]
type (+'a, +'b) between_phrasing_and_phrasing_without_interactive = [< core_phrasing | ([< phrasing_without_interactive ] as 'b, phrasing_without_noscript, phrasing, phrasing_without_media) transparent Abbr B Bdo Br Canvas Cite Code Command Datalist Del Dfn Em I Img Ins Kbd Map Mark Meter Noscript Object PCDATA Progress Q Ruby Samp Script Small Span Strong Sub Sup Svg Template Time U Var Wbr ] as 'a
type phrasing_without_dfn = [
  1. | labelable
  2. | submitable
  3. | `Wbr
  4. | `Var
  5. | `U
  6. | `Time
  7. | `Template
  8. | `Sup
  9. | `Sub
  10. | `Strong
  11. | `Span
  12. | `Small
  13. | `Script
  14. | `Samp
  15. | `Ruby
  16. | `Q
  17. | `Mark
  18. | `Label
  19. | `Img
  20. | `Img_interactive
  21. | `Kbd
  22. | `I
  23. | `Em
  24. | `Datalist
  25. | `Command
  26. | `Code
  27. | `Cite
  28. | `Br
  29. | `Bdo
  30. | `B
  31. | `Abbr
  32. | `PCDATA
  33. | (phrasing_without_interactive, phrasing_without_noscript, phrasing_without_dfn, phrasing_without_media) transparent
]

Phrasing without the interactive markups

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

Innovation. Community. Security.