Annotation of embedaddon/libxml2/test/valid/dtds/xhtml1-strict.dtd, revision 1.1.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>