SGML

Permissive HTML5.1 DTD Reference

<!--============ Parameter entities ============-->

<!ENTITY % metadata "base|link|meta|noscript|script|style|template|title">
<!ENTITY % scripting "script|template">


<!--============ Distinguished elements ============-->
<!--(see notes for detailled description)-->

<!ELEMENT html O O (head,body) +(script)>
<!ELEMENT head O O (%metadata;)*>
<!ELEMENT body O O ANY>
<!ELEMENT dl - - (dt+,dd+)* +(%scripting;)>
<!ELEMENT ul - - (li)* +(%scripting;)>
<!ELEMENT ol - - (li)* +(%scripting;)>
<!ELEMENT table - - (caption?,colgroup*,thead?,(tbody*|tr+),tfoot?) +(%scripting;)>
<!ELEMENT thead - O (tr*) +(%scripting;)>
<!ELEMENT tbody O O (tr*) +(%scripting;)>
<!ELEMENT tfoot - O (tr*) +(%scripting;)>
<!ELEMENT tr - O (td|th)* +(%scripting;)>
<!ELEMENT th - O ANY -(th|td|tr)>
<!ELEMENT script - - CDATA>
<!ELEMENT style - - CDATA>
<!ELEMENT dt - O ANY -(dt|dd)>
<!ELEMENT div - - ANY>
<!ELEMENT span - - ANY>
<!ELEMENT section - - ANY>


<!--============ Void elements  ============-->

<!ELEMENT base - - EMPTY>
<!ELEMENT link - - EMPTY>
<!ELEMENT meta - - EMPTY>
<!ELEMENT hr - - EMPTY>
<!ELEMENT br - - EMPTY>
<!ELEMENT wbr - - EMPTY>
<!ELEMENT img - - EMPTY>
<!ELEMENT embed - - EMPTY>
<!ELEMENT param - - EMPTY>
<!ELEMENT source - - EMPTY>
<!ELEMENT track - - EMPTY>
<!ELEMENT area - - EMPTY>
<!ELEMENT col - - EMPTY>
<!ELEMENT input - - EMPTY>
<!ELEMENT keygen - - EMPTY>
<!ELEMENT menuitem - - EMPTY>


<!--============ Enumerated attributes ============-->

<!ATTLIST ol
  reversed         (reversed)        #IMPLIED>         

<!ATTLIST img
  ismap            (ismap)           #IMPLIED>         

<!ATTLIST iframe
  allowfullscreen  (allowfullscreen) #IMPLIED>         

<!ATTLIST video
  autoplay         (autoplay)        #IMPLIED          
  loop             (loop)            #IMPLIED          
  muted            (muted)           #IMPLIED          
  controls         (controls)        #IMPLIED>         

<!ATTLIST audio
  autoplay         (autoplay)        #IMPLIED          
  loop             (loop)            #IMPLIED          
  muted            (muted)           #IMPLIED>         

<!ATTLIST track
  default          (default)         #IMPLIED>         

<!ATTLIST form
  novalidate       (novalidate)      #IMPLIED>         

<!ATTLIST input
  autofocus        (autofocus)       #IMPLIED          
  checked          (checked)         #IMPLIED          
  disabled         (disabled)        #IMPLIED          
  formnovalidate   (formnovalidate)  #IMPLIED          
  multiple         (multiple)        #IMPLIED          
  readonly         (readonly)        #IMPLIED          
  required         (required)        #IMPLIED>         

<!ATTLIST button
  autofocus        (autofocus)       #IMPLIED          
  disabled         (disabled)        #IMPLIED          
  formnovalidate   (formnovalidate)  #IMPLIED>         

<!ATTLIST select
  autofocus        (autofocus)       #IMPLIED          
  disabled         (disabled)        #IMPLIED          
  multiple         (multiple)        #IMPLIED          
  required         (required)        #IMPLIED>         

<!ATTLIST optgroup
  disabled         (disabled)        #IMPLIED>         

<!ATTLIST option
  disabled         (disabled)        #IMPLIED          
  selected         (selected)        #IMPLIED>         

<!ATTLIST textarea
  autofocus        (autofocus)       #IMPLIED          
  disabled         (disabled)        #IMPLIED          
  readonly         (readonly)        #IMPLIED          
  required         (required)        #IMPLIED>         

<!ATTLIST keygen
  autofocus        (autofocus)       #IMPLIED          
  disabled         (disabled)        #IMPLIED>         

<!ATTLIST fieldset
  disabled         (disabled)        #IMPLIED>         

<!ATTLIST details
  open             (open)            #IMPLIED>         

<!ATTLIST menuitem
  disabled         (disabled)        #IMPLIED          
  checked          (checked)         #IMPLIED>         

<!ATTLIST script
  async            (async)           #IMPLIED          
  defer            (defer)           #IMPLIED>         


<!--============ Global enumerated attributes ============-->

<!ATTLIST #ALL
  hidden           (hidden)          #IMPLIED          
  lang             NMTOKEN           #IMPLIED>