A. DTDs

Contents

This appendix is normative.

These DTDs and entity sets form a normative part of this specification. The complete set of DTD files together with an XML declaration and SGML Open Catalog is included in the zip file and the gzip'd tar file for this specification. Users looking for local copies of the DTDs to work with should download and use those archives rather than using the specific DTDs referenced below.

A.1. Document Type Definitions

These DTDs approximate the HTML 4 DTDs. The W3C recommends that you use the authoritative versions of these DTDs at their defined SYSTEM identifiers when validating content. If you need to use these DTDs locally you should download one of the archives of this version. For completeness, the normative versions of the DTDs are included here:

A.1.1. XHTML-1.0-Strict

The file DTD/xhtml1-strict.dtd is a normative part of this specification. Its annotated contents are included here for completeness.





% HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "xhtml-lat1.ent">
%HTMLlat1;

% HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "xhtml-symbol.ent">
%HTMLsymbol;

% HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "xhtml-special.ent">
%HTMLspecial;



% ContentType "CDATA">
    

% ContentTypes "CDATA">
    

% Charset "CDATA">
    

% Charsets "CDATA">
    

% LanguageCode "NMTOKEN">
    

% Character "CDATA">
    

% Number "CDATA">
    

% LinkTypes "CDATA">
    

% MediaDesc "CDATA">
    

% URI "CDATA">
    

% UriList "CDATA">
    

% Datetime "CDATA">
    

% Script "CDATA">
    

% StyleSheet "CDATA">
    

% Text "CDATA">
    

% Length "CDATA">
    

% MultiLength "CDATA">
    

% Pixels "CDATA">
    



% Shape "(rect|circle|poly|default)">

% Coords "CDATA">
    




% coreattrs
 "id          ID             #IMPLIED
  class       CDATA          #IMPLIED
  style       %StyleSheet;   #IMPLIED
  title       %Text;         #IMPLIED"
  >


% i18n
 "lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #IMPLIED"
  >


% events
 "onclick     %Script;       #IMPLIED
  ondblclick  %Script;       #IMPLIED
  onmousedown %Script;       #IMPLIED
  onmouseup   %Script;       #IMPLIED
  onmouseover %Script;       #IMPLIED
  onmousemove %Script;       #IMPLIED
  onmouseout  %Script;       #IMPLIED
  onkeypress  %Script;       #IMPLIED
  onkeydown   %Script;       #IMPLIED
  onkeyup     %Script;       #IMPLIED"
  >


% focus
 "accesskey   %Character;    #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED"
  >

% attrs "%coreattrs; %i18n; %events;">



% special.pre
   "br | span | bdo | map">


% special
   "%special.pre; | object | img ">

% fontstyle "tt | i | b | big | small ">

% phrase "em | strong | dfn | code | q |
                   samp | kbd | var | cite | abbr | acronym | sub | sup ">

% inline.forms "input | select | textarea | label | button">


% misc.inline "ins | del | script">


% misc "noscript | %misc.inline;">

% inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">


% Inline "(#PCDATA | %inline; | %misc.inline;)*">



% heading "h1|h2|h3|h4|h5|h6">
% lists "ul | ol | dl">
% blocktext "pre | hr | blockquote | address">

% block
     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">

% Block "(%block; | form | %misc;)*">


% Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">





% a.content
   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">



% pre.content
   "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
      | %inline.forms;)*">



% form.content "(%block; | %misc;)*">



% button.content
   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
    table | %special; | %fontstyle; | %phrase; | %misc;)*">





html (head, body)>
html
  %i18n;
  id          ID             #IMPLIED
  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
  >



% head.misc "(script|style|meta|link|object)*">



head (%head.misc;,
     ((title, %head.misc;, (base, %head.misc;)?) |
      (base, %head.misc;, (title, %head.misc;))))>

head
  %i18n;
  id          ID             #IMPLIED
  profile     %URI;          #IMPLIED
  >


title (#PCDATA)>
title 
  %i18n;
  id          ID             #IMPLIED
  >



base EMPTY>
base
  href        %URI;          #REQUIRED
  id          ID             #IMPLIED
  >


meta EMPTY>
meta
  %i18n;
  id          ID             #IMPLIED
  http-equiv  CDATA          #IMPLIED
  name        CDATA          #IMPLIED
  content     CDATA          #REQUIRED
  scheme      CDATA          #IMPLIED
  >



link EMPTY>
link
  %attrs;
  charset     %Charset;      #IMPLIED
  href        %URI;          #IMPLIED
  hreflang    %LanguageCode; #IMPLIED
  type        %ContentType;  #IMPLIED
  rel         %LinkTypes;    #IMPLIED
  rev         %LinkTypes;    #IMPLIED
  media       %MediaDesc;    #IMPLIED
  >


style (#PCDATA)>
style
  %i18n;
  id          ID             #IMPLIED
  type        %ContentType;  #REQUIRED
  media       %MediaDesc;    #IMPLIED
  title       %Text;         #IMPLIED
  xml:space   (preserve)     #FIXED 'preserve'
  >


script (#PCDATA)>
script
  id          ID             #IMPLIED
  charset     %Charset;      #IMPLIED
  type        %ContentType;  #REQUIRED
  src         %URI;          #IMPLIED
  defer       (defer)        #IMPLIED
  xml:space   (preserve)     #FIXED 'preserve'
  >



noscript %Block;>
noscript
  %attrs;
  >



body %Block;>
body
  %attrs;
  onload          %Script;   #IMPLIED
  onunload        %Script;   #IMPLIED
  >

div %Flow;>  
div
  %attrs;
  >



p %Inline;>
p
  %attrs;
  >





h1  %Inline;>
h1
   %attrs;
   >

h2 %Inline;>
h2
   %attrs;
   >

h3 %Inline;>
h3
   %attrs;
   >

h4 %Inline;>
h4
   %attrs;
   >

h5 %Inline;>
h5
   %attrs;
   >

h6 %Inline;>
h6
   %attrs;
   >





ul (li)+>
ul
  %attrs;
  >



ol (li)+>
ol
  %attrs;
  >



li %Flow;>
li
  %attrs;
  >



dl (dt|dd)+>
dl
  %attrs;
  >

dt %Inline;>
dt
  %attrs;
  >

dd %Flow;>
dd
  %attrs;
  >





address %Inline;>
address
  %attrs;
  >



hr EMPTY>
hr
  %attrs;
  >





pre %pre.content;>
pre
  %attrs;
  xml:space (preserve) #FIXED 'preserve'
  >



blockquote %Block;>
blockquote
  %attrs;
  cite        %URI;          #IMPLIED
  >




ins %Flow;>
ins
  %attrs;
  cite        %URI;          #IMPLIED
  datetime    %Datetime;     #IMPLIED
  >

del %Flow;>
del
  %attrs;
  cite        %URI;          #IMPLIED
  datetime    %Datetime;     #IMPLIED
  >





a %a.content;>
a
  %attrs;
  %focus;
  charset     %Charset;      #IMPLIED
  type        %ContentType;  #IMPLIED
  name        NMTOKEN        #IMPLIED
  href        %URI;          #IMPLIED
  hreflang    %LanguageCode; #IMPLIED
  rel         %LinkTypes;    #IMPLIED
  rev         %LinkTypes;    #IMPLIED
  shape       %Shape;        "rect"
  coords      %Coords;       #IMPLIED
  >



span %Inline;> 
span
  %attrs;
  >

bdo %Inline;>  
bdo
  %coreattrs;
  %events;
  lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #REQUIRED
  >

br EMPTY>   
br
  %coreattrs;
  >

em %Inline;>   
em %attrs;>

strong %Inline;>   
strong %attrs;>

dfn %Inline;>   
dfn %attrs;>

code %Inline;>   
code %attrs;>

samp %Inline;>   
samp %attrs;>

kbd %Inline;>  
kbd %attrs;>

var %Inline;>   
var %attrs;>

cite %Inline;>   
cite %attrs;>

abbr %Inline;>   
abbr %attrs;>

acronym %Inline;>   
acronym %attrs;>

q %Inline;>   
q
  %attrs;
  cite        %URI;          #IMPLIED
  >

sub %Inline;> 
sub %attrs;>

sup %Inline;> 
sup %attrs;>

tt %Inline;>   
tt %attrs;>

i %Inline;>   
i %attrs;>

b %Inline;>   
b %attrs;>

big %Inline;>   
big %attrs;>

small %Inline;>   
small %attrs;>




object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
object
  %attrs;
  declare     (declare)      #IMPLIED
  classid     %URI;          #IMPLIED
  codebase    %URI;          #IMPLIED
  data        %URI;          #IMPLIED
  type        %ContentType;  #IMPLIED
  codetype    %ContentType;  #IMPLIED
  archive     %UriList;      #IMPLIED
  standby     %Text;         #IMPLIED
  height      %Length;       #IMPLIED
  width       %Length;       #IMPLIED
  usemap      %URI;          #IMPLIED
  name        NMTOKEN        #IMPLIED
  tabindex    %Number;       #IMPLIED
  >


param EMPTY>
param
  id          ID             #IMPLIED
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  valuetype   (data|ref|object) "data"
  type        %ContentType;  #IMPLIED
  >





img EMPTY>
img
  %attrs;
  src         %URI;          #REQUIRED
  alt         %Text;         #REQUIRED
  longdesc    %URI;          #IMPLIED
  height      %Length;       #IMPLIED
  width       %Length;       #IMPLIED
  usemap      %URI;          #IMPLIED
  ismap       (ismap)        #IMPLIED
  >







map ((%block; | form | %misc;)+ | area+)>
map
  %i18n;
  %events;
  id          ID             #REQUIRED
  class       CDATA          #IMPLIED
  style       %StyleSheet;   #IMPLIED
  title       %Text;         #IMPLIED
  name        NMTOKEN        #IMPLIED
  >

area EMPTY>
area
  %attrs;
  %focus;
  shape       %Shape;        "rect"
  coords      %Coords;       #IMPLIED
  href        %URI;          #IMPLIED
  nohref      (nohref)       #IMPLIED
  alt         %Text;         #REQUIRED
  >


form %form.content;>   

form
  %attrs;
  action      %URI;          #REQUIRED
  method      (get|post)     "get"
  enctype     %ContentType;  "application/x-www-form-urlencoded"
  onsubmit    %Script;       #IMPLIED
  onreset     %Script;       #IMPLIED
  accept      %ContentTypes; #IMPLIED
  accept-charset %Charsets;  #IMPLIED
  >


label %Inline;>
label
  %attrs;
  for         IDREF          #IMPLIED
  accesskey   %Character;    #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED
  >

% InputType
  "(text | password | checkbox |
    radio | submit | reset |
    file | hidden | image | button)"
   >



input EMPTY>     
input
  %attrs;
  %focus;
  type        %InputType;    "text"
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  checked     (checked)      #IMPLIED
  disabled    (disabled)     #IMPLIED
  readonly    (readonly)     #IMPLIED
  size        CDATA          #IMPLIED
  maxlength   %Number;       #IMPLIED
  src         %URI;          #IMPLIED
  alt         CDATA          #IMPLIED
  usemap      %URI;          #IMPLIED
  onselect    %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  accept      %ContentTypes; #IMPLIED
  >

select (optgroup|option)+>  
select
  %attrs;
  name        CDATA          #IMPLIED
  size        %Number;       #IMPLIED
  multiple    (multiple)     #IMPLIED
  disabled    (disabled)     #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  >

optgroup (option)+>   
optgroup
  %attrs;
  disabled    (disabled)     #IMPLIED
  label       %Text;         #REQUIRED
  >

option (#PCDATA)>     
option
  %attrs;
  selected    (selected)     #IMPLIED
  disabled    (disabled)     #IMPLIED
  label       %Text;         #IMPLIED
  value       CDATA          #IMPLIED
  >

textarea (#PCDATA)>     
textarea
  %attrs;
  %focus;
  name        CDATA          #IMPLIED
  rows        %Number;       #REQUIRED
  cols        %Number;       #REQUIRED
  disabled    (disabled)     #IMPLIED
  readonly    (readonly)     #IMPLIED
  onselect    %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  >


fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
fieldset
  %attrs;
  >

legend %Inline;>     
legend
  %attrs;
  accesskey   %Character;    #IMPLIED
  >

 
button %button.content;>  
button
  %attrs;
  %focus;
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  type        (button|submit|reset) "submit"
  disabled    (disabled)     #IMPLIED
  >






% TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">



% TRules "(none | groups | rows | cols | all)">
  

% cellhalign
  "align      (left|center|right|justify|char) #IMPLIED
   char       %Character;    #IMPLIED
   charoff    %Length;       #IMPLIED"
  >


% cellvalign
  "valign     (top|middle|bottom|baseline) #IMPLIED"
  >

table
     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
caption  %Inline;>
thead    (tr)+>
tfoot    (tr)+>
tbody    (tr)+>
colgroup (col)*>
col      EMPTY>
tr       (th|td)+>
th       %Flow;>
td       %Flow;>

table
  %attrs;
  summary     %Text;         #IMPLIED
  width       %Length;       #IMPLIED
  border      %Pixels;       #IMPLIED
  frame       %TFrame;       #IMPLIED
  rules       %TRules;       #IMPLIED
  cellspacing %Length;       #IMPLIED
  cellpadding %Length;       #IMPLIED
  >

caption
  %attrs;
  >


colgroup
  %attrs;
  span        %Number;       "1"
  width       %MultiLength;  #IMPLIED
  %cellhalign;
  %cellvalign;
  >


col
  %attrs;
  span        %Number;       "1"
  width       %MultiLength;  #IMPLIED
  %cellhalign;
  %cellvalign;
  >


thead
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tfoot
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tbody
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tr
  %attrs;
  %cellhalign;
  %cellvalign;
  >



% Scope "(row|col|rowgroup|colgroup)">



th
  %attrs;
  abbr        %Text;         #IMPLIED
  axis        CDATA          #IMPLIED
  headers     IDREFS         #IMPLIED
  scope       %Scope;        #IMPLIED
  rowspan     %Number;       "1"
  colspan     %Number;       "1"
  %cellhalign;
  %cellvalign;
  >

td
  %attrs;
  abbr        %Text;         #IMPLIED
  axis        CDATA          #IMPLIED
  headers     IDREFS         #IMPLIED
  scope       %Scope;        #IMPLIED
  rowspan     %Number;       "1"
  colspan     %Number;       "1"
  %cellhalign;
  %cellvalign;
  >


A.1.2. XHTML-1.0-Transitional

The file DTD/xhtml1-transitional.dtd is a normative part of this specification. Its annotated contents are included here for completeness.





% HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "xhtml-lat1.ent">
%HTMLlat1;

% HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "xhtml-symbol.ent">
%HTMLsymbol;

% HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "xhtml-special.ent">
%HTMLspecial;



% ContentType "CDATA">
    

% ContentTypes "CDATA">
    

% Charset "CDATA">
    

% Charsets "CDATA">
    

% LanguageCode "NMTOKEN">
    

% Character "CDATA">
    

% Number "CDATA">
    

% LinkTypes "CDATA">
    

% MediaDesc "CDATA">
    

% URI "CDATA">
    

% UriList "CDATA">
    

% Datetime "CDATA">
    

% Script "CDATA">
    

% StyleSheet "CDATA">
    

% Text "CDATA">
    

% FrameTarget "NMTOKEN">
    

% Length "CDATA">
    

% MultiLength "CDATA">
    

% Pixels "CDATA">
    



% Shape "(rect|circle|poly|default)">

% Coords "CDATA">
    


% ImgAlign "(top|middle|bottom|left|right)">


% Color "CDATA">






% coreattrs
 "id          ID             #IMPLIED
  class       CDATA          #IMPLIED
  style       %StyleSheet;   #IMPLIED
  title       %Text;         #IMPLIED"
  >


% i18n
 "lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #IMPLIED"
  >


% events
 "onclick     %Script;       #IMPLIED
  ondblclick  %Script;       #IMPLIED
  onmousedown %Script;       #IMPLIED
  onmouseup   %Script;       #IMPLIED
  onmouseover %Script;       #IMPLIED
  onmousemove %Script;       #IMPLIED
  onmouseout  %Script;       #IMPLIED
  onkeypress  %Script;       #IMPLIED
  onkeydown   %Script;       #IMPLIED
  onkeyup     %Script;       #IMPLIED"
  >


% focus
 "accesskey   %Character;    #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED"
  >

% attrs "%coreattrs; %i18n; %events;">



% TextAlign "align (left|center|right|justify) #IMPLIED">



% special.extra
   "object | applet | img | map | iframe">
    
% special.basic
    "br | span | bdo">

% special
   "%special.basic; | %special.extra;">

% fontstyle.extra "big | small | font | basefont">

% fontstyle.basic "tt | i | b | u
                      | s | strike ">

% fontstyle "%fontstyle.basic; | %fontstyle.extra;">

% phrase.extra "sub | sup">
% phrase.basic "em | strong | dfn | code | q |
                   samp | kbd | var | cite | abbr | acronym">

% phrase "%phrase.basic; | %phrase.extra;">

% inline.forms "input | select | textarea | label | button">


% misc.inline "ins | del | script">


% misc "noscript | %misc.inline;">

% inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">


% Inline "(#PCDATA | %inline; | %misc.inline;)*">



% heading "h1|h2|h3|h4|h5|h6">
% lists "ul | ol | dl | menu | dir">
% blocktext "pre | hr | blockquote | address | center | noframes">

% block
    "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">


% Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">





% a.content
   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">



% pre.content
   "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
       %inline.forms; | %misc.inline;)*">



% form.content "(#PCDATA | %block; | %inline; | %misc;)*">



% button.content
   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
      table | br | span | bdo | object | applet | img | map |
      %fontstyle; | %phrase; | %misc;)*">





html (head, body)>
html
  %i18n;
  id          ID             #IMPLIED
  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
  >



% head.misc "(script|style|meta|link|object|isindex)*">



head (%head.misc;,
     ((title, %head.misc;, (base, %head.misc;)?) |
      (base, %head.misc;, (title, %head.misc;))))>

head
  %i18n;
  id          ID             #IMPLIED
  profile     %URI;          #IMPLIED
  >


title (#PCDATA)>
title 
  %i18n;
  id          ID             #IMPLIED
  >



base EMPTY>
base
  id          ID             #IMPLIED
  href        %URI;          #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >


meta EMPTY>
meta
  %i18n;
  id          ID             #IMPLIED
  http-equiv  CDATA          #IMPLIED
  name        CDATA          #IMPLIED
  content     CDATA          #REQUIRED
  scheme      CDATA          #IMPLIED
  >



link EMPTY>
link
  %attrs;
  charset     %Charset;      #IMPLIED
  href        %URI;          #IMPLIED
  hreflang    %LanguageCode; #IMPLIED
  type        %ContentType;  #IMPLIED
  rel         %LinkTypes;    #IMPLIED
  rev         %LinkTypes;    #IMPLIED
  media       %MediaDesc;    #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >


style (#PCDATA)>
style
  %i18n;
  id          ID             #IMPLIED
  type        %ContentType;  #REQUIRED
  media       %MediaDesc;    #IMPLIED
  title       %Text;         #IMPLIED
  xml:space   (preserve)     #FIXED 'preserve'
  >


script (#PCDATA)>
script
  id          ID             #IMPLIED
  charset     %Charset;      #IMPLIED
  type        %ContentType;  #REQUIRED
  language    CDATA          #IMPLIED
  src         %URI;          #IMPLIED
  defer       (defer)        #IMPLIED
  xml:space   (preserve)     #FIXED 'preserve'
  >



noscript %Flow;>
noscript
  %attrs;
  >





iframe %Flow;>
iframe
  %coreattrs;
  longdesc    %URI;          #IMPLIED
  name        NMTOKEN        #IMPLIED
  src         %URI;          #IMPLIED
  frameborder (1|0)          "1"
  marginwidth %Pixels;       #IMPLIED
  marginheight %Pixels;      #IMPLIED
  scrolling   (yes|no|auto)  "auto"
  align       %ImgAlign;     #IMPLIED
  height      %Length;       #IMPLIED
  width       %Length;       #IMPLIED
  >



noframes %Flow;>
noframes
  %attrs;
  >



body %Flow;>
body
  %attrs;
  onload      %Script;       #IMPLIED
  onunload    %Script;       #IMPLIED
  background  %URI;          #IMPLIED
  bgcolor     %Color;        #IMPLIED
  text        %Color;        #IMPLIED
  link        %Color;        #IMPLIED
  vlink       %Color;        #IMPLIED
  alink       %Color;        #IMPLIED
  >

div %Flow;>  
div
  %attrs;
  %TextAlign;
  >



p %Inline;>
p
  %attrs;
  %TextAlign;
  >





h1  %Inline;>
h1
  %attrs;
  %TextAlign;
  >

h2 %Inline;>
h2
  %attrs;
  %TextAlign;
  >

h3 %Inline;>
h3
  %attrs;
  %TextAlign;
  >

h4 %Inline;>
h4
  %attrs;
  %TextAlign;
  >

h5 %Inline;>
h5
  %attrs;
  %TextAlign;
  >

h6 %Inline;>
h6
  %attrs;
  %TextAlign;
  >





% ULStyle "(disc|square|circle)">



ul (li)+>
ul
  %attrs;
  type        %ULStyle;     #IMPLIED
  compact     (compact)     #IMPLIED
  >


% OLStyle "CDATA">



ol (li)+>
ol
  %attrs;
  type        %OLStyle;      #IMPLIED
  compact     (compact)      #IMPLIED
  start       %Number;       #IMPLIED
  >

 
menu (li)+>
menu
  %attrs;
  compact     (compact)     #IMPLIED
  >

 
dir (li)+>
dir
  %attrs;
  compact     (compact)     #IMPLIED
  >


% LIStyle "CDATA">



li %Flow;>
li
  %attrs;
  type        %LIStyle;      #IMPLIED
  value       %Number;       #IMPLIED
  >



dl (dt|dd)+>
dl
  %attrs;
  compact     (compact)      #IMPLIED
  >

dt %Inline;>
dt
  %attrs;
  >

dd %Flow;>
dd
  %attrs;
  >





address (#PCDATA | %inline; | %misc.inline; | p)*>
address
  %attrs;
  >



hr EMPTY>
hr
  %attrs;
  align       (left|center|right) #IMPLIED
  noshade     (noshade)      #IMPLIED
  size        %Pixels;       #IMPLIED
  width       %Length;       #IMPLIED
  >





pre %pre.content;>
pre
  %attrs;
  width       %Number;      #IMPLIED
  xml:space   (preserve)    #FIXED 'preserve'
  >



blockquote %Flow;>
blockquote
  %attrs;
  cite        %URI;          #IMPLIED
  >




center %Flow;>
center
  %attrs;
  >




ins %Flow;>
ins
  %attrs;
  cite        %URI;          #IMPLIED
  datetime    %Datetime;     #IMPLIED
  >

del %Flow;>
del
  %attrs;
  cite        %URI;          #IMPLIED
  datetime    %Datetime;     #IMPLIED
  >





a %a.content;>
a
  %attrs;
  %focus;
  charset     %Charset;      #IMPLIED
  type        %ContentType;  #IMPLIED
  name        NMTOKEN        #IMPLIED
  href        %URI;          #IMPLIED
  hreflang    %LanguageCode; #IMPLIED
  rel         %LinkTypes;    #IMPLIED
  rev         %LinkTypes;    #IMPLIED
  shape       %Shape;        "rect"
  coords      %Coords;       #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >



span %Inline;> 
span
  %attrs;
  >

bdo %Inline;>  
bdo
  %coreattrs;
  %events;
  lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #REQUIRED
  >

br EMPTY>   
br
  %coreattrs;
  clear       (left|all|right|none) "none"
  >

em %Inline;>   
em %attrs;>

strong %Inline;>   
strong %attrs;>

dfn %Inline;>   
dfn %attrs;>

code %Inline;>   
code %attrs;>

samp %Inline;>   
samp %attrs;>

kbd %Inline;>  
kbd %attrs;>

var %Inline;>   
var %attrs;>

cite %Inline;>   
cite %attrs;>

abbr %Inline;>   
abbr %attrs;>

acronym %Inline;>   
acronym %attrs;>

q %Inline;>   
q
  %attrs;
  cite        %URI;          #IMPLIED
  >

sub %Inline;> 
sub %attrs;>

sup %Inline;> 
sup %attrs;>

tt %Inline;>   
tt %attrs;>

i %Inline;>   
i %attrs;>

b %Inline;>   
b %attrs;>

big %Inline;>   
big %attrs;>

small %Inline;>   
small %attrs;>

u %Inline;>   
u %attrs;>

s %Inline;>   
s %attrs;>

strike %Inline;>   
strike %attrs;>

basefont EMPTY>  
basefont
  id          ID             #IMPLIED
  size        CDATA          #REQUIRED
  color       %Color;        #IMPLIED
  face        CDATA          #IMPLIED
  >

font %Inline;> 
font
  %coreattrs;
  %i18n;
  size        CDATA          #IMPLIED
  color       %Color;        #IMPLIED
  face        CDATA          #IMPLIED
  >




object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
object
  %attrs;
  declare     (declare)      #IMPLIED
  classid     %URI;          #IMPLIED
  codebase    %URI;          #IMPLIED
  data        %URI;          #IMPLIED
  type        %ContentType;  #IMPLIED
  codetype    %ContentType;  #IMPLIED
  archive     %UriList;      #IMPLIED
  standby     %Text;         #IMPLIED
  height      %Length;       #IMPLIED
  width       %Length;       #IMPLIED
  usemap      %URI;          #IMPLIED
  name        NMTOKEN        #IMPLIED
  tabindex    %Number;       #IMPLIED
  align       %ImgAlign;     #IMPLIED
  border      %Pixels;       #IMPLIED
  hspace      %Pixels;       #IMPLIED
  vspace      %Pixels;       #IMPLIED
  >


param EMPTY>
param
  id          ID             #IMPLIED
  name        CDATA          #REQUIRED
  value       CDATA          #IMPLIED
  valuetype   (data|ref|object) "data"
  type        %ContentType;  #IMPLIED
  >



applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
applet
  %coreattrs;
  codebase    %URI;          #IMPLIED
  archive     CDATA          #IMPLIED
  code        CDATA          #IMPLIED
  object      CDATA          #IMPLIED
  alt         %Text;         #IMPLIED
  name        NMTOKEN        #IMPLIED
  width       %Length;       #REQUIRED
  height      %Length;       #REQUIRED
  align       %ImgAlign;     #IMPLIED
  hspace      %Pixels;       #IMPLIED
  vspace      %Pixels;       #IMPLIED
  >





img EMPTY>
img
  %attrs;
  src         %URI;          #REQUIRED
  alt         %Text;         #REQUIRED
  name        NMTOKEN        #IMPLIED
  longdesc    %URI;          #IMPLIED
  height      %Length;       #IMPLIED
  width       %Length;       #IMPLIED
  usemap      %URI;          #IMPLIED
  ismap       (ismap)        #IMPLIED
  align       %ImgAlign;     #IMPLIED
  border      %Length;       #IMPLIED
  hspace      %Pixels;       #IMPLIED
  vspace      %Pixels;       #IMPLIED
  >







map ((%block; | form | %misc;)+ | area+)>
map
  %i18n;
  %events;
  id          ID             #REQUIRED
  class       CDATA          #IMPLIED
  style       %StyleSheet;   #IMPLIED
  title       %Text;         #IMPLIED
  name        CDATA          #IMPLIED
  >

area EMPTY>
area
  %attrs;
  %focus;
  shape       %Shape;        "rect"
  coords      %Coords;       #IMPLIED
  href        %URI;          #IMPLIED
  nohref      (nohref)       #IMPLIED
  alt         %Text;         #REQUIRED
  target      %FrameTarget;  #IMPLIED
  >



form %form.content;>   

form
  %attrs;
  action      %URI;          #REQUIRED
  method      (get|post)     "get"
  name        NMTOKEN        #IMPLIED
  enctype     %ContentType;  "application/x-www-form-urlencoded"
  onsubmit    %Script;       #IMPLIED
  onreset     %Script;       #IMPLIED
  accept      %ContentTypes; #IMPLIED
  accept-charset %Charsets;  #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >


label %Inline;>
label
  %attrs;
  for         IDREF          #IMPLIED
  accesskey   %Character;    #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED
  >

% InputType
  "(text | password | checkbox |
    radio | submit | reset |
    file | hidden | image | button)"
   >



input EMPTY>     
input
  %attrs;
  %focus;
  type        %InputType;    "text"
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  checked     (checked)      #IMPLIED
  disabled    (disabled)     #IMPLIED
  readonly    (readonly)     #IMPLIED
  size        CDATA          #IMPLIED
  maxlength   %Number;       #IMPLIED
  src         %URI;          #IMPLIED
  alt         CDATA          #IMPLIED
  usemap      %URI;          #IMPLIED
  onselect    %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  accept      %ContentTypes; #IMPLIED
  align       %ImgAlign;     #IMPLIED
  >

select (optgroup|option)+>  
select
  %attrs;
  name        CDATA          #IMPLIED
  size        %Number;       #IMPLIED
  multiple    (multiple)     #IMPLIED
  disabled    (disabled)     #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  >

optgroup (option)+>   
optgroup
  %attrs;
  disabled    (disabled)     #IMPLIED
  label       %Text;         #REQUIRED
  >

option (#PCDATA)>     
option
  %attrs;
  selected    (selected)     #IMPLIED
  disabled    (disabled)     #IMPLIED
  label       %Text;         #IMPLIED
  value       CDATA          #IMPLIED
  >

textarea (#PCDATA)>     
textarea
  %attrs;
  %focus;
  name        CDATA          #IMPLIED
  rows        %Number;       #REQUIRED
  cols        %Number;       #REQUIRED
  disabled    (disabled)     #IMPLIED
  readonly    (readonly)     #IMPLIED
  onselect    %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  >


fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
fieldset
  %attrs;
  >

% LAlign "(top|bottom|left|right)">

legend %Inline;>     
legend
  %attrs;
  accesskey   %Character;    #IMPLIED
  align       %LAlign;       #IMPLIED
  >

 
button %button.content;>  
button
  %attrs;
  %focus;
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  type        (button|submit|reset) "submit"
  disabled    (disabled)     #IMPLIED
  >


isindex EMPTY>
isindex
  %coreattrs;
  %i18n;
  prompt      %Text;         #IMPLIED
  >






% TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">



% TRules "(none | groups | rows | cols | all)">
  

% TAlign "(left|center|right)">


% cellhalign
  "align      (left|center|right|justify|char) #IMPLIED
   char       %Character;    #IMPLIED
   charoff    %Length;       #IMPLIED"
  >


% cellvalign
  "valign     (top|middle|bottom|baseline) #IMPLIED"
  >

table
     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
caption  %Inline;>
thead    (tr)+>
tfoot    (tr)+>
tbody    (tr)+>
colgroup (col)*>
col      EMPTY>
tr       (th|td)+>
th       %Flow;>
td       %Flow;>

table
  %attrs;
  summary     %Text;         #IMPLIED
  width       %Length;       #IMPLIED
  border      %Pixels;       #IMPLIED
  frame       %TFrame;       #IMPLIED
  rules       %TRules;       #IMPLIED
  cellspacing %Length;       #IMPLIED
  cellpadding %Length;       #IMPLIED
  align       %TAlign;       #IMPLIED
  bgcolor     %Color;        #IMPLIED
  >

% CAlign "(top|bottom|left|right)">

caption
  %attrs;
  align       %CAlign;       #IMPLIED
  >


colgroup
  %attrs;
  span        %Number;       "1"
  width       %MultiLength;  #IMPLIED
  %cellhalign;
  %cellvalign;
  >


col
  %attrs;
  span        %Number;       "1"
  width       %MultiLength;  #IMPLIED
  %cellhalign;
  %cellvalign;
  >


thead
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tfoot
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tbody
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tr
  %attrs;
  %cellhalign;
  %cellvalign;
  bgcolor     %Color;        #IMPLIED
  >


% Scope "(row|col|rowgroup|colgroup)">



th
  %attrs;
  abbr        %Text;         #IMPLIED
  axis        CDATA          #IMPLIED
  headers     IDREFS         #IMPLIED
  scope       %Scope;        #IMPLIED
  rowspan     %Number;       "1"
  colspan     %Number;       "1"
  %cellhalign;
  %cellvalign;
  nowrap      (nowrap)       #IMPLIED
  bgcolor     %Color;        #IMPLIED
  width       %Length;       #IMPLIED
  height      %Length;       #IMPLIED
  >

td
  %attrs;
  abbr        %Text;         #IMPLIED
  axis        CDATA          #IMPLIED
  headers     IDREFS         #IMPLIED
  scope       %Scope;        #IMPLIED
  rowspan     %Number;       "1"
  colspan     %Number;       "1"
  %cellhalign;
  %cellvalign;
  nowrap      (nowrap)       #IMPLIED
  bgcolor     %Color;        #IMPLIED
  width       %Length;       #IMPLIED
  height      %Length;       #IMPLIED
  >


A.1.3. XHTML-1.0-Frameset

The file DTD/xhtml1-frameset.dtd is a normative part of this specification. Its annotated contents are included here for completeness.





% HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "xhtml-lat1.ent">
%HTMLlat1;

% HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "xhtml-symbol.ent">
%HTMLsymbol;

% HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "xhtml-special.ent">
%HTMLspecial;



% ContentType "CDATA">
    

% ContentTypes "CDATA">
    

% Charset "CDATA">
    

% Charsets "CDATA">
    

% LanguageCode "NMTOKEN">
    

% Character "CDATA">
    

% Number "CDATA">
    

% LinkTypes "CDATA">
    

% MediaDesc "CDATA">
    

% URI "CDATA">
    

% UriList "CDATA">
    

% Datetime "CDATA">
    

% Script "CDATA">
    

% StyleSheet "CDATA">
    

% Text "CDATA">
    

% FrameTarget "NMTOKEN">
    

% Length "CDATA">
    

% MultiLength "CDATA">
    

% MultiLengths "CDATA">
    

% Pixels "CDATA">
    



% Shape "(rect|circle|poly|default)">

% Coords "CDATA">
    


% ImgAlign "(top|middle|bottom|left|right)">


% Color "CDATA">






% coreattrs
 "id          ID             #IMPLIED
  class       CDATA          #IMPLIED
  style       %StyleSheet;   #IMPLIED
  title       %Text;         #IMPLIED"
  >


% i18n
 "lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #IMPLIED"
  >


% events
 "onclick     %Script;       #IMPLIED
  ondblclick  %Script;       #IMPLIED
  onmousedown %Script;       #IMPLIED
  onmouseup   %Script;       #IMPLIED
  onmouseover %Script;       #IMPLIED
  onmousemove %Script;       #IMPLIED
  onmouseout  %Script;       #IMPLIED
  onkeypress  %Script;       #IMPLIED
  onkeydown   %Script;       #IMPLIED
  onkeyup     %Script;       #IMPLIED"
  >


% focus
 "accesskey   %Character;    #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED"
  >

% attrs "%coreattrs; %i18n; %events;">



% TextAlign "align (left|center|right|justify) #IMPLIED">



% special.extra
   "object | applet | img | map | iframe">
    
% special.basic
    "br | span | bdo">

% special
   "%special.basic; | %special.extra;">

% fontstyle.extra "big | small | font | basefont">

% fontstyle.basic "tt | i | b | u
                      | s | strike ">

% fontstyle "%fontstyle.basic; | %fontstyle.extra;">

% phrase.extra "sub | sup">
% phrase.basic "em | strong | dfn | code | q |
                   samp | kbd | var | cite | abbr | acronym">

% phrase "%phrase.basic; | %phrase.extra;">

% inline.forms "input | select | textarea | label | button">


% misc.inline "ins | del | script">


% misc "noscript | %misc.inline;">


% inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">


% Inline "(#PCDATA | %inline; | %misc.inline;)*">



% heading "h1|h2|h3|h4|h5|h6">
% lists "ul | ol | dl | menu | dir">
% blocktext "pre | hr | blockquote | address | center">

% block
    "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">


% Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">





% a.content
   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">



% pre.content
   "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
       %inline.forms; | %misc.inline;)*">




% form.content "(#PCDATA | %block; | %inline; | %misc;)*">



% button.content
   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
      table | br | span | bdo | object | applet | img | map |
      %fontstyle; | %phrase; | %misc;)*">





html (head, frameset)>
html
  %i18n;
  id          ID             #IMPLIED
  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
  >



% head.misc "(script|style|meta|link|object|isindex)*">



head (%head.misc;,
     ((title, %head.misc;, (base, %head.misc;)?) |
      (base, %head.misc;, (title, %head.misc;))))>

head
  %i18n;
  id          ID             #IMPLIED
  profile     %URI;          #IMPLIED
  >


title (#PCDATA)>
title 
  %i18n;
  id          ID             #IMPLIED
  >



base EMPTY>
base
  id          ID             #IMPLIED
  href        %URI;          #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >


meta EMPTY>
meta
  %i18n;
  id          ID             #IMPLIED
  http-equiv  CDATA          #IMPLIED
  name        CDATA          #IMPLIED
  content     CDATA          #REQUIRED
  scheme      CDATA          #IMPLIED
  >



link EMPTY>
link
  %attrs;
  charset     %Charset;      #IMPLIED
  href        %URI;          #IMPLIED
  hreflang    %LanguageCode; #IMPLIED
  type        %ContentType;  #IMPLIED
  rel         %LinkTypes;    #IMPLIED
  rev         %LinkTypes;    #IMPLIED
  media       %MediaDesc;    #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >


style (#PCDATA)>
style
  %i18n;
  id          ID             #IMPLIED
  type        %ContentType;  #REQUIRED
  media       %MediaDesc;    #IMPLIED
  title       %Text;         #IMPLIED
  xml:space   (preserve)     #FIXED 'preserve'
  >


script (#PCDATA)>
script
  id          ID             #IMPLIED
  charset     %Charset;      #IMPLIED
  type        %ContentType;  #REQUIRED
  language    CDATA          #IMPLIED
  src         %URI;          #IMPLIED
  defer       (defer)        #IMPLIED
  xml:space   (preserve)     #FIXED 'preserve'
  >



noscript %Flow;>
noscript
  %attrs;
  >





frameset (frameset|frame|noframes)*>
frameset
  %coreattrs;
  rows        %MultiLengths; #IMPLIED
  cols        %MultiLengths; #IMPLIED
  onload      %Script;       #IMPLIED
  onunload    %Script;       #IMPLIED
  >





frame EMPTY>
frame
  %coreattrs;
  longdesc    %URI;          #IMPLIED
  name        NMTOKEN        #IMPLIED
  src         %URI;          #IMPLIED
  frameborder (1|0)          "1"
  marginwidth %Pixels;       #IMPLIED
  marginheight %Pixels;      #IMPLIED
  noresize    (noresize)     #IMPLIED
  scrolling   (yes|no|auto)  "auto"
  >



iframe %Flow;>
iframe
  %coreattrs;
  longdesc    %URI;          #IMPLIED
  name        NMTOKEN        #IMPLIED
  src         %URI;          #IMPLIED
  frameborder (1|0)          "1"
  marginwidth %Pixels;       #IMPLIED
  marginheight %Pixels;      #IMPLIED
  scrolling   (yes|no|auto)  "auto"
  align       %ImgAlign;     #IMPLIED
  height      %Length;       #IMPLIED
  width       %Length;       #IMPLIED
  >



noframes (body)>
noframes
  %attrs;
  >



body %Flow;>
body
  %attrs;
  onload      %Script;       #IMPLIED
  onunload    %Script;       #IMPLIED
  background  %URI;          #IMPLIED
  bgcolor     %Color;        #IMPLIED
  text        %Color;        #IMPLIED
  link        %Color;        #IMPLIED
  vlink       %Color;        #IMPLIED
  alink       %Color;        #IMPLIED
  >

div %Flow;>  
div
  %attrs;
  %TextAlign;
  >



p %Inline;>
p
  %attrs;
  %TextAlign;
  >





h1  %Inline;>
h1
  %attrs;
  %TextAlign;
  >

h2 %Inline;>
h2
  %attrs;
  %TextAlign;
  >

h3 %Inline;>
h3
  %attrs;
  %TextAlign;
  >

h4 %Inline;>
h4
  %attrs;
  %TextAlign;
  >

h5 %Inline;>
h5
  %attrs;
  %TextAlign;
  >

h6 %Inline;>
h6
  %attrs;
  %TextAlign;
  >





% ULStyle "(disc|square|circle)">



ul (li)+>
ul
  %attrs;
  type        %ULStyle;     #IMPLIED
  compact     (compact)     #IMPLIED
  >


% OLStyle "CDATA">



ol (li)+>
ol
  %attrs;
  type        %OLStyle;      #IMPLIED
  compact     (compact)      #IMPLIED
  start       %Number;       #IMPLIED
  >

 
menu (li)+>
menu
  %attrs;
  compact     (compact)     #IMPLIED
  >

 
dir (li)+>
dir
  %attrs;
  compact     (compact)     #IMPLIED
  >


% LIStyle "CDATA">



li %Flow;>
li
  %attrs;
  type        %LIStyle;      #IMPLIED
  value       %Number;       #IMPLIED
  >



dl (dt|dd)+>
dl
  %attrs;
  compact     (compact)      #IMPLIED
  >

dt %Inline;>
dt
  %attrs;
  >

dd %Flow;>
dd
  %attrs;
  >





address (#PCDATA | %inline; | %misc.inline; | p)*>
address
  %attrs;
  >



hr EMPTY>
hr
  %attrs;
  align       (left|center|right) #IMPLIED
  noshade     (noshade)      #IMPLIED
  size        %Pixels;       #IMPLIED
  width       %Length;       #IMPLIED
  >





pre %pre.content;>
pre
  %attrs;
  width       %Number;      #IMPLIED
  xml:space   (preserve)    #FIXED 'preserve'
  >



blockquote %Flow;>
blockquote
  %attrs;
  cite        %URI;          #IMPLIED
  >




center %Flow;>
center
  %attrs;
  >





ins %Flow;>
ins
  %attrs;
  cite        %URI;          #IMPLIED
  datetime    %Datetime;     #IMPLIED
  >

del %Flow;>
del
  %attrs;
  cite        %URI;          #IMPLIED
  datetime    %Datetime;     #IMPLIED
  >





a %a.content;>
a
  %attrs;
  %focus;
  charset     %Charset;      #IMPLIED
  type        %ContentType;  #IMPLIED
  name        NMTOKEN        #IMPLIED
  href        %URI;          #IMPLIED
  hreflang    %LanguageCode; #IMPLIED
  rel         %LinkTypes;    #IMPLIED
  rev         %LinkTypes;    #IMPLIED
  shape       %Shape;        "rect"
  coords      %Coords;       #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >



span %Inline;> 
span
  %attrs;
  >

bdo %Inline;>  
bdo
  %coreattrs;
  %events;
  lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #REQUIRED
  >

br EMPTY>   
br
  %coreattrs;
  clear       (left|all|right|none) "none"
  >

em %Inline;>   
em %attrs;>

strong %Inline;>   
strong %attrs;>

dfn %Inline;>   
dfn %attrs;>

code %Inline;>   
code %attrs;>

samp %Inline;>   
samp %attrs;>

kbd %Inline;>  
kbd %attrs;>

var %Inline;>   
var %attrs;>

cite %Inline;>   
cite %attrs;>

abbr %Inline;>   
abbr %attrs;>

acronym %Inline;>   
acronym %attrs;>

q %Inline;>   
q
  %attrs;
  cite        %URI;          #IMPLIED
  >

sub %Inline;> 
sub %attrs;>

sup %Inline;> 
sup %attrs;>

tt %Inline;>   
tt %attrs;>

i %Inline;>   
i %attrs;>

b %Inline;>   
b %attrs;>

big %Inline;>   
big %attrs;>

small %Inline;>   
small %attrs;>

u %Inline;>   
u %attrs;>

s %Inline;>   
s %attrs;>

strike %Inline;>   
strike %attrs;>

basefont EMPTY>  
basefont
  id          ID             #IMPLIED
  size        CDATA          #REQUIRED
  color       %Color;        #IMPLIED
  face        CDATA          #IMPLIED
  >

font %Inline;> 
font
  %coreattrs;
  %i18n;
  size        CDATA          #IMPLIED
  color       %Color;        #IMPLIED
  face        CDATA          #IMPLIED
  >




object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
object
  %attrs;
  declare     (declare)      #IMPLIED
  classid     %URI;          #IMPLIED
  codebase    %URI;          #IMPLIED
  data        %URI;          #IMPLIED
  type        %ContentType;  #IMPLIED
  codetype    %ContentType;  #IMPLIED
  archive     %UriList;      #IMPLIED
  standby     %Text;         #IMPLIED
  height      %Length;       #IMPLIED
  width       %Length;       #IMPLIED
  usemap      %URI;          #IMPLIED
  name        NMTOKEN        #IMPLIED
  tabindex    %Number;       #IMPLIED
  align       %ImgAlign;     #IMPLIED
  border      %Pixels;       #IMPLIED
  hspace      %Pixels;       #IMPLIED
  vspace      %Pixels;       #IMPLIED
  >


param EMPTY>
param
  id          ID             #IMPLIED
  name        CDATA          #REQUIRED
  value       CDATA          #IMPLIED
  valuetype   (data|ref|object) "data"
  type        %ContentType;  #IMPLIED
  >



applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
applet
  %coreattrs;
  codebase    %URI;          #IMPLIED
  archive     CDATA          #IMPLIED
  code        CDATA          #IMPLIED
  object      CDATA          #IMPLIED
  alt         %Text;         #IMPLIED
  name        NMTOKEN        #IMPLIED
  width       %Length;       #REQUIRED
  height      %Length;       #REQUIRED
  align       %ImgAlign;     #IMPLIED
  hspace      %Pixels;       #IMPLIED
  vspace      %Pixels;       #IMPLIED
  >





img EMPTY>
img
  %attrs;
  src         %URI;          #REQUIRED
  alt         %Text;         #REQUIRED
  name        NMTOKEN        #IMPLIED
  longdesc    %URI;          #IMPLIED
  height      %Length;       #IMPLIED
  width       %Length;       #IMPLIED
  usemap      %URI;          #IMPLIED
  ismap       (ismap)        #IMPLIED
  align       %ImgAlign;     #IMPLIED
  border      %Pixels;       #IMPLIED
  hspace      %Pixels;       #IMPLIED
  vspace      %Pixels;       #IMPLIED
  >







map ((%block; | form | %misc;)+ | area+)>
map
  %i18n;
  %events;
  id          ID             #REQUIRED
  class       CDATA          #IMPLIED
  style       %StyleSheet;   #IMPLIED
  title       %Text;         #IMPLIED
  name        NMTOKEN        #IMPLIED
  >

area EMPTY>
area
  %attrs;
  %focus;
  shape       %Shape;        "rect"
  coords      %Coords;       #IMPLIED
  href        %URI;          #IMPLIED
  nohref      (nohref)       #IMPLIED
  alt         %Text;         #REQUIRED
  target      %FrameTarget;  #IMPLIED
  >



form %form.content;>   

form
  %attrs;
  action      %URI;          #REQUIRED
  method      (get|post)     "get"
  name        NMTOKEN        #IMPLIED
  enctype     %ContentType;  "application/x-www-form-urlencoded"
  onsubmit    %Script;       #IMPLIED
  onreset     %Script;       #IMPLIED
  accept      %ContentTypes; #IMPLIED
  accept-charset %Charsets;  #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >


label %Inline;>
label
  %attrs;
  for         IDREF          #IMPLIED
  accesskey   %Character;    #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED
  >

% InputType
  "(text | password | checkbox |
    radio | submit | reset |
    file | hidden | image | button)"
   >



input EMPTY>     
input
  %attrs;
  %focus;
  type        %InputType;    "text"
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  checked     (checked)      #IMPLIED
  disabled    (disabled)     #IMPLIED
  readonly    (readonly)     #IMPLIED
  size        CDATA          #IMPLIED
  maxlength   %Number;       #IMPLIED
  src         %URI;          #IMPLIED
  alt         CDATA          #IMPLIED
  usemap      %URI;          #IMPLIED
  onselect    %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  accept      %ContentTypes; #IMPLIED
  align       %ImgAlign;     #IMPLIED
  >

select (optgroup|option)+>  
select
  %attrs;
  name        CDATA          #IMPLIED
  size        %Number;       #IMPLIED
  multiple    (multiple)     #IMPLIED
  disabled    (disabled)     #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  >

optgroup (option)+>   
optgroup
  %attrs;
  disabled    (disabled)     #IMPLIED
  label       %Text;         #REQUIRED
  >

option (#PCDATA)>     
option
  %attrs;
  selected    (selected)     #IMPLIED
  disabled    (disabled)     #IMPLIED
  label       %Text;         #IMPLIED
  value       CDATA          #IMPLIED
  >

textarea (#PCDATA)>     
textarea
  %attrs;
  %focus;
  name        CDATA          #IMPLIED
  rows        %Number;       #REQUIRED
  cols        %Number;       #REQUIRED
  disabled    (disabled)     #IMPLIED
  readonly    (readonly)     #IMPLIED
  onselect    %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  >


fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
fieldset
  %attrs;
  >

% LAlign "(top|bottom|left|right)">

legend %Inline;>     
legend
  %attrs;
  accesskey   %Character;    #IMPLIED
  align       %LAlign;       #IMPLIED
  >

 
button %button.content;>  
button
  %attrs;
  %focus;
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  type        (button|submit|reset) "submit"
  disabled    (disabled)     #IMPLIED
  >


isindex EMPTY>
isindex
  %coreattrs;
  %i18n;
  prompt      %Text;         #IMPLIED
  >






% TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">



% TRules "(none | groups | rows | cols | all)">
  

% TAlign "(left|center|right)">


% cellhalign
  "align      (left|center|right|justify|char) #IMPLIED
   char       %Character;    #IMPLIED
   charoff    %Length;       #IMPLIED"
  >


% cellvalign
  "valign     (top|middle|bottom|baseline) #IMPLIED"
  >

table
     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
caption  %Inline;>
thead    (tr)+>
tfoot    (tr)+>
tbody    (tr)+>
colgroup (col)*>
col      EMPTY>
tr       (th|td)+>
th       %Flow;>
td       %Flow;>

table
  %attrs;
  summary     %Text;         #IMPLIED
  width       %Length;       #IMPLIED
  border      %Pixels;       #IMPLIED
  frame       %TFrame;       #IMPLIED
  rules       %TRules;       #IMPLIED
  cellspacing %Length;       #IMPLIED
  cellpadding %Length;       #IMPLIED
  align       %TAlign;       #IMPLIED
  bgcolor     %Color;        #IMPLIED
  >

% CAlign "(top|bottom|left|right)">

caption
  %attrs;
  align       %CAlign;       #IMPLIED
  >


colgroup
  %attrs;
  span        %Number;       "1"
  width       %MultiLength;  #IMPLIED
  %cellhalign;
  %cellvalign;
  >


col
  %attrs;
  span        %Number;       "1"
  width       %MultiLength;  #IMPLIED
  %cellhalign;
  %cellvalign;
  >


thead
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tfoot
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tbody
  %attrs;
  %cellhalign;
  %cellvalign;
  >

tr
  %attrs;
  %cellhalign;
  %cellvalign;
  bgcolor     %Color;        #IMPLIED
  >


% Scope "(row|col|rowgroup|colgroup)">



th
  %attrs;
  abbr        %Text;         #IMPLIED
  axis        CDATA          #IMPLIED
  headers     IDREFS         #IMPLIED
  scope       %Scope;        #IMPLIED
  rowspan     %Number;       "1"
  colspan     %Number;       "1"
  %cellhalign;
  %cellvalign;
  nowrap      (nowrap)       #IMPLIED
  bgcolor     %Color;        #IMPLIED
  width       %Pixels;       #IMPLIED
  height      %Pixels;       #IMPLIED
  >

td
  %attrs;
  abbr        %Text;         #IMPLIED
  axis        CDATA          #IMPLIED
  headers     IDREFS         #IMPLIED
  scope       %Scope;        #IMPLIED
  rowspan     %Number;       "1"
  colspan     %Number;       "1"
  %cellhalign;
  %cellvalign;
  nowrap      (nowrap)       #IMPLIED
  bgcolor     %Color;        #IMPLIED
  width       %Pixels;       #IMPLIED
  height      %Pixels;       #IMPLIED
  >


A.2. Entity Sets

The XHTML entity sets are the same as for HTML 4, but have been modified to be valid XML 1.0 entity declarations. Note the entity for the Euro currency sign ( or or ) is defined as part of the special characters.

A.2.1. Latin-1 characters

The file DTD/xhtml-lat1.ent is a normative part of this specification. Its annotated contents are included here for completeness.




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

A.2.2. Special characters

The file DTD/xhtml-special.ent is a normative part of this specification. Its annotated contents are included here for completeness.










 
 
 
 
 


 
 

 
 
 


 
 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 



 

A.2.3. Symbols

The file DTD/xhtml-symbol.ent is a normative part of this specification. Its annotated contents are included here for completeness.