Annotation of embedaddon/libxml2/test/valid/dtds/xhtml1-strict.dtd, revision 1.1
1.1 ! misho 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: <!--
! 890: colgroup groups a set of col elements. It allows you to group
! 891: several 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:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>