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