PageRenderTime 146ms CodeModel.GetById 127ms app.highlight 12ms RepoModel.GetById 1ms app.codeStats 0ms

/bundles/plugins-trunk/XML/xml/dtds/xhtml1-frameset.dtd

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