File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / test / valid / dtds / xhtml1-frameset.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, 6 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 Frameset DTD
    3: 
    4:    This is the same as HTML 4.0 Frameset 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 Frameset//EN"
   17:    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.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">
  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, frameset)>
  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: <!-- only one noframes element permitted per document -->
  365: 
  366: <!ELEMENT frameset (frameset|frame|noframes)*>
  367: <!ATTLIST frameset
  368:   %coreattrs;
  369:   rows        %MultiLengths; #IMPLIED
  370:   cols        %MultiLengths; #IMPLIED
  371:   onload      %Script;       #IMPLIED
  372:   onunload    %Script;       #IMPLIED
  373:   >
  374: 
  375: <!-- reserved frame names start with "_" otherwise starts with letter -->
  376: 
  377: <!-- tiled window within frameset -->
  378: 
  379: <!ELEMENT frame EMPTY>
  380: <!ATTLIST frame
  381:   %coreattrs;
  382:   longdesc    %URI;          #IMPLIED
  383:   name        NMTOKEN        #IMPLIED
  384:   src         %URI;          #IMPLIED
  385:   frameborder (1|0)          "1"
  386:   marginwidth %Pixels;       #IMPLIED
  387:   marginheight %Pixels;      #IMPLIED
  388:   noresize    (noresize)     #IMPLIED
  389:   scrolling   (yes|no|auto)  "auto"
  390:   >
  391: 
  392: <!-- inline subwindow -->
  393: 
  394: <!ELEMENT iframe %Flow;>
  395: <!ATTLIST iframe
  396:   %coreattrs;
  397:   longdesc    %URI;          #IMPLIED
  398:   name        NMTOKEN        #IMPLIED
  399:   src         %URI;          #IMPLIED
  400:   frameborder (1|0)          "1"
  401:   marginwidth %Pixels;       #IMPLIED
  402:   marginheight %Pixels;      #IMPLIED
  403:   scrolling   (yes|no|auto)  "auto"
  404:   align       %ImgAlign;     #IMPLIED
  405:   height      %Length;       #IMPLIED
  406:   width       %Length;       #IMPLIED
  407:   >
  408: 
  409: <!-- alternate content container for non frame-based rendering -->
  410: 
  411: <!ELEMENT noframes (body)>
  412: <!ATTLIST noframes
  413:   %attrs;
  414:   >
  415: 
  416: <!--=================== Document Body ====================================-->
  417: 
  418: <!ELEMENT body %Flow;>
  419: <!ATTLIST body
  420:   %attrs;
  421:   onload      %Script;       #IMPLIED
  422:   onunload    %Script;       #IMPLIED
  423:   background  %URI;          #IMPLIED
  424:   bgcolor     %Color;        #IMPLIED
  425:   text        %Color;        #IMPLIED
  426:   link        %Color;        #IMPLIED
  427:   vlink       %Color;        #IMPLIED
  428:   alink       %Color;        #IMPLIED
  429:   >
  430: 
  431: <!ELEMENT div %Flow;>  <!-- generic language/style container -->
  432: <!ATTLIST div
  433:   %attrs;
  434:   %TextAlign;
  435:   >
  436: 
  437: <!--=================== Paragraphs =======================================-->
  438: 
  439: <!ELEMENT p %Inline;>
  440: <!ATTLIST p
  441:   %attrs;
  442:   %TextAlign;
  443:   >
  444: 
  445: <!--=================== Headings =========================================-->
  446: 
  447: <!--
  448:   There are six levels of headings from h1 (the most important)
  449:   to h6 (the least important).
  450: -->
  451: 
  452: <!ELEMENT h1  %Inline;>
  453: <!ATTLIST h1
  454:   %attrs;
  455:   %TextAlign;
  456:   >
  457: 
  458: <!ELEMENT h2 %Inline;>
  459: <!ATTLIST h2
  460:   %attrs;
  461:   %TextAlign;
  462:   >
  463: 
  464: <!ELEMENT h3 %Inline;>
  465: <!ATTLIST h3
  466:   %attrs;
  467:   %TextAlign;
  468:   >
  469: 
  470: <!ELEMENT h4 %Inline;>
  471: <!ATTLIST h4
  472:   %attrs;
  473:   %TextAlign;
  474:   >
  475: 
  476: <!ELEMENT h5 %Inline;>
  477: <!ATTLIST h5
  478:   %attrs;
  479:   %TextAlign;
  480:   >
  481: 
  482: <!ELEMENT h6 %Inline;>
  483: <!ATTLIST h6
  484:   %attrs;
  485:   %TextAlign;
  486:   >
  487: 
  488: <!--=================== Lists ============================================-->
  489: 
  490: <!-- Unordered list bullet styles -->
  491: 
  492: <!ENTITY % ULStyle "(disc|square|circle)">
  493: 
  494: <!-- Unordered list -->
  495: 
  496: <!ELEMENT ul (li)+>
  497: <!ATTLIST ul
  498:   %attrs;
  499:   type        %ULStyle;     #IMPLIED
  500:   compact     (compact)     #IMPLIED
  501:   >
  502: 
  503: <!-- Ordered list numbering style
  504: 
  505:     1   arabic numbers      1, 2, 3, ...
  506:     a   lower alpha         a, b, c, ...
  507:     A   upper alpha         A, B, C, ...
  508:     i   lower roman         i, ii, iii, ...
  509:     I   upper roman         I, II, III, ...
  510: 
  511:     The style is applied to the sequence number which by default
  512:     is reset to 1 for the first list item in an ordered list.
  513: -->
  514: <!ENTITY % OLStyle "CDATA">
  515: 
  516: <!-- Ordered (numbered) list -->
  517: 
  518: <!ELEMENT ol (li)+>
  519: <!ATTLIST ol
  520:   %attrs;
  521:   type        %OLStyle;      #IMPLIED
  522:   compact     (compact)      #IMPLIED
  523:   start       %Number;       #IMPLIED
  524:   >
  525: 
  526: <!-- single column list (DEPRECATED) --> 
  527: <!ELEMENT menu (li)+>
  528: <!ATTLIST menu
  529:   %attrs;
  530:   compact     (compact)     #IMPLIED
  531:   >
  532: 
  533: <!-- multiple column list (DEPRECATED) --> 
  534: <!ELEMENT dir (li)+>
  535: <!ATTLIST dir
  536:   %attrs;
  537:   compact     (compact)     #IMPLIED
  538:   >
  539: 
  540: <!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
  541: <!ENTITY % LIStyle "CDATA">
  542: 
  543: <!-- list item -->
  544: 
  545: <!ELEMENT li %Flow;>
  546: <!ATTLIST li
  547:   %attrs;
  548:   type        %LIStyle;      #IMPLIED
  549:   value       %Number;       #IMPLIED
  550:   >
  551: 
  552: <!-- definition lists - dt for term, dd for its definition -->
  553: 
  554: <!ELEMENT dl (dt|dd)+>
  555: <!ATTLIST dl
  556:   %attrs;
  557:   compact     (compact)      #IMPLIED
  558:   >
  559: 
  560: <!ELEMENT dt %Inline;>
  561: <!ATTLIST dt
  562:   %attrs;
  563:   >
  564: 
  565: <!ELEMENT dd %Flow;>
  566: <!ATTLIST dd
  567:   %attrs;
  568:   >
  569: 
  570: <!--=================== Address ==========================================-->
  571: 
  572: <!-- information on author -->
  573: 
  574: <!ELEMENT address %Inline;>
  575: <!ATTLIST address
  576:   %attrs;
  577:   >
  578: 
  579: <!--=================== Horizontal Rule ==================================-->
  580: 
  581: <!ELEMENT hr EMPTY>
  582: <!ATTLIST hr
  583:   %attrs;
  584:   align       (left|center|right) #IMPLIED
  585:   noshade     (noshade)      #IMPLIED
  586:   size        %Pixels;       #IMPLIED
  587:   width       %Length;       #IMPLIED
  588:   >
  589: 
  590: <!--=================== Preformatted Text ================================-->
  591: 
  592: <!-- content is %Inline; excluding 
  593:         "img|object|applet|big|small|sub|sup|font|basefont" -->
  594: 
  595: <!ELEMENT pre %pre.content;>
  596: <!ATTLIST pre
  597:   %attrs;
  598:   width       %Number;      #IMPLIED
  599:   xml:space   (preserve)    #FIXED 'preserve'
  600:   >
  601: 
  602: <!--=================== Block-like Quotes ================================-->
  603: 
  604: <!ELEMENT blockquote %Flow;>
  605: <!ATTLIST blockquote
  606:   %attrs;
  607:   cite        %URI;          #IMPLIED
  608:   >
  609: 
  610: <!--=================== Text alignment ===================================-->
  611: 
  612: <!-- center content -->
  613: <!ELEMENT center %Flow;>
  614: <!ATTLIST center
  615:   %attrs;
  616:   >
  617: 
  618: <!--=================== Inserted/Deleted Text ============================-->
  619: 
  620: 
  621: <!--
  622:   ins/del are allowed in block and inline content, but its
  623:   inappropriate to include block content within an ins element
  624:   occurring in inline content.
  625: -->
  626: <!ELEMENT ins %Flow;>
  627: <!ATTLIST ins
  628:   %attrs;
  629:   cite        %URI;          #IMPLIED
  630:   datetime    %Datetime;     #IMPLIED
  631:   >
  632: 
  633: <!ELEMENT del %Flow;>
  634: <!ATTLIST del
  635:   %attrs;
  636:   cite        %URI;          #IMPLIED
  637:   datetime    %Datetime;     #IMPLIED
  638:   >
  639: 
  640: <!--================== The Anchor Element ================================-->
  641: 
  642: <!-- content is %Inline; except that anchors shouldn't be nested -->
  643: 
  644: <!ELEMENT a %a.content;>
  645: <!ATTLIST a
  646:   %attrs;
  647:   charset     %Charset;      #IMPLIED
  648:   type        %ContentType;  #IMPLIED
  649:   name        NMTOKEN        #IMPLIED
  650:   href        %URI;          #IMPLIED
  651:   hreflang    %LanguageCode; #IMPLIED
  652:   rel         %LinkTypes;    #IMPLIED
  653:   rev         %LinkTypes;    #IMPLIED
  654:   accesskey   %Character;    #IMPLIED
  655:   shape       %Shape;        "rect"
  656:   coords      %Coords;       #IMPLIED
  657:   tabindex    %Number;       #IMPLIED
  658:   onfocus     %Script;       #IMPLIED
  659:   onblur      %Script;       #IMPLIED
  660:   target      %FrameTarget;  #IMPLIED
  661:   >
  662: 
  663: <!--===================== Inline Elements ================================-->
  664: 
  665: <!ELEMENT span %Inline;> <!-- generic language/style container -->
  666: <!ATTLIST span
  667:   %attrs;
  668:   >
  669: 
  670: <!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
  671: <!ATTLIST bdo
  672:   %coreattrs;
  673:   %events;
  674:   lang        %LanguageCode; #IMPLIED
  675:   xml:lang    %LanguageCode; #IMPLIED
  676:   dir         (ltr|rtl)      #REQUIRED
  677:   >
  678: 
  679: <!ELEMENT br EMPTY>   <!-- forced line break -->
  680: <!ATTLIST br
  681:   %coreattrs;
  682:   clear       (left|all|right|none) "none"
  683:   >
  684: 
  685: <!ELEMENT em %Inline;>   <!-- emphasis -->
  686: <!ATTLIST em %attrs;>
  687: 
  688: <!ELEMENT strong %Inline;>   <!-- strong emphasis -->
  689: <!ATTLIST strong %attrs;>
  690: 
  691: <!ELEMENT dfn %Inline;>   <!-- definitional -->
  692: <!ATTLIST dfn %attrs;>
  693: 
  694: <!ELEMENT code %Inline;>   <!-- program code -->
  695: <!ATTLIST code %attrs;>
  696: 
  697: <!ELEMENT samp %Inline;>   <!-- sample -->
  698: <!ATTLIST samp %attrs;>
  699: 
  700: <!ELEMENT kbd %Inline;>  <!-- something user would type -->
  701: <!ATTLIST kbd %attrs;>
  702: 
  703: <!ELEMENT var %Inline;>   <!-- variable -->
  704: <!ATTLIST var %attrs;>
  705: 
  706: <!ELEMENT cite %Inline;>   <!-- citation -->
  707: <!ATTLIST cite %attrs;>
  708: 
  709: <!ELEMENT abbr %Inline;>   <!-- abbreviation -->
  710: <!ATTLIST abbr %attrs;>
  711: 
  712: <!ELEMENT acronym %Inline;>   <!-- acronym -->
  713: <!ATTLIST acronym %attrs;>
  714: 
  715: <!ELEMENT q %Inline;>   <!-- inlined quote -->
  716: <!ATTLIST q
  717:    %attrs;
  718:   cite        %URI;          #IMPLIED
  719:    >
  720: 
  721: <!ELEMENT sub %Inline;> <!-- subscript -->
  722: <!ATTLIST sub %attrs;>
  723: 
  724: <!ELEMENT sup %Inline;> <!-- superscript -->
  725: <!ATTLIST sup %attrs;>
  726: 
  727: <!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
  728: <!ATTLIST tt %attrs;>
  729: 
  730: <!ELEMENT i %Inline;>   <!-- italic font -->
  731: <!ATTLIST i %attrs;>
  732: 
  733: <!ELEMENT b %Inline;>   <!-- bold font -->
  734: <!ATTLIST b %attrs;>
  735: 
  736: <!ELEMENT big %Inline;>   <!-- bigger font -->
  737: <!ATTLIST big %attrs;>
  738: 
  739: <!ELEMENT small %Inline;>   <!-- smaller font -->
  740: <!ATTLIST small %attrs;>
  741: 
  742: <!ELEMENT u %Inline;>   <!-- underline -->
  743: <!ATTLIST u %attrs;>
  744: 
  745: <!ELEMENT s %Inline;>   <!-- strike-through -->
  746: <!ATTLIST s %attrs;>
  747: 
  748: <!ELEMENT strike %Inline;>   <!-- strike-through -->
  749: <!ATTLIST strike %attrs;>
  750: 
  751: <!ELEMENT basefont EMPTY>  <!-- base font size -->
  752: <!ATTLIST basefont
  753:   id          ID             #IMPLIED
  754:   size        CDATA          #REQUIRED
  755:   color       %Color;        #IMPLIED
  756:   face        CDATA          #IMPLIED
  757:   >
  758: 
  759: <!ELEMENT font %Inline;> <!-- local change to font -->
  760: <!ATTLIST font
  761:   %coreattrs;
  762:   %i18n;
  763:   size        CDATA          #IMPLIED
  764:   color       %Color;        #IMPLIED
  765:   face        CDATA          #IMPLIED
  766:   >
  767: 
  768: <!--==================== Object ======================================-->
  769: <!--
  770:   object is used to embed objects as part of HTML pages.
  771:   param elements should precede other content. Parameters
  772:   can also be expressed as attribute/value pairs on the
  773:   object element itself when brevity is desired.
  774: -->
  775: 
  776: <!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
  777: <!ATTLIST object
  778:   %attrs;
  779:   declare     (declare)      #IMPLIED
  780:   classid     %URI;          #IMPLIED
  781:   codebase    %URI;          #IMPLIED
  782:   data        %URI;          #IMPLIED
  783:   type        %ContentType;  #IMPLIED
  784:   codetype    %ContentType;  #IMPLIED
  785:   archive     %UriList;      #IMPLIED
  786:   standby     %Text;         #IMPLIED
  787:   height      %Length;       #IMPLIED
  788:   width       %Length;       #IMPLIED
  789:   usemap      %URI;          #IMPLIED
  790:   name        NMTOKEN        #IMPLIED
  791:   tabindex    %Number;       #IMPLIED
  792:   align       %ImgAlign;     #IMPLIED
  793:   border      %Pixels;       #IMPLIED
  794:   hspace      %Pixels;       #IMPLIED
  795:   vspace      %Pixels;       #IMPLIED
  796:   >
  797: 
  798: <!--
  799:   param is used to supply a named property value.
  800:   In XML it would seem natural to follow RDF and support an
  801:   abbreviated syntax where the param elements are replaced
  802:   by attribute value pairs on the object start tag.
  803: -->
  804: <!ELEMENT param EMPTY>
  805: <!ATTLIST param
  806:   id          ID             #IMPLIED
  807:   name        CDATA          #REQUIRED
  808:   value       CDATA          #IMPLIED
  809:   valuetype   (data|ref|object) "data"
  810:   type        %ContentType;  #IMPLIED
  811:   >
  812: 
  813: <!--=================== Java applet ==================================-->
  814: <!--
  815:   One of code or object attributes must be present.
  816:   Place param elements before other content.
  817: -->
  818: <!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
  819: <!ATTLIST applet
  820:   %coreattrs;
  821:   codebase    %URI;          #IMPLIED
  822:   archive     CDATA          #IMPLIED
  823:   code        CDATA          #IMPLIED
  824:   object      CDATA          #IMPLIED
  825:   alt         %Text;         #IMPLIED
  826:   name        NMTOKEN        #IMPLIED
  827:   width       %Length;       #REQUIRED
  828:   height      %Length;       #REQUIRED
  829:   align       %ImgAlign;     #IMPLIED
  830:   hspace      %Pixels;       #IMPLIED
  831:   vspace      %Pixels;       #IMPLIED
  832:   >
  833: 
  834: <!--=================== Images ===========================================-->
  835: 
  836: <!--
  837:    To avoid accessibility problems for people who aren't
  838:    able to see the image, you should provide a text
  839:    description using the alt and longdesc attributes.
  840:    In addition, avoid the use of server-side image maps.
  841: -->
  842: 
  843: <!ELEMENT img EMPTY>
  844: <!ATTLIST img
  845:   %attrs;
  846:   src         %URI;          #REQUIRED
  847:   alt         %Text;         #REQUIRED
  848:   name        NMTOKEN        #IMPLIED
  849:   longdesc    %URI;          #IMPLIED
  850:   height      %Length;       #IMPLIED
  851:   width       %Length;       #IMPLIED
  852:   usemap      %URI;          #IMPLIED
  853:   ismap       (ismap)        #IMPLIED
  854:   align       %ImgAlign;     #IMPLIED
  855:   border      %Pixels;       #IMPLIED
  856:   hspace      %Pixels;       #IMPLIED
  857:   vspace      %Pixels;       #IMPLIED
  858:   >
  859: 
  860: <!-- usemap points to a map element which may be in this document
  861:   or an external document, although the latter is not widely supported -->
  862: 
  863: <!--================== Client-side image maps ============================-->
  864: 
  865: <!-- These can be placed in the same document or grouped in a
  866:      separate document although this isn't yet widely supported -->
  867: 
  868: <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
  869: <!ATTLIST map
  870:   %i18n;
  871:   %events;
  872:   id          ID             #REQUIRED
  873:   class       CDATA          #IMPLIED
  874:   style       %StyleSheet;   #IMPLIED
  875:   title       %Text;         #IMPLIED
  876:   name        NMTOKEN        #IMPLIED
  877:   >
  878: 
  879: <!ELEMENT area EMPTY>
  880: <!ATTLIST area
  881:   %attrs;
  882:   shape       %Shape;        "rect"
  883:   coords      %Coords;       #IMPLIED
  884:   href        %URI;          #IMPLIED
  885:   nohref      (nohref)       #IMPLIED
  886:   alt         %Text;         #REQUIRED
  887:   tabindex    %Number;       #IMPLIED
  888:   accesskey   %Character;    #IMPLIED
  889:   onfocus     %Script;       #IMPLIED
  890:   onblur      %Script;       #IMPLIED
  891:   target      %FrameTarget;  #IMPLIED
  892:   >
  893: 
  894: <!--================ Forms ===============================================-->
  895: 
  896: <!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
  897: 
  898: <!ATTLIST form
  899:   %attrs;
  900:   action      %URI;          #REQUIRED
  901:   method      (get|post)     "get"
  902:   name        NMTOKEN        #IMPLIED
  903:   enctype     %ContentType;  "application/x-www-form-urlencoded"
  904:   onsubmit    %Script;       #IMPLIED
  905:   onreset     %Script;       #IMPLIED
  906:   accept      %ContentTypes; #IMPLIED
  907:   accept-charset %Charsets;  #IMPLIED
  908:   target      %FrameTarget;  #IMPLIED
  909:   >
  910: 
  911: <!--
  912:   Each label must not contain more than ONE field
  913:   Label elements shouldn't be nested.
  914: -->
  915: <!ELEMENT label %Inline;>
  916: <!ATTLIST label
  917:   %attrs;
  918:   for         IDREF          #IMPLIED
  919:   accesskey   %Character;    #IMPLIED
  920:   onfocus     %Script;       #IMPLIED
  921:   onblur      %Script;       #IMPLIED
  922:   >
  923: 
  924: <!ENTITY % InputType
  925:   "(text | password | checkbox |
  926:     radio | submit | reset |
  927:     file | hidden | image | button)"
  928:    >
  929: 
  930: <!-- the name attribute is required for all but submit & reset -->
  931: 
  932: <!ELEMENT input EMPTY>     <!-- form control -->
  933: <!ATTLIST input
  934:   %attrs;
  935:   type        %InputType;    "text"
  936:   name        CDATA          #IMPLIED
  937:   value       CDATA          #IMPLIED
  938:   checked     (checked)      #IMPLIED
  939:   disabled    (disabled)     #IMPLIED
  940:   readonly    (readonly)     #IMPLIED
  941:   size        CDATA          #IMPLIED
  942:   maxlength   %Number;       #IMPLIED
  943:   src         %URI;          #IMPLIED
  944:   alt         CDATA          #IMPLIED
  945:   usemap      %URI;          #IMPLIED
  946:   tabindex    %Number;       #IMPLIED
  947:   accesskey   %Character;    #IMPLIED
  948:   onfocus     %Script;       #IMPLIED
  949:   onblur      %Script;       #IMPLIED
  950:   onselect    %Script;       #IMPLIED
  951:   onchange    %Script;       #IMPLIED
  952:   accept      %ContentTypes; #IMPLIED
  953:   align       %ImgAlign;     #IMPLIED
  954:   >
  955: 
  956: <!ELEMENT select (optgroup|option)+>  <!-- option selector -->
  957: <!ATTLIST select
  958:   %attrs;
  959:   name        CDATA          #IMPLIED
  960:   size        %Number;       #IMPLIED
  961:   multiple    (multiple)     #IMPLIED
  962:   disabled    (disabled)     #IMPLIED
  963:   tabindex    %Number;       #IMPLIED
  964:   onfocus     %Script;       #IMPLIED
  965:   onblur      %Script;       #IMPLIED
  966:   onchange    %Script;       #IMPLIED
  967:   >
  968: 
  969: <!ELEMENT optgroup (option)+>   <!-- option group -->
  970: <!ATTLIST optgroup
  971:   %attrs;
  972:   disabled    (disabled)     #IMPLIED
  973:   label       %Text;         #REQUIRED
  974:   >
  975: 
  976: <!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
  977: <!ATTLIST option
  978:   %attrs;
  979:   selected    (selected)     #IMPLIED
  980:   disabled    (disabled)     #IMPLIED
  981:   label       %Text;         #IMPLIED
  982:   value       CDATA          #IMPLIED
  983:   >
  984: 
  985: <!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
  986: <!ATTLIST textarea
  987:   %attrs;
  988:   name        CDATA          #IMPLIED
  989:   rows        %Number;       #REQUIRED
  990:   cols        %Number;       #REQUIRED
  991:   disabled    (disabled)     #IMPLIED
  992:   readonly    (readonly)     #IMPLIED
  993:   tabindex    %Number;       #IMPLIED
  994:   accesskey   %Character;    #IMPLIED
  995:   onfocus     %Script;       #IMPLIED
  996:   onblur      %Script;       #IMPLIED
  997:   onselect    %Script;       #IMPLIED
  998:   onchange    %Script;       #IMPLIED
  999:   >
 1000: 
 1001: <!--
 1002:   The fieldset element is used to group form fields.
 1003:   Only one legend element should occur in the content
 1004:   and if present should only be preceded by whitespace.
 1005: -->
 1006: <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
 1007: <!ATTLIST fieldset
 1008:   %attrs;
 1009:   >
 1010: 
 1011: <!ENTITY % LAlign "(top|bottom|left|right)">
 1012: 
 1013: <!ELEMENT legend %Inline;>     <!-- fieldset label -->
 1014: <!ATTLIST legend
 1015:   %attrs;
 1016:   accesskey   %Character;    #IMPLIED
 1017:   align       %LAlign;       #IMPLIED
 1018:   >
 1019: 
 1020: <!--
 1021:  Content is %Flow; excluding a, form, form controls, iframe
 1022: --> 
 1023: <!ELEMENT button %button.content;>  <!-- push button -->
 1024: <!ATTLIST button
 1025:   %attrs;
 1026:   name        CDATA          #IMPLIED
 1027:   value       CDATA          #IMPLIED
 1028:   type        (button|submit|reset) "submit"
 1029:   disabled    (disabled)     #IMPLIED
 1030:   tabindex    %Number;       #IMPLIED
 1031:   accesskey   %Character;    #IMPLIED
 1032:   onfocus     %Script;       #IMPLIED
 1033:   onblur      %Script;       #IMPLIED
 1034:   >
 1035: 
 1036: <!-- single-line text input control (DEPRECATED) -->
 1037: <!ELEMENT isindex EMPTY>
 1038: <!ATTLIST isindex
 1039:   %coreattrs;
 1040:   %i18n;
 1041:   prompt      %Text;         #IMPLIED
 1042:   >
 1043: 
 1044: <!--======================= Tables =======================================-->
 1045: 
 1046: <!-- Derived from IETF HTML table standard, see [RFC1942] -->
 1047: 
 1048: <!--
 1049:  The border attribute sets the thickness of the frame around the
 1050:  table. The default units are screen pixels.
 1051: 
 1052:  The frame attribute specifies which parts of the frame around
 1053:  the table should be rendered. The values are not the same as
 1054:  CALS to avoid a name clash with the valign attribute.
 1055: -->
 1056: <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
 1057: 
 1058: <!--
 1059:  The rules attribute defines which rules to draw between cells:
 1060: 
 1061:  If rules is absent then assume:
 1062:      "none" if border is absent or border="0" otherwise "all"
 1063: -->
 1064: 
 1065: <!ENTITY % TRules "(none | groups | rows | cols | all)">
 1066:   
 1067: <!-- horizontal placement of table relative to document -->
 1068: <!ENTITY % TAlign "(left|center|right)">
 1069: 
 1070: <!-- horizontal alignment attributes for cell contents
 1071: 
 1072:   char        alignment char, e.g. char=":"
 1073:   charoff     offset for alignment char
 1074: -->
 1075: <!ENTITY % cellhalign
 1076:   "align      (left|center|right|justify|char) #IMPLIED
 1077:    char       %Character;    #IMPLIED
 1078:    charoff    %Length;       #IMPLIED"
 1079:   >
 1080: 
 1081: <!-- vertical alignment attributes for cell contents -->
 1082: <!ENTITY % cellvalign
 1083:   "valign     (top|middle|bottom|baseline) #IMPLIED"
 1084:   >
 1085: 
 1086: <!ELEMENT table
 1087:      (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
 1088: <!ELEMENT caption  %Inline;>
 1089: <!ELEMENT thead    (tr)+>
 1090: <!ELEMENT tfoot    (tr)+>
 1091: <!ELEMENT tbody    (tr)+>
 1092: <!ELEMENT colgroup (col)*>
 1093: <!ELEMENT col      EMPTY>
 1094: <!ELEMENT tr       (th|td)+>
 1095: <!ELEMENT th       %Flow;>
 1096: <!ELEMENT td       %Flow;>
 1097: 
 1098: <!ATTLIST table
 1099:   %attrs;
 1100:   summary     %Text;         #IMPLIED
 1101:   width       %Length;       #IMPLIED
 1102:   border      %Pixels;       #IMPLIED
 1103:   frame       %TFrame;       #IMPLIED
 1104:   rules       %TRules;       #IMPLIED
 1105:   cellspacing %Length;       #IMPLIED
 1106:   cellpadding %Length;       #IMPLIED
 1107:   align       %TAlign;       #IMPLIED
 1108:   bgcolor     %Color;        #IMPLIED
 1109:   >
 1110: 
 1111: <!ENTITY % CAlign "(top|bottom|left|right)">
 1112: 
 1113: <!ATTLIST caption
 1114:   %attrs;
 1115:   align       %CAlign;       #IMPLIED
 1116:   >
 1117: 
 1118: <!--
 1119: colgroup groups a set of col elements. It allows you to group
 1120: several semantically related columns together.
 1121: -->
 1122: <!ATTLIST colgroup
 1123:   %attrs;
 1124:   span        %Number;       "1"
 1125:   width       %MultiLength;  #IMPLIED
 1126:   %cellhalign;
 1127:   %cellvalign;
 1128:   >
 1129: 
 1130: <!--
 1131:  col elements define the alignment properties for cells in
 1132:  one or more columns.
 1133: 
 1134:  The width attribute specifies the width of the columns, e.g.
 1135: 
 1136:      width=64        width in screen pixels
 1137:      width=0.5*      relative width of 0.5
 1138: 
 1139:  The span attribute causes the attributes of one
 1140:  col element to apply to more than one column.
 1141: -->
 1142: <!ATTLIST col
 1143:   %attrs;
 1144:   span        %Number;       "1"
 1145:   width       %MultiLength;  #IMPLIED
 1146:   %cellhalign;
 1147:   %cellvalign;
 1148:   >
 1149: 
 1150: <!--
 1151:     Use thead to duplicate headers when breaking table
 1152:     across page boundaries, or for static headers when
 1153:     tbody sections are rendered in scrolling panel.
 1154: 
 1155:     Use tfoot to duplicate footers when breaking table
 1156:     across page boundaries, or for static footers when
 1157:     tbody sections are rendered in scrolling panel.
 1158: 
 1159:     Use multiple tbody sections when rules are needed
 1160:     between groups of table rows.
 1161: -->
 1162: <!ATTLIST thead
 1163:   %attrs;
 1164:   %cellhalign;
 1165:   %cellvalign;
 1166:   >
 1167: 
 1168: <!ATTLIST tfoot
 1169:   %attrs;
 1170:   %cellhalign;
 1171:   %cellvalign;
 1172:   >
 1173: 
 1174: <!ATTLIST tbody
 1175:   %attrs;
 1176:   %cellhalign;
 1177:   %cellvalign;
 1178:   >
 1179: 
 1180: <!ATTLIST tr
 1181:   %attrs;
 1182:   %cellhalign;
 1183:   %cellvalign;
 1184:   bgcolor     %Color;        #IMPLIED
 1185:   >
 1186: 
 1187: <!-- Scope is simpler than headers attribute for common tables -->
 1188: <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
 1189: 
 1190: <!-- th is for headers, td for data and for cells acting as both -->
 1191: 
 1192: <!ATTLIST th
 1193:   %attrs;
 1194:   abbr        %Text;         #IMPLIED
 1195:   axis        CDATA          #IMPLIED
 1196:   headers     IDREFS         #IMPLIED
 1197:   scope       %Scope;        #IMPLIED
 1198:   rowspan     %Number;       "1"
 1199:   colspan     %Number;       "1"
 1200:   %cellhalign;
 1201:   %cellvalign;
 1202:   nowrap      (nowrap)       #IMPLIED
 1203:   bgcolor     %Color;        #IMPLIED
 1204:   width       %Pixels;       #IMPLIED
 1205:   height      %Pixels;       #IMPLIED
 1206:   >
 1207: 
 1208: <!ATTLIST td
 1209:   %attrs;
 1210:   abbr        %Text;         #IMPLIED
 1211:   axis        CDATA          #IMPLIED
 1212:   headers     IDREFS         #IMPLIED
 1213:   scope       %Scope;        #IMPLIED
 1214:   rowspan     %Number;       "1"
 1215:   colspan     %Number;       "1"
 1216:   %cellhalign;
 1217:   %cellvalign;
 1218:   nowrap      (nowrap)       #IMPLIED
 1219:   bgcolor     %Color;        #IMPLIED
 1220:   width       %Pixels;       #IMPLIED
 1221:   height      %Pixels;       #IMPLIED
 1222:   >
 1223: 

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