1 <!-- 2 Extensible HTML version 1.0 Strict DTD 3 4 This is the same as HTML 4 Strict 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 Strict//EN" 17 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 18 19 $Revision: 10625 $ 20 $Date: 2005-09-26 15:35:36 -0700 (Mon, 26 Sep 2005) $ 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 % Length "CDATA"> 89 <!-- nn for pixels or nn% for percentage length --> 90 91 <!ENTITY % MultiLength "CDATA"> 92 <!-- pixel, percentage, or relative --> 93 94 <!ENTITY % Pixels "CDATA"> 95 <!-- integer representing length in pixels --> 96 97 <!-- these are used for image maps --> 98 99 <!ENTITY % Shape "(rect|circle|poly|default)"> 100 101 <!ENTITY % Coords "CDATA"> 102 <!-- comma separated list of lengths --> 103 104 <!--=================== Generic Attributes ===============================--> 105 106 <!-- core attributes common to most elements 107 id document-wide unique id 108 class space separated list of classes 109 style associated style info 110 title advisory title/amplification 111 --> 112 <!ENTITY % coreattrs 113 "id ID #IMPLIED 114 class CDATA #IMPLIED 115 style %StyleSheet; #IMPLIED 116 title %Text; #IMPLIED" 117 > 118 119 <!-- internationalization attributes 120 lang language code (backwards compatible) 121 xml:lang language code (as per XML 1.0 spec) 122 dir direction for weak/neutral text 123 --> 124 <!ENTITY % i18n 125 "lang %LanguageCode; #IMPLIED 126 xml:lang %LanguageCode; #IMPLIED 127 dir (ltr|rtl) #IMPLIED" 128 > 129 130 <!-- attributes for common UI events 131 onclick a pointer button was clicked 132 ondblclick a pointer button was double clicked 133 onmousedown a pointer button was pressed down 134 onmouseup a pointer button was released 135 onmousemove a pointer was moved onto the element 136 onmouseout a pointer was moved away from the element 137 onkeypress a key was pressed and released 138 onkeydown a key was pressed down 139 onkeyup a key was released 140 --> 141 <!ENTITY % events 142 "onclick %Script; #IMPLIED 143 ondblclick %Script; #IMPLIED 144 onmousedown %Script; #IMPLIED 145 onmouseup %Script; #IMPLIED 146 onmouseover %Script; #IMPLIED 147 onmousemove %Script; #IMPLIED 148 onmouseout %Script; #IMPLIED 149 onkeypress %Script; #IMPLIED 150 onkeydown %Script; #IMPLIED 151 onkeyup %Script; #IMPLIED" 152 > 153 154 <!-- attributes for elements that can get the focus 155 accesskey accessibility key character 156 tabindex position in tabbing order 157 onfocus the element got the focus 158 onblur the element lost the focus 159 --> 160 <!ENTITY % focus 161 "accesskey %Character; #IMPLIED 162 tabindex %Number; #IMPLIED 163 onfocus %Script; #IMPLIED 164 onblur %Script; #IMPLIED" 165 > 166 167 <!ENTITY % attrs "%coreattrs; %i18n; %events;"> 168 169 <!--=================== Text Elements ====================================--> 170 171 <!ENTITY % special.pre 172 "br | span | bdo | map"> 173 174 175 <!ENTITY % special 176 "%special.pre; | object | img "> 177 178 <!ENTITY % fontstyle "tt | i | b | big | small "> 179 180 <!ENTITY % phrase "em | strong | dfn | code | q | 181 samp | kbd | var | cite | abbr | acronym | sub | sup "> 182 183 <!ENTITY % inline.forms "input | select | textarea | label | button"> 184 185 <!-- these can occur at block or inline level --> 186 <!ENTITY % misc.inline "ins | del | script"> 187 188 <!-- these can only occur at block level --> 189 <!ENTITY % misc "noscript | %misc.inline;"> 190 191 <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;"> 192 193 <!-- %Inline; covers inline or "text-level" elements --> 194 <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*"> 195 196 <!--================== Block level elements ==============================--> 197 198 <!ENTITY % heading "h1|h2|h3|h4|h5|h6"> 199 <!ENTITY % lists "ul | ol | dl"> 200 <!ENTITY % blocktext "pre | hr | blockquote | address"> 201 202 <!ENTITY % block 203 "p | %heading; | div | %lists; | %blocktext; | fieldset | table"> 204 205 <!ENTITY % Block "(%block; | form | %misc;)*"> 206 207 <!-- %Flow; mixes block and inline and is used for list items etc. --> 208 <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*"> 209 210 <!--================== Content models for exclusions =====================--> 211 212 <!-- a elements use %Inline; excluding a --> 213 214 <!ENTITY % a.content 215 "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*"> 216 217 <!-- pre uses %Inline excluding big, small, sup or sup --> 218 219 <!ENTITY % pre.content 220 "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline; 221 | %inline.forms;)*"> 222 223 <!-- form uses %Block; excluding form --> 224 225 <!ENTITY % form.content "(%block; | %misc;)*"> 226 227 <!-- button uses %Flow; but excludes a, form and form controls --> 228 229 <!ENTITY % button.content 230 "(#PCDATA | p | %heading; | div | %lists; | %blocktext; | 231 table | %special; | %fontstyle; | %phrase; | %misc;)*"> 232 233 <!--================ Document Structure ==================================--> 234 235 <!-- the namespace URI designates the document profile --> 236 237 <!ELEMENT html (head, body)> 238 <!ATTLIST html 239 %i18n; 240 id ID #IMPLIED 241 xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml' 242 > 243 244 <!--================ Document Head =======================================--> 245 246 <!ENTITY % head.misc "(script|style|meta|link|object)*"> 247 248 <!-- content model is %head.misc; combined with a single 249 title and an optional base element in any order --> 250 251 <!ELEMENT head (%head.misc;, 252 ((title, %head.misc;, (base, %head.misc;)?) | 253 (base, %head.misc;, (title, %head.misc;))))> 254 255 <!ATTLIST head 256 %i18n; 257 id ID #IMPLIED 258 profile %URI; #IMPLIED 259 > 260 261 <!-- The title element is not considered part of the flow of text. 262 It should be displayed, for example as the page header or 263 window title. Exactly one title is required per document. 264 --> 265 <!ELEMENT title (#PCDATA)> 266 <!ATTLIST title 267 %i18n; 268 id ID #IMPLIED 269 > 270 271 <!-- document base URI --> 272 273 <!ELEMENT base EMPTY> 274 <!ATTLIST base 275 href %URI; #REQUIRED 276 id ID #IMPLIED 277 > 278 279 <!-- generic metainformation --> 280 <!ELEMENT meta EMPTY> 281 <!ATTLIST meta 282 %i18n; 283 id ID #IMPLIED 284 http-equiv CDATA #IMPLIED 285 name CDATA #IMPLIED 286 content CDATA #REQUIRED 287 scheme CDATA #IMPLIED 288 > 289 290 <!-- 291 Relationship values can be used in principle: 292 293 a) for document specific toolbars/menus when used 294 with the link element in document head e.g. 295 start, contents, previous, next, index, end, help 296 b) to link to a separate style sheet (rel="stylesheet") 297 c) to make a link to a script (rel="script") 298 d) by stylesheets to control how collections of 299 html nodes are rendered into printed documents 300 e) to make a link to a printable version of this document 301 e.g. a PostScript or PDF version (rel="alternate" media="print") 302 --> 303 304 <!ELEMENT link EMPTY> 305 <!ATTLIST link 306 %attrs; 307 charset %Charset; #IMPLIED 308 href %URI; #IMPLIED 309 hreflang %LanguageCode; #IMPLIED 310 type %ContentType; #IMPLIED 311 rel %LinkTypes; #IMPLIED 312 rev %LinkTypes; #IMPLIED 313 media %MediaDesc; #IMPLIED 314 > 315 316 <!-- style info, which may include CDATA sections --> 317 <!ELEMENT style (#PCDATA)> 318 <!ATTLIST style 319 %i18n; 320 id ID #IMPLIED 321 type %ContentType; #REQUIRED 322 media %MediaDesc; #IMPLIED 323 title %Text; #IMPLIED 324 xml:space (preserve) #FIXED 'preserve' 325 > 326 327 <!-- script statements, which may include CDATA sections --> 328 <!ELEMENT script (#PCDATA)> 329 <!ATTLIST script 330 id ID #IMPLIED 331 charset %Charset; #IMPLIED 332 type %ContentType; #REQUIRED 333 src %URI; #IMPLIED 334 defer (defer) #IMPLIED 335 xml:space (preserve) #FIXED 'preserve' 336 > 337 338 <!-- alternate content container for non script-based rendering --> 339 340 <!ELEMENT noscript %Block;> 341 <!ATTLIST noscript 342 %attrs; 343 > 344 345 <!--=================== Document Body ====================================--> 346 347 <!ELEMENT body %Block;> 348 <!ATTLIST body 349 %attrs; 350 onload %Script; #IMPLIED 351 onunload %Script; #IMPLIED 352 > 353 354 <!ELEMENT div %Flow;> <!-- generic language/style container --> 355 <!ATTLIST div 356 %attrs; 357 > 358 359 <!--=================== Paragraphs =======================================--> 360 361 <!ELEMENT p %Inline;> 362 <!ATTLIST p 363 %attrs; 364 > 365 366 <!--=================== Headings =========================================--> 367 368 <!-- 369 There are six levels of headings from h1 (the most important) 370 to h6 (the least important). 371 --> 372 373 <!ELEMENT h1 %Inline;> 374 <!ATTLIST h1 375 %attrs; 376 > 377 378 <!ELEMENT h2 %Inline;> 379 <!ATTLIST h2 380 %attrs; 381 > 382 383 <!ELEMENT h3 %Inline;> 384 <!ATTLIST h3 385 %attrs; 386 > 387 388 <!ELEMENT h4 %Inline;> 389 <!ATTLIST h4 390 %attrs; 391 > 392 393 <!ELEMENT h5 %Inline;> 394 <!ATTLIST h5 395 %attrs; 396 > 397 398 <!ELEMENT h6 %Inline;> 399 <!ATTLIST h6 400 %attrs; 401 > 402 403 <!--=================== Lists ============================================--> 404 405 <!-- Unordered list --> 406 407 <!ELEMENT ul (li)+> 408 <!ATTLIST ul 409 %attrs; 410 > 411 412 <!-- Ordered (numbered) list --> 413 414 <!ELEMENT ol (li)+> 415 <!ATTLIST ol 416 %attrs; 417 > 418 419 <!-- list item --> 420 421 <!ELEMENT li %Flow;> 422 <!ATTLIST li 423 %attrs; 424 > 425 426 <!-- definition lists - dt for term, dd for its definition --> 427 428 <!ELEMENT dl (dt|dd)+> 429 <!ATTLIST dl 430 %attrs; 431 > 432 433 <!ELEMENT dt %Inline;> 434 <!ATTLIST dt 435 %attrs; 436 > 437 438 <!ELEMENT dd %Flow;> 439 <!ATTLIST dd 440 %attrs; 441 > 442 443 <!--=================== Address ==========================================--> 444 445 <!-- information on author --> 446 447 <!ELEMENT address %Inline;> 448 <!ATTLIST address 449 %attrs; 450 > 451 452 <!--=================== Horizontal Rule ==================================--> 453 454 <!ELEMENT hr EMPTY> 455 <!ATTLIST hr 456 %attrs; 457 > 458 459 <!--=================== Preformatted Text ================================--> 460 461 <!-- content is %Inline; excluding "img|object|big|small|sub|sup" --> 462 463 <!ELEMENT pre %pre.content;> 464 <!ATTLIST pre 465 %attrs; 466 xml:space (preserve) #FIXED 'preserve' 467 > 468 469 <!--=================== Block-like Quotes ================================--> 470 471 <!ELEMENT blockquote %Block;> 472 <!ATTLIST blockquote 473 %attrs; 474 cite %URI; #IMPLIED 475 > 476 477 <!--=================== Inserted/Deleted Text ============================--> 478 479 <!-- 480 ins/del are allowed in block and inline content, but its 481 inappropriate to include block content within an ins element 482 occurring in inline content. 483 --> 484 <!ELEMENT ins %Flow;> 485 <!ATTLIST ins 486 %attrs; 487 cite %URI; #IMPLIED 488 datetime %Datetime; #IMPLIED 489 > 490 491 <!ELEMENT del %Flow;> 492 <!ATTLIST del 493 %attrs; 494 cite %URI; #IMPLIED 495 datetime %Datetime; #IMPLIED 496 > 497 498 <!--================== The Anchor Element ================================--> 499 500 <!-- content is %Inline; except that anchors shouldn't be nested --> 501 502 <!ELEMENT a %a.content;> 503 <!ATTLIST a 504 %attrs; 505 %focus; 506 charset %Charset; #IMPLIED 507 type %ContentType; #IMPLIED 508 name NMTOKEN #IMPLIED 509 href %URI; #IMPLIED 510 hreflang %LanguageCode; #IMPLIED 511 rel %LinkTypes; #IMPLIED 512 rev %LinkTypes; #IMPLIED 513 shape %Shape; "rect" 514 coords %Coords; #IMPLIED 515 > 516 517 <!--===================== Inline Elements ================================--> 518 519 <!ELEMENT span %Inline;> <!-- generic language/style container --> 520 <!ATTLIST span 521 %attrs; 522 > 523 524 <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride --> 525 <!ATTLIST bdo 526 %coreattrs; 527 %events; 528 lang %LanguageCode; #IMPLIED 529 xml:lang %LanguageCode; #IMPLIED 530 dir (ltr|rtl) #REQUIRED 531 > 532 533 <!ELEMENT br EMPTY> <!-- forced line break --> 534 <!ATTLIST br 535 %coreattrs; 536 > 537 538 <!ELEMENT em %Inline;> <!-- emphasis --> 539 <!ATTLIST em %attrs;> 540 541 <!ELEMENT strong %Inline;> <!-- strong emphasis --> 542 <!ATTLIST strong %attrs;> 543 544 <!ELEMENT dfn %Inline;> <!-- definitional --> 545 <!ATTLIST dfn %attrs;> 546 547 <!ELEMENT code %Inline;> <!-- program code --> 548 <!ATTLIST code %attrs;> 549 550 <!ELEMENT samp %Inline;> <!-- sample --> 551 <!ATTLIST samp %attrs;> 552 553 <!ELEMENT kbd %Inline;> <!-- something user would type --> 554 <!ATTLIST kbd %attrs;> 555 556 <!ELEMENT var %Inline;> <!-- variable --> 557 <!ATTLIST var %attrs;> 558 559 <!ELEMENT cite %Inline;> <!-- citation --> 560 <!ATTLIST cite %attrs;> 561 562 <!ELEMENT abbr %Inline;> <!-- abbreviation --> 563 <!ATTLIST abbr %attrs;> 564 565 <!ELEMENT acronym %Inline;> <!-- acronym --> 566 <!ATTLIST acronym %attrs;> 567 568 <!ELEMENT q %Inline;> <!-- inlined quote --> 569 <!ATTLIST q 570 %attrs; 571 cite %URI; #IMPLIED 572 > 573 574 <!ELEMENT sub %Inline;> <!-- subscript --> 575 <!ATTLIST sub %attrs;> 576 577 <!ELEMENT sup %Inline;> <!-- superscript --> 578 <!ATTLIST sup %attrs;> 579 580 <!ELEMENT tt %Inline;> <!-- fixed pitch font --> 581 <!ATTLIST tt %attrs;> 582 583 <!ELEMENT i %Inline;> <!-- italic font --> 584 <!ATTLIST i %attrs;> 585 586 <!ELEMENT b %Inline;> <!-- bold font --> 587 <!ATTLIST b %attrs;> 588 589 <!ELEMENT big %Inline;> <!-- bigger font --> 590 <!ATTLIST big %attrs;> 591 592 <!ELEMENT small %Inline;> <!-- smaller font --> 593 <!ATTLIST small %attrs;> 594 595 <!--==================== Object ======================================--> 596 <!-- 597 object is used to embed objects as part of HTML pages. 598 param elements should precede other content. Parameters 599 can also be expressed as attribute/value pairs on the 600 object element itself when brevity is desired. 601 --> 602 603 <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*> 604 <!ATTLIST object 605 %attrs; 606 declare (declare) #IMPLIED 607 classid %URI; #IMPLIED 608 codebase %URI; #IMPLIED 609 data %URI; #IMPLIED 610 type %ContentType; #IMPLIED 611 codetype %ContentType; #IMPLIED 612 archive %UriList; #IMPLIED 613 standby %Text; #IMPLIED 614 height %Length; #IMPLIED 615 width %Length; #IMPLIED 616 usemap %URI; #IMPLIED 617 name NMTOKEN #IMPLIED 618 tabindex %Number; #IMPLIED 619 > 620 621 <!-- 622 param is used to supply a named property value. 623 In XML it would seem natural to follow RDF and support an 624 abbreviated syntax where the param elements are replaced 625 by attribute value pairs on the object start tag. 626 --> 627 <!ELEMENT param EMPTY> 628 <!ATTLIST param 629 id ID #IMPLIED 630 name CDATA #IMPLIED 631 value CDATA #IMPLIED 632 valuetype (data|ref|object) "data" 633 type %ContentType; #IMPLIED 634 > 635 636 <!--=================== Images ===========================================--> 637 638 <!-- 639 To avoid accessibility problems for people who aren't 640 able to see the image, you should provide a text 641 description using the alt and longdesc attributes. 642 In addition, avoid the use of server-side image maps. 643 Note that in this DTD there is no name attribute. That 644 is only available in the transitional and frameset DTD. 645 --> 646 647 <!ELEMENT img EMPTY> 648 <!ATTLIST img 649 %attrs; 650 src %URI; #REQUIRED 651 alt %Text; #REQUIRED 652 longdesc %URI; #IMPLIED 653 height %Length; #IMPLIED 654 width %Length; #IMPLIED 655 usemap %URI; #IMPLIED 656 ismap (ismap) #IMPLIED 657 > 658 659 <!-- usemap points to a map element which may be in this document 660 or an external document, although the latter is not widely supported --> 661 662 <!--================== Client-side image maps ============================--> 663 664 <!-- These can be placed in the same document or grouped in a 665 separate document although this isn't yet widely supported --> 666 667 <!ELEMENT map ((%block; | form | %misc;)+ | area+)> 668 <!ATTLIST map 669 %i18n; 670 %events; 671 id ID #REQUIRED 672 class CDATA #IMPLIED 673 style %StyleSheet; #IMPLIED 674 title %Text; #IMPLIED 675 name NMTOKEN #IMPLIED 676 > 677 678 <!ELEMENT area EMPTY> 679 <!ATTLIST area 680 %attrs; 681 %focus; 682 shape %Shape; "rect" 683 coords %Coords; #IMPLIED 684 href %URI; #IMPLIED 685 nohref (nohref) #IMPLIED 686 alt %Text; #REQUIRED 687 > 688 689 <!--================ Forms ===============================================--> 690 <!ELEMENT form %form.content;> <!-- forms shouldn't be nested --> 691 692 <!ATTLIST form 693 %attrs; 694 action %URI; #REQUIRED 695 method (get|post) "get" 696 enctype %ContentType; "application/x-www-form-urlencoded" 697 onsubmit %Script; #IMPLIED 698 onreset %Script; #IMPLIED 699 accept %ContentTypes; #IMPLIED 700 accept-charset %Charsets; #IMPLIED 701 > 702 703 <!-- 704 Each label must not contain more than ONE field 705 Label elements shouldn't be nested. 706 --> 707 <!ELEMENT label %Inline;> 708 <!ATTLIST label 709 %attrs; 710 for IDREF #IMPLIED 711 accesskey %Character; #IMPLIED 712 onfocus %Script; #IMPLIED 713 onblur %Script; #IMPLIED 714 > 715 716 <!ENTITY % InputType 717 "(text | password | checkbox | 718 radio | submit | reset | 719 file | hidden | image | button)" 720 > 721 722 <!-- the name attribute is required for all but submit & reset --> 723 724 <!ELEMENT input EMPTY> <!-- form control --> 725 <!ATTLIST input 726 %attrs; 727 %focus; 728 type %InputType; "text" 729 name CDATA #IMPLIED 730 value CDATA #IMPLIED 731 checked (checked) #IMPLIED 732 disabled (disabled) #IMPLIED 733 readonly (readonly) #IMPLIED 734 size CDATA #IMPLIED 735 maxlength %Number; #IMPLIED 736 src %URI; #IMPLIED 737 alt CDATA #IMPLIED 738 usemap %URI; #IMPLIED 739 onselect %Script; #IMPLIED 740 onchange %Script; #IMPLIED 741 accept %ContentTypes; #IMPLIED 742 > 743 744 <!ELEMENT select (optgroup|option)+> <!-- option selector --> 745 <!ATTLIST select 746 %attrs; 747 name CDATA #IMPLIED 748 size %Number; #IMPLIED 749 multiple (multiple) #IMPLIED 750 disabled (disabled) #IMPLIED 751 tabindex %Number; #IMPLIED 752 onfocus %Script; #IMPLIED 753 onblur %Script; #IMPLIED 754 onchange %Script; #IMPLIED 755 > 756 757 <!ELEMENT optgroup (option)+> <!-- option group --> 758 <!ATTLIST optgroup 759 %attrs; 760 disabled (disabled) #IMPLIED 761 label %Text; #REQUIRED 762 > 763 764 <!ELEMENT option (#PCDATA)> <!-- selectable choice --> 765 <!ATTLIST option 766 %attrs; 767 selected (selected) #IMPLIED 768 disabled (disabled) #IMPLIED 769 label %Text; #IMPLIED 770 value CDATA #IMPLIED 771 > 772 773 <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field --> 774 <!ATTLIST textarea 775 %attrs; 776 %focus; 777 name CDATA #IMPLIED 778 rows %Number; #REQUIRED 779 cols %Number; #REQUIRED 780 disabled (disabled) #IMPLIED 781 readonly (readonly) #IMPLIED 782 onselect %Script; #IMPLIED 783 onchange %Script; #IMPLIED 784 > 785 786 <!-- 787 The fieldset element is used to group form fields. 788 Only one legend element should occur in the content 789 and if present should only be preceded by whitespace. 790 --> 791 <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*> 792 <!ATTLIST fieldset 793 %attrs; 794 > 795 796 <!ELEMENT legend %Inline;> <!-- fieldset label --> 797 <!ATTLIST legend 798 %attrs; 799 accesskey %Character; #IMPLIED 800 > 801 802 <!-- 803 Content is %Flow; excluding a, form and form controls 804 --> 805 <!ELEMENT button %button.content;> <!-- push button --> 806 <!ATTLIST button 807 %attrs; 808 %focus; 809 name CDATA #IMPLIED 810 value CDATA #IMPLIED 811 type (button|submit|reset) "submit" 812 disabled (disabled) #IMPLIED 813 > 814 815 <!--======================= Tables =======================================--> 816 817 <!-- Derived from IETF HTML table standard, see [RFC1942] --> 818 819 <!-- 820 The border attribute sets the thickness of the frame around the 821 table. The default units are screen pixels. 822 823 The frame attribute specifies which parts of the frame around 824 the table should be rendered. The values are not the same as 825 CALS to avoid a name clash with the valign attribute. 826 --> 827 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> 828 829 <!-- 830 The rules attribute defines which rules to draw between cells: 831 832 If rules is absent then assume: 833 "none" if border is absent or border="0" otherwise "all" 834 --> 835 836 <!ENTITY % TRules "(none | groups | rows | cols | all)"> 837 838 <!-- horizontal alignment attributes for cell contents 839 840 char alignment char, e.g. char=':' 841 charoff offset for alignment char 842 --> 843 <!ENTITY % cellhalign 844 "align (left|center|right|justify|char) #IMPLIED 845 char %Character; #IMPLIED 846 charoff %Length; #IMPLIED" 847 > 848 849 <!-- vertical alignment attributes for cell contents --> 850 <!ENTITY % cellvalign 851 "valign (top|middle|bottom|baseline) #IMPLIED" 852 > 853 854 <!ELEMENT table 855 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> 856 <!ELEMENT caption %Inline;> 857 <!ELEMENT thead (tr)+> 858 <!ELEMENT tfoot (tr)+> 859 <!ELEMENT tbody (tr)+> 860 <!ELEMENT colgroup (col)*> 861 <!ELEMENT col EMPTY> 862 <!ELEMENT tr (th|td)+> 863 <!ELEMENT th %Flow;> 864 <!ELEMENT td %Flow;> 865 866 <!ATTLIST table 867 %attrs; 868 summary %Text; #IMPLIED 869 width %Length; #IMPLIED 870 border %Pixels; #IMPLIED 871 frame %TFrame; #IMPLIED 872 rules %TRules; #IMPLIED 873 cellspacing %Length; #IMPLIED 874 cellpadding %Length; #IMPLIED 875 > 876 877 <!ATTLIST caption 878 %attrs; 879 > 880 881 <!-- 882 colgroup groups a set of col elements. It allows you to group 883 several semantically related columns together. 884 --> 885 <!ATTLIST colgroup 886 %attrs; 887 span %Number; "1" 888 width %MultiLength; #IMPLIED 889 %cellhalign; 890 %cellvalign; 891 > 892 893 <!-- 894 col elements define the alignment properties for cells in 895 one or more columns. 896 897 The width attribute specifies the width of the columns, e.g. 898 899 width=64 width in screen pixels 900 width=0.5* relative width of 0.5 901 902 The span attribute causes the attributes of one 903 col element to apply to more than one column. 904 --> 905 <!ATTLIST col 906 %attrs; 907 span %Number; "1" 908 width %MultiLength; #IMPLIED 909 %cellhalign; 910 %cellvalign; 911 > 912 913 <!-- 914 Use thead to duplicate headers when breaking table 915 across page boundaries, or for static headers when 916 tbody sections are rendered in scrolling panel. 917 918 Use tfoot to duplicate footers when breaking table 919 across page boundaries, or for static footers when 920 tbody sections are rendered in scrolling panel. 921 922 Use multiple tbody sections when rules are needed 923 between groups of table rows. 924 --> 925 <!ATTLIST thead 926 %attrs; 927 %cellhalign; 928 %cellvalign; 929 > 930 931 <!ATTLIST tfoot 932 %attrs; 933 %cellhalign; 934 %cellvalign; 935 > 936 937 <!ATTLIST tbody 938 %attrs; 939 %cellhalign; 940 %cellvalign; 941 > 942 943 <!ATTLIST tr 944 %attrs; 945 %cellhalign; 946 %cellvalign; 947 > 948 949 950 <!-- Scope is simpler than headers attribute for common tables --> 951 <!ENTITY % Scope "(row|col|rowgroup|colgroup)"> 952 953 <!-- th is for headers, td for data and for cells acting as both --> 954 955 <!ATTLIST th 956 %attrs; 957 abbr %Text; #IMPLIED 958 axis CDATA #IMPLIED 959 headers IDREFS #IMPLIED 960 scope %Scope; #IMPLIED 961 rowspan %Number; "1" 962 colspan %Number; "1" 963 %cellhalign; 964 %cellvalign; 965 > 966 967 <!ATTLIST td 968 %attrs; 969 abbr %Text; #IMPLIED 970 axis CDATA #IMPLIED 971 headers IDREFS #IMPLIED 972 scope %Scope; #IMPLIED 973 rowspan %Number; "1" 974 colspan %Number; "1" 975 %cellhalign; 976 %cellvalign; 977 > 978 979