File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / test / valid / dtds / xhtml1-transitional.dtd
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:38:00 2012 UTC (12 years, 5 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, v2_8_0p0, v2_8_0, v2_7_8, HEAD
libxml2

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>