dom/tests/mochitest/dom-level2-html/files/xhtml1-frameset.dtd

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

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

mercurial