tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

xhtml1-frameset.dtd (32949B)


      1 <!--
      2   Extensible HTML version 1.0 Frameset DTD
      3 
      4   This is the same as HTML 4 Frameset except for
      5   changes due to the differences between XML and SGML.
      6 
      7   Namespace = http://www.w3.org/1999/xhtml
      8 
      9   For further information, see: http://www.w3.org/TR/xhtml1
     10 
     11   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
     12   All Rights Reserved. 
     13 
     14   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
     15 
     16   PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
     17   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
     18 
     19   $Revision: 1.1 $
     20   $Date: 2007/02/24 01:51:16 $
     21 
     22 -->
     23 
     24 <!--================ Character mnemonic entities =========================-->
     25 
     26 <!ENTITY % HTMLlat1 PUBLIC
     27   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
     28   "xhtml-lat1.ent">
     29 %HTMLlat1;
     30 
     31 <!ENTITY % HTMLsymbol PUBLIC
     32   "-//W3C//ENTITIES Symbols for XHTML//EN"
     33   "xhtml-symbol.ent">
     34 %HTMLsymbol;
     35 
     36 <!ENTITY % HTMLspecial PUBLIC
     37   "-//W3C//ENTITIES Special for XHTML//EN"
     38   "xhtml-special.ent">
     39 %HTMLspecial;
     40 
     41 <!--================== Imported Names ====================================-->
     42 
     43 <!ENTITY % ContentType "CDATA">
     44    <!-- media type, as per [RFC2045] -->
     45 
     46 <!ENTITY % ContentTypes "CDATA">
     47    <!-- comma-separated list of media types, as per [RFC2045] -->
     48 
     49 <!ENTITY % Charset "CDATA">
     50    <!-- a character encoding, as per [RFC2045] -->
     51 
     52 <!ENTITY % Charsets "CDATA">
     53    <!-- a space separated list of character encodings, as per [RFC2045] -->
     54 
     55 <!ENTITY % LanguageCode "NMTOKEN">
     56    <!-- a language code, as per [RFC3066] -->
     57 
     58 <!ENTITY % Character "CDATA">
     59    <!-- a single character, as per section 2.2 of [XML] -->
     60 
     61 <!ENTITY % Number "CDATA">
     62    <!-- one or more digits -->
     63 
     64 <!ENTITY % LinkTypes "CDATA">
     65    <!-- space-separated list of link types -->
     66 
     67 <!ENTITY % MediaDesc "CDATA">
     68    <!-- single or comma-separated list of media descriptors -->
     69 
     70 <!ENTITY % URI "CDATA">
     71    <!-- a Uniform Resource Identifier, see [RFC2396] -->
     72 
     73 <!ENTITY % UriList "CDATA">
     74    <!-- a space separated list of Uniform Resource Identifiers -->
     75 
     76 <!ENTITY % Datetime "CDATA">
     77    <!-- date and time information. ISO date format -->
     78 
     79 <!ENTITY % Script "CDATA">
     80    <!-- script expression -->
     81 
     82 <!ENTITY % StyleSheet "CDATA">
     83    <!-- style sheet data -->
     84 
     85 <!ENTITY % Text "CDATA">
     86    <!-- used for titles etc. -->
     87 
     88 <!ENTITY % FrameTarget "NMTOKEN">
     89    <!-- render in this frame -->
     90 
     91 <!ENTITY % Length "CDATA">
     92    <!-- nn for pixels or nn% for percentage length -->
     93 
     94 <!ENTITY % MultiLength "CDATA">
     95    <!-- pixel, percentage, or relative -->
     96 
     97 <!ENTITY % MultiLengths "CDATA">
     98    <!-- comma-separated list of MultiLength -->
     99 
    100 <!ENTITY % Pixels "CDATA">
    101    <!-- integer representing length in pixels -->
    102 
    103 <!-- these are used for image maps -->
    104 
    105 <!ENTITY % Shape "(rect|circle|poly|default)">
    106 
    107 <!ENTITY % Coords "CDATA">
    108    <!-- comma separated list of lengths -->
    109 
    110 <!-- used for object, applet, img, input and iframe -->
    111 <!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
    112 
    113 <!-- a color using sRGB: #RRGGBB as Hex values -->
    114 <!ENTITY % Color "CDATA">
    115 
    116 <!-- There are also 16 widely known color names with their sRGB values:
    117 
    118    Black  = #000000    Green  = #008000
    119    Silver = #C0C0C0    Lime   = #00FF00
    120    Gray   = #808080    Olive  = #808000
    121    White  = #FFFFFF    Yellow = #FFFF00
    122    Maroon = #800000    Navy   = #000080
    123    Red    = #FF0000    Blue   = #0000FF
    124    Purple = #800080    Teal   = #008080
    125    Fuchsia= #FF00FF    Aqua   = #00FFFF
    126 -->
    127 
    128 <!--=================== Generic Attributes ===============================-->
    129 
    130 <!-- core attributes common to most elements
    131  id       document-wide unique id
    132  class    space separated list of classes
    133  style    associated style info
    134  title    advisory title/amplification
    135 -->
    136 <!ENTITY % coreattrs
    137 "id          ID             #IMPLIED
    138  class       CDATA          #IMPLIED
    139  style       %StyleSheet;   #IMPLIED
    140  title       %Text;         #IMPLIED"
    141  >
    142 
    143 <!-- internationalization attributes
    144  lang        language code (backwards compatible)
    145  xml:lang    language code (as per XML 1.0 spec)
    146  dir         direction for weak/neutral text
    147 -->
    148 <!ENTITY % i18n
    149 "lang        %LanguageCode; #IMPLIED
    150  xml:lang    %LanguageCode; #IMPLIED
    151  dir         (ltr|rtl)      #IMPLIED"
    152  >
    153 
    154 <!-- attributes for common UI events
    155  onclick     a pointer button was clicked
    156  ondblclick  a pointer button was double clicked
    157  onmousedown a pointer button was pressed down
    158  onmouseup   a pointer button was released
    159  onmousemove a pointer was moved onto the element
    160  onmouseout  a pointer was moved away from the element
    161  onkeypress  a key was pressed and released
    162  onkeydown   a key was pressed down
    163  onkeyup     a key was released
    164 -->
    165 <!ENTITY % events
    166 "onclick     %Script;       #IMPLIED
    167  ondblclick  %Script;       #IMPLIED
    168  onmousedown %Script;       #IMPLIED
    169  onmouseup   %Script;       #IMPLIED
    170  onmouseover %Script;       #IMPLIED
    171  onmousemove %Script;       #IMPLIED
    172  onmouseout  %Script;       #IMPLIED
    173  onkeypress  %Script;       #IMPLIED
    174  onkeydown   %Script;       #IMPLIED
    175  onkeyup     %Script;       #IMPLIED"
    176  >
    177 
    178 <!-- attributes for elements that can get the focus
    179  accesskey   accessibility key character
    180  tabindex    position in tabbing order
    181  onfocus     the element got the focus
    182  onblur      the element lost the focus
    183 -->
    184 <!ENTITY % focus
    185 "accesskey   %Character;    #IMPLIED
    186  tabindex    %Number;       #IMPLIED
    187  onfocus     %Script;       #IMPLIED
    188  onblur      %Script;       #IMPLIED"
    189  >
    190 
    191 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
    192 
    193 <!-- text alignment for p, div, h1-h6. The default is
    194     align="left" for ltr headings, "right" for rtl -->
    195 
    196 <!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
    197 
    198 <!--=================== Text Elements ====================================-->
    199 
    200 <!ENTITY % special.extra
    201   "object | applet | img | map | iframe">
    202 
    203 <!ENTITY % special.basic
    204 "br | span | bdo">
    205 
    206 <!ENTITY % special
    207   "%special.basic; | %special.extra;">
    208 
    209 <!ENTITY % fontstyle.extra "big | small | font | basefont">
    210 
    211 <!ENTITY % fontstyle.basic "tt | i | b | u
    212                      | s | strike ">
    213 
    214 <!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
    215 
    216 <!ENTITY % phrase.extra "sub | sup">
    217 <!ENTITY % phrase.basic "em | strong | dfn | code | q |
    218                   samp | kbd | var | cite | abbr | acronym">
    219 
    220 <!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
    221 
    222 <!ENTITY % inline.forms "input | select | textarea | label | button">
    223 
    224 <!-- these can occur at block or inline level -->
    225 <!ENTITY % misc.inline "ins | del | script">
    226 
    227 <!-- these can only occur at block level -->
    228 <!ENTITY % misc "noscript | %misc.inline;">
    229 
    230 
    231 <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
    232 
    233 <!-- %Inline; covers inline or "text-level" elements -->
    234 <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
    235 
    236 <!--================== Block level elements ==============================-->
    237 
    238 <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
    239 <!ENTITY % lists "ul | ol | dl | menu | dir">
    240 <!ENTITY % blocktext "pre | hr | blockquote | address | center">
    241 
    242 <!ENTITY % block
    243    "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
    244 
    245 <!-- %Flow; mixes block and inline and is used for list items etc. -->
    246 <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
    247 
    248 <!--================== Content models for exclusions =====================-->
    249 
    250 <!-- a elements use %Inline; excluding a -->
    251 
    252 <!ENTITY % a.content
    253   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
    254 
    255 <!-- pre uses %Inline excluding img, object, applet, big, small,
    256     sub, sup, font, or basefont -->
    257 
    258 <!ENTITY % pre.content
    259   "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
    260    %inline.forms; | %misc.inline;)*">
    261 
    262 
    263 <!-- form uses %Flow; excluding form -->
    264 
    265 <!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
    266 
    267 <!-- button uses %Flow; but excludes a, form, form controls, iframe -->
    268 
    269 <!ENTITY % button.content
    270   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
    271      table | br | span | bdo | object | applet | img | map |
    272      %fontstyle; | %phrase; | %misc;)*">
    273 
    274 <!--================ Document Structure ==================================-->
    275 
    276 <!-- the namespace URI designates the document profile -->
    277 
    278 <!ELEMENT html (head, frameset)>
    279 <!ATTLIST html
    280  %i18n;
    281  id          ID             #IMPLIED
    282  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
    283  >
    284 
    285 <!--================ Document Head =======================================-->
    286 
    287 <!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
    288 
    289 <!-- content model is %head.misc; combined with a single
    290     title and an optional base element in any order -->
    291 
    292 <!ELEMENT head (%head.misc;,
    293     ((title, %head.misc;, (base, %head.misc;)?) |
    294      (base, %head.misc;, (title, %head.misc;))))>
    295 
    296 <!ATTLIST head
    297  %i18n;
    298  id          ID             #IMPLIED
    299  profile     %URI;          #IMPLIED
    300  >
    301 
    302 <!-- The title element is not considered part of the flow of text.
    303       It should be displayed, for example as the page header or
    304       window title. Exactly one title is required per document.
    305    -->
    306 <!ELEMENT title (#PCDATA)>
    307 <!ATTLIST title 
    308  %i18n;
    309  id          ID             #IMPLIED
    310  >
    311 
    312 <!-- document base URI -->
    313 
    314 <!ELEMENT base EMPTY>
    315 <!ATTLIST base
    316  id          ID             #IMPLIED
    317  href        %URI;          #IMPLIED
    318  target      %FrameTarget;  #IMPLIED
    319  >
    320 
    321 <!-- generic metainformation -->
    322 <!ELEMENT meta EMPTY>
    323 <!ATTLIST meta
    324  %i18n;
    325  id          ID             #IMPLIED
    326  http-equiv  CDATA          #IMPLIED
    327  name        CDATA          #IMPLIED
    328  content     CDATA          #REQUIRED
    329  scheme      CDATA          #IMPLIED
    330  >
    331 
    332 <!--
    333  Relationship values can be used in principle:
    334 
    335   a) for document specific toolbars/menus when used
    336      with the link element in document head e.g.
    337        start, contents, previous, next, index, end, help
    338   b) to link to a separate style sheet (rel="stylesheet")
    339   c) to make a link to a script (rel="script")
    340   d) by stylesheets to control how collections of
    341      html nodes are rendered into printed documents
    342   e) to make a link to a printable version of this document
    343      e.g. a PostScript or PDF version (rel="alternate" media="print")
    344 -->
    345 
    346 <!ELEMENT link EMPTY>
    347 <!ATTLIST link
    348  %attrs;
    349  charset     %Charset;      #IMPLIED
    350  href        %URI;          #IMPLIED
    351  hreflang    %LanguageCode; #IMPLIED
    352  type        %ContentType;  #IMPLIED
    353  rel         %LinkTypes;    #IMPLIED
    354  rev         %LinkTypes;    #IMPLIED
    355  media       %MediaDesc;    #IMPLIED
    356  target      %FrameTarget;  #IMPLIED
    357  >
    358 
    359 <!-- style info, which may include CDATA sections -->
    360 <!ELEMENT style (#PCDATA)>
    361 <!ATTLIST style
    362  %i18n;
    363  id          ID             #IMPLIED
    364  type        %ContentType;  #REQUIRED
    365  media       %MediaDesc;    #IMPLIED
    366  title       %Text;         #IMPLIED
    367  xml:space   (preserve)     #FIXED 'preserve'
    368  >
    369 
    370 <!-- script statements, which may include CDATA sections -->
    371 <!ELEMENT script (#PCDATA)>
    372 <!ATTLIST script
    373  id          ID             #IMPLIED
    374  charset     %Charset;      #IMPLIED
    375  type        %ContentType;  #REQUIRED
    376  language    CDATA          #IMPLIED
    377  src         %URI;          #IMPLIED
    378  defer       (defer)        #IMPLIED
    379  xml:space   (preserve)     #FIXED 'preserve'
    380  >
    381 
    382 <!-- alternate content container for non script-based rendering -->
    383 
    384 <!ELEMENT noscript %Flow;>
    385 <!ATTLIST noscript
    386  %attrs;
    387  >
    388 
    389 <!--======================= Frames =======================================-->
    390 
    391 <!-- only one noframes element permitted per document -->
    392 
    393 <!ELEMENT frameset (frameset|frame|noframes)*>
    394 <!ATTLIST frameset
    395  %coreattrs;
    396  rows        %MultiLengths; #IMPLIED
    397  cols        %MultiLengths; #IMPLIED
    398  onload      %Script;       #IMPLIED
    399  onunload    %Script;       #IMPLIED
    400  >
    401 
    402 <!-- reserved frame names start with "_" otherwise starts with letter -->
    403 
    404 <!-- tiled window within frameset -->
    405 
    406 <!ELEMENT frame EMPTY>
    407 <!ATTLIST frame
    408  %coreattrs;
    409  longdesc    %URI;          #IMPLIED
    410  name        NMTOKEN        #IMPLIED
    411  src         %URI;          #IMPLIED
    412  frameborder (1|0)          "1"
    413  marginwidth %Pixels;       #IMPLIED
    414  marginheight %Pixels;      #IMPLIED
    415  noresize    (noresize)     #IMPLIED
    416  scrolling   (yes|no|auto)  "auto"
    417  >
    418 
    419 <!-- inline subwindow -->
    420 
    421 <!ELEMENT iframe %Flow;>
    422 <!ATTLIST iframe
    423  %coreattrs;
    424  longdesc    %URI;          #IMPLIED
    425  name        NMTOKEN        #IMPLIED
    426  src         %URI;          #IMPLIED
    427  frameborder (1|0)          "1"
    428  marginwidth %Pixels;       #IMPLIED
    429  marginheight %Pixels;      #IMPLIED
    430  scrolling   (yes|no|auto)  "auto"
    431  align       %ImgAlign;     #IMPLIED
    432  height      %Length;       #IMPLIED
    433  width       %Length;       #IMPLIED
    434  >
    435 
    436 <!-- alternate content container for non frame-based rendering -->
    437 
    438 <!ELEMENT noframes (body)>
    439 <!ATTLIST noframes
    440  %attrs;
    441  >
    442 
    443 <!--=================== Document Body ====================================-->
    444 
    445 <!ELEMENT body %Flow;>
    446 <!ATTLIST body
    447  %attrs;
    448  onload      %Script;       #IMPLIED
    449  onunload    %Script;       #IMPLIED
    450  background  %URI;          #IMPLIED
    451  bgcolor     %Color;        #IMPLIED
    452  text        %Color;        #IMPLIED
    453  link        %Color;        #IMPLIED
    454  vlink       %Color;        #IMPLIED
    455  alink       %Color;        #IMPLIED
    456  >
    457 
    458 <!ELEMENT div %Flow;>  <!-- generic language/style container -->
    459 <!ATTLIST div
    460  %attrs;
    461  %TextAlign;
    462  >
    463 
    464 <!--=================== Paragraphs =======================================-->
    465 
    466 <!ELEMENT p %Inline;>
    467 <!ATTLIST p
    468  %attrs;
    469  %TextAlign;
    470  >
    471 
    472 <!--=================== Headings =========================================-->
    473 
    474 <!--
    475  There are six levels of headings from h1 (the most important)
    476  to h6 (the least important).
    477 -->
    478 
    479 <!ELEMENT h1  %Inline;>
    480 <!ATTLIST h1
    481  %attrs;
    482  %TextAlign;
    483  >
    484 
    485 <!ELEMENT h2 %Inline;>
    486 <!ATTLIST h2
    487  %attrs;
    488  %TextAlign;
    489  >
    490 
    491 <!ELEMENT h3 %Inline;>
    492 <!ATTLIST h3
    493  %attrs;
    494  %TextAlign;
    495  >
    496 
    497 <!ELEMENT h4 %Inline;>
    498 <!ATTLIST h4
    499  %attrs;
    500  %TextAlign;
    501  >
    502 
    503 <!ELEMENT h5 %Inline;>
    504 <!ATTLIST h5
    505  %attrs;
    506  %TextAlign;
    507  >
    508 
    509 <!ELEMENT h6 %Inline;>
    510 <!ATTLIST h6
    511  %attrs;
    512  %TextAlign;
    513  >
    514 
    515 <!--=================== Lists ============================================-->
    516 
    517 <!-- Unordered list bullet styles -->
    518 
    519 <!ENTITY % ULStyle "(disc|square|circle)">
    520 
    521 <!-- Unordered list -->
    522 
    523 <!ELEMENT ul (li)+>
    524 <!ATTLIST ul
    525  %attrs;
    526  type        %ULStyle;     #IMPLIED
    527  compact     (compact)     #IMPLIED
    528  >
    529 
    530 <!-- Ordered list numbering style
    531 
    532    1   arabic numbers      1, 2, 3, ...
    533    a   lower alpha         a, b, c, ...
    534    A   upper alpha         A, B, C, ...
    535    i   lower roman         i, ii, iii, ...
    536    I   upper roman         I, II, III, ...
    537 
    538    The style is applied to the sequence number which by default
    539    is reset to 1 for the first list item in an ordered list.
    540 -->
    541 <!ENTITY % OLStyle "CDATA">
    542 
    543 <!-- Ordered (numbered) list -->
    544 
    545 <!ELEMENT ol (li)+>
    546 <!ATTLIST ol
    547  %attrs;
    548  type        %OLStyle;      #IMPLIED
    549  compact     (compact)      #IMPLIED
    550  start       %Number;       #IMPLIED
    551  >
    552 
    553 <!-- single column list (DEPRECATED) --> 
    554 <!ELEMENT menu (li)+>
    555 <!ATTLIST menu
    556  %attrs;
    557  compact     (compact)     #IMPLIED
    558  >
    559 
    560 <!-- multiple column list (DEPRECATED) --> 
    561 <!ELEMENT dir (li)+>
    562 <!ATTLIST dir
    563  %attrs;
    564  compact     (compact)     #IMPLIED
    565  >
    566 
    567 <!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
    568 <!ENTITY % LIStyle "CDATA">
    569 
    570 <!-- list item -->
    571 
    572 <!ELEMENT li %Flow;>
    573 <!ATTLIST li
    574  %attrs;
    575  type        %LIStyle;      #IMPLIED
    576  value       %Number;       #IMPLIED
    577  >
    578 
    579 <!-- definition lists - dt for term, dd for its definition -->
    580 
    581 <!ELEMENT dl (dt|dd)+>
    582 <!ATTLIST dl
    583  %attrs;
    584  compact     (compact)      #IMPLIED
    585  >
    586 
    587 <!ELEMENT dt %Inline;>
    588 <!ATTLIST dt
    589  %attrs;
    590  >
    591 
    592 <!ELEMENT dd %Flow;>
    593 <!ATTLIST dd
    594  %attrs;
    595  >
    596 
    597 <!--=================== Address ==========================================-->
    598 
    599 <!-- information on author -->
    600 
    601 <!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
    602 <!ATTLIST address
    603  %attrs;
    604  >
    605 
    606 <!--=================== Horizontal Rule ==================================-->
    607 
    608 <!ELEMENT hr EMPTY>
    609 <!ATTLIST hr
    610  %attrs;
    611  align       (left|center|right) #IMPLIED
    612  noshade     (noshade)      #IMPLIED
    613  size        %Pixels;       #IMPLIED
    614  width       %Length;       #IMPLIED
    615  >
    616 
    617 <!--=================== Preformatted Text ================================-->
    618 
    619 <!-- content is %Inline; excluding 
    620        "img|object|applet|big|small|sub|sup|font|basefont" -->
    621 
    622 <!ELEMENT pre %pre.content;>
    623 <!ATTLIST pre
    624  %attrs;
    625  width       %Number;      #IMPLIED
    626  xml:space   (preserve)    #FIXED 'preserve'
    627  >
    628 
    629 <!--=================== Block-like Quotes ================================-->
    630 
    631 <!ELEMENT blockquote %Flow;>
    632 <!ATTLIST blockquote
    633  %attrs;
    634  cite        %URI;          #IMPLIED
    635  >
    636 
    637 <!--=================== Text alignment ===================================-->
    638 
    639 <!-- center content -->
    640 <!ELEMENT center %Flow;>
    641 <!ATTLIST center
    642  %attrs;
    643  >
    644 
    645 <!--=================== Inserted/Deleted Text ============================-->
    646 
    647 
    648 <!--
    649  ins/del are allowed in block and inline content, but its
    650  inappropriate to include block content within an ins element
    651  occurring in inline content.
    652 -->
    653 <!ELEMENT ins %Flow;>
    654 <!ATTLIST ins
    655  %attrs;
    656  cite        %URI;          #IMPLIED
    657  datetime    %Datetime;     #IMPLIED
    658  >
    659 
    660 <!ELEMENT del %Flow;>
    661 <!ATTLIST del
    662  %attrs;
    663  cite        %URI;          #IMPLIED
    664  datetime    %Datetime;     #IMPLIED
    665  >
    666 
    667 <!--================== The Anchor Element ================================-->
    668 
    669 <!-- content is %Inline; except that anchors shouldn't be nested -->
    670 
    671 <!ELEMENT a %a.content;>
    672 <!ATTLIST a
    673  %attrs;
    674  %focus;
    675  charset     %Charset;      #IMPLIED
    676  type        %ContentType;  #IMPLIED
    677  name        NMTOKEN        #IMPLIED
    678  href        %URI;          #IMPLIED
    679  hreflang    %LanguageCode; #IMPLIED
    680  rel         %LinkTypes;    #IMPLIED
    681  rev         %LinkTypes;    #IMPLIED
    682  shape       %Shape;        "rect"
    683  coords      %Coords;       #IMPLIED
    684  target      %FrameTarget;  #IMPLIED
    685  >
    686 
    687 <!--===================== Inline Elements ================================-->
    688 
    689 <!ELEMENT span %Inline;> <!-- generic language/style container -->
    690 <!ATTLIST span
    691  %attrs;
    692  >
    693 
    694 <!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
    695 <!ATTLIST bdo
    696  %coreattrs;
    697  %events;
    698  lang        %LanguageCode; #IMPLIED
    699  xml:lang    %LanguageCode; #IMPLIED
    700  dir         (ltr|rtl)      #REQUIRED
    701  >
    702 
    703 <!ELEMENT br EMPTY>   <!-- forced line break -->
    704 <!ATTLIST br
    705  %coreattrs;
    706  clear       (left|all|right|none) "none"
    707  >
    708 
    709 <!ELEMENT em %Inline;>   <!-- emphasis -->
    710 <!ATTLIST em %attrs;>
    711 
    712 <!ELEMENT strong %Inline;>   <!-- strong emphasis -->
    713 <!ATTLIST strong %attrs;>
    714 
    715 <!ELEMENT dfn %Inline;>   <!-- definitional -->
    716 <!ATTLIST dfn %attrs;>
    717 
    718 <!ELEMENT code %Inline;>   <!-- program code -->
    719 <!ATTLIST code %attrs;>
    720 
    721 <!ELEMENT samp %Inline;>   <!-- sample -->
    722 <!ATTLIST samp %attrs;>
    723 
    724 <!ELEMENT kbd %Inline;>  <!-- something user would type -->
    725 <!ATTLIST kbd %attrs;>
    726 
    727 <!ELEMENT var %Inline;>   <!-- variable -->
    728 <!ATTLIST var %attrs;>
    729 
    730 <!ELEMENT cite %Inline;>   <!-- citation -->
    731 <!ATTLIST cite %attrs;>
    732 
    733 <!ELEMENT abbr %Inline;>   <!-- abbreviation -->
    734 <!ATTLIST abbr %attrs;>
    735 
    736 <!ELEMENT acronym %Inline;>   <!-- acronym -->
    737 <!ATTLIST acronym %attrs;>
    738 
    739 <!ELEMENT q %Inline;>   <!-- inlined quote -->
    740 <!ATTLIST q
    741  %attrs;
    742  cite        %URI;          #IMPLIED
    743  >
    744 
    745 <!ELEMENT sub %Inline;> <!-- subscript -->
    746 <!ATTLIST sub %attrs;>
    747 
    748 <!ELEMENT sup %Inline;> <!-- superscript -->
    749 <!ATTLIST sup %attrs;>
    750 
    751 <!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
    752 <!ATTLIST tt %attrs;>
    753 
    754 <!ELEMENT i %Inline;>   <!-- italic font -->
    755 <!ATTLIST i %attrs;>
    756 
    757 <!ELEMENT b %Inline;>   <!-- bold font -->
    758 <!ATTLIST b %attrs;>
    759 
    760 <!ELEMENT big %Inline;>   <!-- bigger font -->
    761 <!ATTLIST big %attrs;>
    762 
    763 <!ELEMENT small %Inline;>   <!-- smaller font -->
    764 <!ATTLIST small %attrs;>
    765 
    766 <!ELEMENT u %Inline;>   <!-- underline -->
    767 <!ATTLIST u %attrs;>
    768 
    769 <!ELEMENT s %Inline;>   <!-- strike-through -->
    770 <!ATTLIST s %attrs;>
    771 
    772 <!ELEMENT strike %Inline;>   <!-- strike-through -->
    773 <!ATTLIST strike %attrs;>
    774 
    775 <!ELEMENT basefont EMPTY>  <!-- base font size -->
    776 <!ATTLIST basefont
    777  id          ID             #IMPLIED
    778  size        CDATA          #REQUIRED
    779  color       %Color;        #IMPLIED
    780  face        CDATA          #IMPLIED
    781  >
    782 
    783 <!ELEMENT font %Inline;> <!-- local change to font -->
    784 <!ATTLIST font
    785  %coreattrs;
    786  %i18n;
    787  size        CDATA          #IMPLIED
    788  color       %Color;        #IMPLIED
    789  face        CDATA          #IMPLIED
    790  >
    791 
    792 <!--==================== Object ======================================-->
    793 <!--
    794  object is used to embed objects as part of HTML pages.
    795  param elements should precede other content. Parameters
    796  can also be expressed as attribute/value pairs on the
    797  object element itself when brevity is desired.
    798 -->
    799 
    800 <!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
    801 <!ATTLIST object
    802  %attrs;
    803  declare     (declare)      #IMPLIED
    804  classid     %URI;          #IMPLIED
    805  codebase    %URI;          #IMPLIED
    806  data        %URI;          #IMPLIED
    807  type        %ContentType;  #IMPLIED
    808  codetype    %ContentType;  #IMPLIED
    809  archive     %UriList;      #IMPLIED
    810  standby     %Text;         #IMPLIED
    811  height      %Length;       #IMPLIED
    812  width       %Length;       #IMPLIED
    813  usemap      %URI;          #IMPLIED
    814  name        NMTOKEN        #IMPLIED
    815  tabindex    %Number;       #IMPLIED
    816  align       %ImgAlign;     #IMPLIED
    817  border      %Pixels;       #IMPLIED
    818  hspace      %Pixels;       #IMPLIED
    819  vspace      %Pixels;       #IMPLIED
    820  >
    821 
    822 <!--
    823  param is used to supply a named property value.
    824  In XML it would seem natural to follow RDF and support an
    825  abbreviated syntax where the param elements are replaced
    826  by attribute value pairs on the object start tag.
    827 -->
    828 <!ELEMENT param EMPTY>
    829 <!ATTLIST param
    830  id          ID             #IMPLIED
    831  name        CDATA          #REQUIRED
    832  value       CDATA          #IMPLIED
    833  valuetype   (data|ref|object) "data"
    834  type        %ContentType;  #IMPLIED
    835  >
    836 
    837 <!--=================== Java applet ==================================-->
    838 <!--
    839  One of code or object attributes must be present.
    840  Place param elements before other content.
    841 -->
    842 <!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
    843 <!ATTLIST applet
    844  %coreattrs;
    845  codebase    %URI;          #IMPLIED
    846  archive     CDATA          #IMPLIED
    847  code        CDATA          #IMPLIED
    848  object      CDATA          #IMPLIED
    849  alt         %Text;         #IMPLIED
    850  name        NMTOKEN        #IMPLIED
    851  width       %Length;       #REQUIRED
    852  height      %Length;       #REQUIRED
    853  align       %ImgAlign;     #IMPLIED
    854  hspace      %Pixels;       #IMPLIED
    855  vspace      %Pixels;       #IMPLIED
    856  >
    857 
    858 <!--=================== Images ===========================================-->
    859 
    860 <!--
    861   To avoid accessibility problems for people who aren't
    862   able to see the image, you should provide a text
    863   description using the alt and longdesc attributes.
    864   In addition, avoid the use of server-side image maps.
    865 -->
    866 
    867 <!ELEMENT img EMPTY>
    868 <!ATTLIST img
    869  %attrs;
    870  src         %URI;          #REQUIRED
    871  alt         %Text;         #REQUIRED
    872  name        NMTOKEN        #IMPLIED
    873  longdesc    %URI;          #IMPLIED
    874  height      %Length;       #IMPLIED
    875  width       %Length;       #IMPLIED
    876  usemap      %URI;          #IMPLIED
    877  ismap       (ismap)        #IMPLIED
    878  align       %ImgAlign;     #IMPLIED
    879  border      %Pixels;       #IMPLIED
    880  hspace      %Pixels;       #IMPLIED
    881  vspace      %Pixels;       #IMPLIED
    882  >
    883 
    884 <!-- usemap points to a map element which may be in this document
    885  or an external document, although the latter is not widely supported -->
    886 
    887 <!--================== Client-side image maps ============================-->
    888 
    889 <!-- These can be placed in the same document or grouped in a
    890     separate document although this isn't yet widely supported -->
    891 
    892 <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
    893 <!ATTLIST map
    894  %i18n;
    895  %events;
    896  id          ID             #REQUIRED
    897  class       CDATA          #IMPLIED
    898  style       %StyleSheet;   #IMPLIED
    899  title       %Text;         #IMPLIED
    900  name        NMTOKEN        #IMPLIED
    901  >
    902 
    903 <!ELEMENT area EMPTY>
    904 <!ATTLIST area
    905  %attrs;
    906  %focus;
    907  shape       %Shape;        "rect"
    908  coords      %Coords;       #IMPLIED
    909  href        %URI;          #IMPLIED
    910  nohref      (nohref)       #IMPLIED
    911  alt         %Text;         #REQUIRED
    912  target      %FrameTarget;  #IMPLIED
    913  >
    914 
    915 <!--================ Forms ===============================================-->
    916 
    917 <!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
    918 
    919 <!ATTLIST form
    920  %attrs;
    921  action      %URI;          #REQUIRED
    922  method      (get|post)     "get"
    923  name        NMTOKEN        #IMPLIED
    924  enctype     %ContentType;  "application/x-www-form-urlencoded"
    925  onsubmit    %Script;       #IMPLIED
    926  onreset     %Script;       #IMPLIED
    927  accept      %ContentTypes; #IMPLIED
    928  accept-charset %Charsets;  #IMPLIED
    929  target      %FrameTarget;  #IMPLIED
    930  >
    931 
    932 <!--
    933  Each label must not contain more than ONE field
    934  Label elements shouldn't be nested.
    935 -->
    936 <!ELEMENT label %Inline;>
    937 <!ATTLIST label
    938  %attrs;
    939  for         IDREF          #IMPLIED
    940  accesskey   %Character;    #IMPLIED
    941  onfocus     %Script;       #IMPLIED
    942  onblur      %Script;       #IMPLIED
    943  >
    944 
    945 <!ENTITY % InputType
    946  "(text | password | checkbox |
    947    radio | submit | reset |
    948    file | hidden | image | button)"
    949   >
    950 
    951 <!-- the name attribute is required for all but submit & reset -->
    952 
    953 <!ELEMENT input EMPTY>     <!-- form control -->
    954 <!ATTLIST input
    955  %attrs;
    956  %focus;
    957  type        %InputType;    "text"
    958  name        CDATA          #IMPLIED
    959  value       CDATA          #IMPLIED
    960  checked     (checked)      #IMPLIED
    961  disabled    (disabled)     #IMPLIED
    962  readonly    (readonly)     #IMPLIED
    963  size        CDATA          #IMPLIED
    964  maxlength   %Number;       #IMPLIED
    965  src         %URI;          #IMPLIED
    966  alt         CDATA          #IMPLIED
    967  usemap      %URI;          #IMPLIED
    968  onselect    %Script;       #IMPLIED
    969  onchange    %Script;       #IMPLIED
    970  accept      %ContentTypes; #IMPLIED
    971  align       %ImgAlign;     #IMPLIED
    972  >
    973 
    974 <!ELEMENT select (optgroup|option)+>  <!-- option selector -->
    975 <!ATTLIST select
    976  %attrs;
    977  name        CDATA          #IMPLIED
    978  size        %Number;       #IMPLIED
    979  multiple    (multiple)     #IMPLIED
    980  disabled    (disabled)     #IMPLIED
    981  tabindex    %Number;       #IMPLIED
    982  onfocus     %Script;       #IMPLIED
    983  onblur      %Script;       #IMPLIED
    984  onchange    %Script;       #IMPLIED
    985  >
    986 
    987 <!ELEMENT optgroup (option)+>   <!-- option group -->
    988 <!ATTLIST optgroup
    989  %attrs;
    990  disabled    (disabled)     #IMPLIED
    991  label       %Text;         #REQUIRED
    992  >
    993 
    994 <!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
    995 <!ATTLIST option
    996  %attrs;
    997  selected    (selected)     #IMPLIED
    998  disabled    (disabled)     #IMPLIED
    999  label       %Text;         #IMPLIED
   1000  value       CDATA          #IMPLIED
   1001  >
   1002 
   1003 <!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
   1004 <!ATTLIST textarea
   1005  %attrs;
   1006  %focus;
   1007  name        CDATA          #IMPLIED
   1008  rows        %Number;       #REQUIRED
   1009  cols        %Number;       #REQUIRED
   1010  disabled    (disabled)     #IMPLIED
   1011  readonly    (readonly)     #IMPLIED
   1012  onselect    %Script;       #IMPLIED
   1013  onchange    %Script;       #IMPLIED
   1014  >
   1015 
   1016 <!--
   1017  The fieldset element is used to group form fields.
   1018  Only one legend element should occur in the content
   1019  and if present should only be preceded by whitespace.
   1020 -->
   1021 <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
   1022 <!ATTLIST fieldset
   1023  %attrs;
   1024  >
   1025 
   1026 <!ENTITY % LAlign "(top|bottom|left|right)">
   1027 
   1028 <!ELEMENT legend %Inline;>     <!-- fieldset label -->
   1029 <!ATTLIST legend
   1030  %attrs;
   1031  accesskey   %Character;    #IMPLIED
   1032  align       %LAlign;       #IMPLIED
   1033  >
   1034 
   1035 <!--
   1036 Content is %Flow; excluding a, form, form controls, iframe
   1037 --> 
   1038 <!ELEMENT button %button.content;>  <!-- push button -->
   1039 <!ATTLIST button
   1040  %attrs;
   1041  %focus;
   1042  name        CDATA          #IMPLIED
   1043  value       CDATA          #IMPLIED
   1044  type        (button|submit|reset) "submit"
   1045  disabled    (disabled)     #IMPLIED
   1046  >
   1047 
   1048 <!-- single-line text input control (DEPRECATED) -->
   1049 <!ELEMENT isindex EMPTY>
   1050 <!ATTLIST isindex
   1051  %coreattrs;
   1052  %i18n;
   1053  prompt      %Text;         #IMPLIED
   1054  >
   1055 
   1056 <!--======================= Tables =======================================-->
   1057 
   1058 <!-- Derived from IETF HTML table standard, see [RFC1942] -->
   1059 
   1060 <!--
   1061 The border attribute sets the thickness of the frame around the
   1062 table. The default units are screen pixels.
   1063 
   1064 The frame attribute specifies which parts of the frame around
   1065 the table should be rendered. The values are not the same as
   1066 CALS to avoid a name clash with the valign attribute.
   1067 -->
   1068 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
   1069 
   1070 <!--
   1071 The rules attribute defines which rules to draw between cells:
   1072 
   1073 If rules is absent then assume:
   1074     "none" if border is absent or border="0" otherwise "all"
   1075 -->
   1076 
   1077 <!ENTITY % TRules "(none | groups | rows | cols | all)">
   1078  
   1079 <!-- horizontal placement of table relative to document -->
   1080 <!ENTITY % TAlign "(left|center|right)">
   1081 
   1082 <!-- horizontal alignment attributes for cell contents
   1083 
   1084  char        alignment char, e.g. char=":"
   1085  charoff     offset for alignment char
   1086 -->
   1087 <!ENTITY % cellhalign
   1088  "align      (left|center|right|justify|char) #IMPLIED
   1089   char       %Character;    #IMPLIED
   1090   charoff    %Length;       #IMPLIED"
   1091  >
   1092 
   1093 <!-- vertical alignment attributes for cell contents -->
   1094 <!ENTITY % cellvalign
   1095  "valign     (top|middle|bottom|baseline) #IMPLIED"
   1096  >
   1097 
   1098 <!ELEMENT table
   1099     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
   1100 <!ELEMENT caption  %Inline;>
   1101 <!ELEMENT thead    (tr)+>
   1102 <!ELEMENT tfoot    (tr)+>
   1103 <!ELEMENT tbody    (tr)+>
   1104 <!ELEMENT colgroup (col)*>
   1105 <!ELEMENT col      EMPTY>
   1106 <!ELEMENT tr       (th|td)+>
   1107 <!ELEMENT th       %Flow;>
   1108 <!ELEMENT td       %Flow;>
   1109 
   1110 <!ATTLIST table
   1111  %attrs;
   1112  summary     %Text;         #IMPLIED
   1113  width       %Length;       #IMPLIED
   1114  border      %Pixels;       #IMPLIED
   1115  frame       %TFrame;       #IMPLIED
   1116  rules       %TRules;       #IMPLIED
   1117  cellspacing %Length;       #IMPLIED
   1118  cellpadding %Length;       #IMPLIED
   1119  align       %TAlign;       #IMPLIED
   1120  bgcolor     %Color;        #IMPLIED
   1121  >
   1122 
   1123 <!ENTITY % CAlign "(top|bottom|left|right)">
   1124 
   1125 <!ATTLIST caption
   1126  %attrs;
   1127  align       %CAlign;       #IMPLIED
   1128  >
   1129 
   1130 <!--
   1131 colgroup groups a set of col elements. It allows you to group
   1132 several semantically related columns together.
   1133 -->
   1134 <!ATTLIST colgroup
   1135  %attrs;
   1136  span        %Number;       "1"
   1137  width       %MultiLength;  #IMPLIED
   1138  %cellhalign;
   1139  %cellvalign;
   1140  >
   1141 
   1142 <!--
   1143 col elements define the alignment properties for cells in
   1144 one or more columns.
   1145 
   1146 The width attribute specifies the width of the columns, e.g.
   1147 
   1148     width=64        width in screen pixels
   1149     width=0.5*      relative width of 0.5
   1150 
   1151 The span attribute causes the attributes of one
   1152 col element to apply to more than one column.
   1153 -->
   1154 <!ATTLIST col
   1155  %attrs;
   1156  span        %Number;       "1"
   1157  width       %MultiLength;  #IMPLIED
   1158  %cellhalign;
   1159  %cellvalign;
   1160  >
   1161 
   1162 <!--
   1163    Use thead to duplicate headers when breaking table
   1164    across page boundaries, or for static headers when
   1165    tbody sections are rendered in scrolling panel.
   1166 
   1167    Use tfoot to duplicate footers when breaking table
   1168    across page boundaries, or for static footers when
   1169    tbody sections are rendered in scrolling panel.
   1170 
   1171    Use multiple tbody sections when rules are needed
   1172    between groups of table rows.
   1173 -->
   1174 <!ATTLIST thead
   1175  %attrs;
   1176  %cellhalign;
   1177  %cellvalign;
   1178  >
   1179 
   1180 <!ATTLIST tfoot
   1181  %attrs;
   1182  %cellhalign;
   1183  %cellvalign;
   1184  >
   1185 
   1186 <!ATTLIST tbody
   1187  %attrs;
   1188  %cellhalign;
   1189  %cellvalign;
   1190  >
   1191 
   1192 <!ATTLIST tr
   1193  %attrs;
   1194  %cellhalign;
   1195  %cellvalign;
   1196  bgcolor     %Color;        #IMPLIED
   1197  >
   1198 
   1199 <!-- Scope is simpler than headers attribute for common tables -->
   1200 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
   1201 
   1202 <!-- th is for headers, td for data and for cells acting as both -->
   1203 
   1204 <!ATTLIST th
   1205  %attrs;
   1206  abbr        %Text;         #IMPLIED
   1207  axis        CDATA          #IMPLIED
   1208  headers     IDREFS         #IMPLIED
   1209  scope       %Scope;        #IMPLIED
   1210  rowspan     %Number;       "1"
   1211  colspan     %Number;       "1"
   1212  %cellhalign;
   1213  %cellvalign;
   1214  nowrap      (nowrap)       #IMPLIED
   1215  bgcolor     %Color;        #IMPLIED
   1216  width       %Pixels;       #IMPLIED
   1217  height      %Pixels;       #IMPLIED
   1218  >
   1219 
   1220 <!ATTLIST td
   1221  %attrs;
   1222  abbr        %Text;         #IMPLIED
   1223  axis        CDATA          #IMPLIED
   1224  headers     IDREFS         #IMPLIED
   1225  scope       %Scope;        #IMPLIED
   1226  rowspan     %Number;       "1"
   1227  colspan     %Number;       "1"
   1228  %cellhalign;
   1229  %cellvalign;
   1230  nowrap      (nowrap)       #IMPLIED
   1231  bgcolor     %Color;        #IMPLIED
   1232  width       %Pixels;       #IMPLIED
   1233  height      %Pixels;       #IMPLIED
   1234  >