home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 April / VPR0004A.BIN / OLS / HTMLLINT / htmllint.lzh / mozilla.dtd < prev    next >
Text File  |  1999-11-03  |  32KB  |  992 lines

  1. <!--============ HTML Document Type Definition Mozilla 2.0 ================-->
  2.  
  3. <!--                  THIS IS EXPERIMENTAL by k16                          -->
  4.  
  5. <!--=================== Mozilla Version Control ===========================-->
  6.  
  7. <!ENTITY % MOZILLA.40 "IGNORE">
  8. <!ENTITY % MOZILLA.30 "IGNORE">
  9.  
  10. <!--================== Deprecated Features Switch =========================-->
  11.  
  12. <!ENTITY % HTML.Deprecated "INCLUDE">
  13.  
  14. <!--================== Imported Names =====================================-->
  15.  
  16. <!ENTITY % Content-Type "CDATA"
  17.         -- meaning a MIME content type, as per RFC1521
  18.         -->
  19.  
  20. <!ENTITY % HTTP-Method "GET | POST"
  21.         -- as per HTTP specification
  22.         -->
  23.  
  24. <!ENTITY % MIMEType "CDATA">
  25.  
  26. <!ENTITY % URL "CDATA"
  27.         -- The term URL means a CDATA attribute
  28.            whose value is a Uniform Resource Locator,
  29.            See RFC1808 (June 95) and RFC1738 (Dec 94).
  30.         -->
  31.  
  32. <!ENTITY % URLwithName "CDATA" -- URL#Name -->
  33.  
  34. <!-- Parameter Entities -->
  35.  
  36. <![ %MOZILLA.40 [
  37. <!ENTITY % head.misc "SCRIPT|SERVER|STYLE|META|LINK">
  38. ]]>
  39. <!ENTITY % head.misc "SCRIPT|SERVER|META|LINK" -- repeatable head elements -->
  40.  
  41. <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
  42.  
  43. <!ENTITY % list "UL|OL|DIR|MENU">
  44.  
  45. <!ENTITY % preformatted "PRE|XMP">
  46.  
  47. <!ENTITY % Script "CDATA">
  48. <!ENTITY % StyleSheet "CDATA">
  49.  
  50. <!--================ Character mnemonic entities ==========================-->
  51.  
  52. <!ENTITY % ISOlat1 PUBLIC
  53.        "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
  54. %ISOlat1;
  55.  
  56. <!--================ Entities for special symbols =========================-->
  57. <!-- &trade and &cbsp are not widely deployed and so not included here -->
  58.  
  59. <!ENTITY amp    CDATA "&"   -- ampersand          -->
  60. <!ENTITY gt     CDATA ">"   -- greater than       -->
  61. <!ENTITY lt     CDATA "<"   -- less than          -->
  62. <!ENTITY quot   CDATA """   -- double quote       -->
  63. <!ENTITY nbsp   CDATA " "   -- non-breaking space -->
  64.  
  65. <!--=================== Generic Attributes ===============================-->
  66.  
  67. <!ENTITY % Lang "NAME">
  68.  
  69. <![ %MOZILLA.40 [
  70. <!ENTITY % coreattrs
  71.  "id          ID         #IMPLIED  -- document-wide unique id --
  72.   class       CDATA      #IMPLIED  -- space separated list of classes --
  73.   style    %StyleSheet   #IMPLIED  -- associated style info --
  74.  ">
  75. ]]>
  76. <![ %MOZILLA.30 [
  77. <!ENTITY % coreattrs
  78.  "id          ID         #IMPLIED  -- document-wide unique id --
  79.   class       CDATA      #IMPLIED  -- space separated list of classes --
  80.  ">
  81. <!ENTITY % i18n
  82.  "lang        %Lang      #IMPLIED  -- [RFC1766] language value --
  83.  ">
  84. ]]>
  85. <!ENTITY % coreattrs "">
  86. <!ENTITY % i18n      "">
  87.  
  88. <!ENTITY % attrs "%coreattrs %i18n">
  89.  
  90. <!--=================== Text Markup =======================================-->
  91.  
  92. <![ %MOZILLA.30 [
  93. <!ENTITY % font "TT|I|B|BIG|SMALL|SUB|SUP|BLINK|STRIKE|S|U">
  94. ]]>
  95. <!ENTITY % font "TT|I|B|BIG|SMALL|SUB|SUP|BLINK">
  96.  
  97. <!ENTITY % phrase "EM|STRONG|DFN|CODE|SAMP|KBD|VAR|CITE">
  98.  
  99. <![ %MOZILLA.40 [
  100. <!ENTITY % special "A|IMG|HYPE|APPLET|EMBED|OBJECT|FONT|BASEFONT|BR|WBR|NOBR|
  101.                     SCRIPT|SERVER|NOSCRIPT|MAP|SPACER|LAYER|ILAYER|NOLAYER|SPAN">
  102. ]]>
  103. <![ %MOZILLA.30 [
  104. <!ENTITY % special "A|IMG|HYPE|APPLET|EMBED|FONT|BASEFONT|BR|WBR|NOBR|SCRIPT|SERVER|
  105.                     NOSCRIPT|MAP|SPACER">
  106. ]]>
  107. <!ENTITY % special "A|IMG|HYPE|APPLET|EMBED|FONT|BASEFONT|BR|WBR|NOBR|SCRIPT|SERVER|
  108.                     MAP">
  109.  
  110. <!ENTITY % form "INPUT|SELECT|TEXTAREA|KEYGEN">
  111.  
  112. <!ENTITY % text "#PCDATA|%font|%phrase|%special">
  113.  
  114. <!ELEMENT (%font;|%phrase;) - - (%text;)*>
  115. <!ATTLIST (%font;|%phrase;)
  116.         %attrs;
  117.         >
  118.  
  119. <!-- there are also 16 widely known color names although
  120.   the resulting colors are implementation dependent:
  121.  
  122.    aqua, black, blue, fuchsia, gray, green, lime, maroon,
  123.    navy, olive, purple, red, silver, teal, white, and yellow
  124.  
  125.  These colors were originally picked as being the standard
  126.  16 colors supported with the Windows VGA palette.
  127.  -->
  128.  
  129. <!ENTITY % rsize "CDATA">
  130. <!ENTITY % fsize "CDATA">
  131. <!ENTITY % face  "CDATA">
  132. <!ENTITY % point "CDATA">
  133. <!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? -->
  134.  
  135. <![ %MOZILLA.40 [
  136. <!ENTITY % font-attrs
  137.    "face       %face;  #IMPLIED
  138.     point-size %point; #IMPLIED
  139.     weight     NUMBER  #IMPLIED
  140.    ">
  141. ]]>
  142. <![ %MOZILLA.30 [
  143. <!ENTITY % font-attrs
  144.    "face    %face; #IMPLIED
  145.    ">
  146. ]]>
  147. <!ENTITY % font-attrs "">
  148.  
  149. <!ELEMENT FONT - - (%text;)*     -- local change to font -->
  150. <!ATTLIST FONT
  151.     %attrs;
  152.     size    %rsize;   3           -- [+]nn e.g. size="+1", size=4 --
  153.     color   %color;   #IMPLIED    -- #RRGGBB in hex, e.g. red: color="#FF0000" --
  154.     %font-attrs;
  155.     >
  156.  
  157. <!ELEMENT BASEFONT - O (%text;)*  -- base font size (1 to 7)-->
  158. <!ATTLIST BASEFONT
  159.     %attrs;
  160.     size    %fsize;   3  -- e.g. size=3 --
  161.     >
  162.  
  163. <!ELEMENT (BR|WBR) - O EMPTY    -- forced line break -->
  164. <!ATTLIST BR
  165.     %attrs;
  166.     clear (left|all|right) #IMPLIED -- control of text flow --
  167.     >
  168. <!ATTLIST WBR
  169.     %attrs;
  170.     >
  171.  
  172. <!ELEMENT NOBR - O (%text;)* -(NOBR) >
  173. <!ATTLIST NOBR
  174.     %attrs;
  175.     >
  176.  
  177. <!--================== HTML content models ================================-->
  178. <!--
  179.     HTML has three basic content models:
  180.  
  181.         %text;       character level elements and text strings
  182.         %flow;       block-like elements e.g. paragraphs and lists
  183.         %bodytext;   as %flow plus headers H1-H6 and ADDRESS
  184. -->
  185.  
  186. <!ENTITY % block
  187.      "P|%list;|%preformatted;|DL|DIV|CENTER|
  188.       BLOCKQUOTE|FORM|ISINDEX|HR|TABLE|ADDRESS|MULTICOL">
  189.  
  190. <!ENTITY % block.content "(%heading;|%text;|%block;)*">
  191.  
  192. <!-- %flow is used for DD and LI -->
  193.  
  194. <!ENTITY % flow "(%text;|%block;)*">
  195.  
  196. <!--=================== Document Body =====================================-->
  197.  
  198. <!ENTITY % body.content "(%heading;|%text;|%block;)*">
  199.  
  200. <!ENTITY % body-color-attrs "
  201.         bgcolor %color; #IMPLIED
  202.         text %color;  #IMPLIED
  203.         link %color;  #IMPLIED
  204.         vlink %color; #IMPLIED
  205.         alink %color; #IMPLIED
  206.         ">
  207.  
  208. <!ELEMENT BODY O O  %body.content;>
  209. <!ATTLIST BODY
  210.         %attrs;
  211.         background %URL; #IMPLIED  -- texture tile for document background --
  212.         %body-color-attrs;  -- bgcolor, text, link, vlink, alink --
  213.         onblur   %Script; #IMPLIED
  214.         onfocus  %Script; #IMPLIED
  215.         onload   %Script; #IMPLIED
  216.         onunload %Script; #IMPLIED
  217.         >
  218.  
  219. <!ENTITY % address.content "((%text;)|P)*">
  220.  
  221. <!ELEMENT ADDRESS - - %address.content;>
  222. <!ATTLIST ADDRESS
  223.         %attrs;
  224.         >
  225.  
  226. <!ELEMENT DIV - - %body.content>
  227. <!ATTLIST DIV
  228.         %attrs;
  229.         align   (left|center|right) left -- alignment of following text --
  230.         >
  231.  
  232. <!-- CENTER is a shorthand for DIV with ALIGN=CENTER -->
  233. <!ELEMENT CENTER - - %body.content;>
  234. <!ATTLIST CENTER
  235.         %attrs;
  236.         >
  237.  
  238. <!--================== The Anchor Element =================================-->
  239.  
  240. <!ELEMENT A - - (%text;)* -(A)>
  241. <!ATTLIST A
  242.         %attrs;
  243.         name    CDATA   #REQUIRED    -- named link end --
  244.         href    %URL;    #REQUIRED    -- URL for linked resource --
  245.         onclick     %Script; #IMPLIED
  246.         onmouseout  %Script; #IMPLIED
  247.         onmouseover %Script; #IMPLIED
  248.         target  CDATA   #IMPLIED
  249.         >
  250.  
  251. <!--================== Client-side image maps ============================-->
  252.  
  253. <!-- These can be placed in the same document or grouped in a
  254.      separate document although this isn't yet widely supported -->
  255.  
  256. <!ENTITY % SHAPE "(rect|circle|poly|default)">
  257. <!ENTITY % COORDS "CDATA" -- comma separated list of numbers -->
  258.  
  259. <!ELEMENT MAP - - (AREA)*>
  260. <!ATTLIST MAP
  261.     %attrs;
  262.     name    CDATA   #REQUIRED
  263.     >
  264.  
  265. <!ELEMENT AREA - O EMPTY>
  266. <!ATTLIST AREA
  267.     %attrs;
  268.     coords  %COORDS; #REQUIRED -- defines coordinates for shape --
  269.     shape   %SHAPE;  rect
  270.     href    %URL;    #REQUIRED -- this region acts as hypertext link --
  271.     nohref (nohref) #IMPLIED  -- this region has no action --
  272.     alt     CDATA   #IMPLIED  -- needed for non-graphical user agents (added by k16) --
  273.     target  CDATA   #IMPLIED
  274.     onmouseout  %Script; #IMPLIED
  275.     onmouseover %Script; #IMPLIED
  276.     name    CDATA   #IMPLIED
  277.     >
  278.  
  279. <!--=================== Images ============================================-->
  280.  
  281. <!ENTITY % Length "CDATA"   -- nn for pixels or nn% for percentage length -->
  282. <!ENTITY % Pixels "NUMBER"  -- integer representing length in pixels -->
  283.  
  284. <!-- Suggested widths are used for negotiating image size
  285.      with the module responsible for painting the image.
  286.      align=left or right cause image to float to margin
  287.      and for subsequent text to wrap around image -->
  288.  
  289. <![ %MOZILLA.40 [
  290. <!ENTITY % img-attrs
  291.        "suppress (true|false) false -- Navigator4.0  --
  292.         nosave   (nosave) #IMPLIED  -- Navigator4.0? --">
  293. ]]>
  294. <![ %MOZILLA.30 [
  295. <!ENTITY % IAlign
  296.      "(top|bottom|left|right|absmiddle|absbottom|texttop|middle|baseline)">
  297. ]]>
  298. <!ENTITY % IAlign "(top|bottom|left|right)">
  299. <!ENTITY % img-attrs "">
  300.  
  301. <!ELEMENT IMG    - O EMPTY --  Embedded image -->
  302. <!ATTLIST IMG
  303.         %attrs;
  304.         src     %URL;     #REQUIRED  -- URL of image to embed --
  305.         lowsrc  %URL;     #IMPLIED
  306.         alt     CDATA     #IMPLIED   -- for display in place of image --
  307.         align   %IAlign;  #IMPLIED   -- vertical or horizontal alignment --
  308.         border  %Pixels;  #IMPLIED   -- suggested link border width --
  309.         height  %Length;  #IMPLIED   -- suggested height in pixels --
  310.         width   %Length;  #IMPLIED   -- suggested width in pixels --
  311.         hspace  %Pixels;  #IMPLIED   -- suggested horizontal gutter --
  312.         vspace  %Pixels;  #IMPLIED   -- suggested vertical gutter --
  313.         ismap   (ismap)   #IMPLIED   -- use server image map --
  314.         usemap  %URLwithName #IMPLIED   -- use client-side image map --
  315.         name    CDATA    #IMPLIED
  316.         onabort %Script; #IMPLIED
  317.         onerror %Script; #IMPLIED
  318.         onload  %Script; #IMPLIED
  319.         %img-attrs;
  320.         >
  321.  
  322. <!ELEMENT HYPE - O EMPTY --  Secret tag ???  -->
  323.  
  324. <!-- USEMAP points to a MAP element which may be in this document
  325.   or an external document, although the latter is not widely supported -->
  326.  
  327. <!--=================== Embedding =========================================-->
  328.  
  329. <!ENTITY % time   "CDATA" -- \d{2}:\d{2} -->
  330. <!ENTITY % volume "CDATA" -- \d{1,2}|100 -->
  331. <!ENTITY % border "CDATA" -- \d+|BORDER -->
  332.  
  333. <!ELEMENT EMBED - - (NOEMBED|%body.content;)*>
  334. <!ATTLIST EMBED
  335.         %attrs;
  336.         ALIGN          (left|right|top|bottom) left
  337.         BORDER         %border; #IMPLIED
  338.         FRAMEBORDER    (NO)    #IMPLIED
  339.         HEIGHT         %Pixels; #IMPLIED
  340.         WIDTH          %Pixels; #IMPLIED
  341.         UNITS          %Pixels; #IMPLIED
  342.         HIDDEN         (TRUE|FALSE) FALSE
  343.         NAME           CDATA #IMPLIED
  344.         PALETTE        (FOREGROUND|BACKGROUND) BACKGROUND
  345.         PLUGINSPAGE    %URL;      #IMPLIED
  346.         PLUGINURL      %URL;      #IMPLIED
  347.         SRC            %URL;      #REQUIRED -- SRC or TYPE is required --
  348.         TYPE           %MIMEType; #REQUIRED -- SRC or TYPE is required --
  349.         HSPACE         %Pixels; #IMPLIED
  350.         VSPACE         %Pixels; #IMPLIED
  351.         >
  352.  
  353. <!ELEMENT NOEMBED - - (#PCDATA) -(NOEMBED)>
  354. <!ATTLIST NOEMBED
  355.     %attrs;
  356.     >
  357.  
  358. <![ %MOZILLA.40 [
  359. <!ELEMENT OBJECT - - (PARAM | %flow;)*>
  360. <!ATTLIST OBJECT
  361.     CLASSID  %URL;      #IMPLIED
  362.     DATA     %URL;      #IMPLIED
  363.     CODEBASE %URL;      #IMPLIED
  364.     TYPE     %MIMEType; #IMPLIED
  365.     ALIGN    (left|right|top|bottom) left
  366.     HEIGHT   %Pixels;   #IMPLIED
  367.     WIDTH    %Pixels;   #IMPLIED
  368.     ID       ID         #IMPLIED
  369.     >
  370. ]]>
  371.  
  372. <!--=================== Java APPLET tag ===================================-->
  373. <!--
  374.   This tag is supported by all Java enabled browsers. Applet resources
  375.   (including their classes) are normally loaded relative to the document
  376.   URL (or <BASE> element if it is defined). The CODEBASE attribute is used
  377.   to change this default behavior. If the CODEBASE attribute is defined then
  378.   it specifies a different location to find applet resources. The value
  379.   can be an absolute URL or a relative URL. The absolute URL is used as is
  380.   without modification and is not effected by the documents <BASE> element.
  381.   When the codebase attribute is relative, then it is relative to the
  382.   document URL (or <BASE> tag if defined).
  383. -->
  384.  
  385. <![ %MOZILLA.30 [
  386. <!ENTITY % applet-attrs
  387.        "alt       CDATA       #IMPLIED   -- for display in place of applet --
  388.         archive   %URL;        #IMPLIED
  389.         mayscript (mayscript) #IMPLIED">
  390. ]]>
  391. <!ENTITY % applet-attrs "">
  392.  
  393. <!ELEMENT APPLET - - (PARAM|%text;)*>
  394. <!ATTLIST APPLET
  395.         %attrs;
  396.         code     %URL;     #REQUIRED  -- class file --
  397.         codebase %URL;     #IMPLIED   -- code base --
  398.         name     CDATA     #IMPLIED   -- applet name --
  399.         width    %Length;  #REQUIRED  -- suggested width in pixels --
  400.         height   %Length;  #REQUIRED  -- suggested height in pixels --
  401.         align    %IAlign;  bottom     -- vertical or horizontal alignment --
  402.         hspace   %Pixels;  #IMPLIED   -- suggested horizontal gutter --
  403.         vspace   %Pixels;  #IMPLIED   -- suggested vertical gutter --
  404.         %applet-attrs;
  405.         >
  406.  
  407. <!ELEMENT PARAM - O EMPTY>
  408. <!ATTLIST PARAM
  409.         %attrs;
  410.         name    NMTOKEN   #REQUIRED  -- The name of the parameter --
  411.         value   CDATA     #REQUIRED  -- The value of the parameter --
  412.         >
  413.  
  414. <!--
  415. Here is an example:
  416.  
  417.     <applet codebase="applets/NervousText"
  418.         code=NervousText.class
  419.         width=300
  420.         height=50>
  421.     <param name=text value="Java is Cool!">
  422.     <img src=sorry.gif alt="This looks better with Java support">
  423.     </applet>
  424. -->
  425.  
  426. <!--=================== Horizontal Rule ===================================-->
  427.  
  428. <!ELEMENT HR    - O EMPTY>
  429. <!ATTLIST HR
  430.         %attrs;
  431.         align (left|right|center) center
  432.         noshade (noshade) #IMPLIED
  433.         size  %Pixels; #IMPLIED
  434.         width %Length; #IMPLIED
  435.         >
  436.  
  437. <![ %MOZILLA.30 [
  438. <!ELEMENT SPACER - O EMPTY>
  439. <!ATTLIST SPACER
  440.         %attrs;
  441.         ALIGN  %IAlign; bottom
  442.         HEIGHT %Pixels; #IMPLIED
  443.         WIDTH  %Pixels; #IMPLIED
  444.         SIZE   %Pixels; #IMPLIED
  445.         TYPE  (horizontal|vertical|block)   #IMPLIED
  446.         >
  447. ]]>
  448.  
  449. <!--=================== Paragraphs =========================================-->
  450.  
  451. <!ELEMENT P     - O (%text;)*>
  452. <!ATTLIST P
  453.         %attrs;
  454.         align  (left|center|right) left
  455.         >
  456.  
  457. <!--=================== Headings ==========================================-->
  458.  
  459. <!--
  460.   There are six levels of headers from H1 (the most important)
  461.   to H6 (the least important).
  462. -->
  463.  
  464. <!ELEMENT (%heading)  - -  (%text;)*>
  465. <!ATTLIST (%heading)
  466.         %attrs;
  467.         align  (left|center|right) left
  468.         >
  469.  
  470. <!--=================== Preformatted Text =================================-->
  471.  
  472. <!-- excludes images and changes in font size -->
  473.  
  474. <![ %MOZILLA.40 [
  475. <!ENTITY % pre.exclusion "IMG|APPLET|OBJECT|HYPE|BIG|SMALL|SUB|SUP|FONT|EMBED">
  476. ]]>
  477. <!ENTITY % pre.exclusion "IMG|APPLET|HYPE|BIG|SMALL|SUB|SUP|FONT|EMBED">
  478.  
  479. <!ELEMENT PRE - - (%text;)* -(%pre.exclusion)>
  480. <!ATTLIST PRE
  481.     %attrs;
  482.     cols      NUMBER     #IMPLIED
  483.     wrap      (wrap)     #IMPLIED
  484.     >
  485.  
  486.  
  487. <!ENTITY % literal "CDATA"
  488.         -- historical, non-conforming parsing mode where
  489.            the only markup signal is the end tag
  490.            in full
  491.         -->
  492.  
  493. <!ELEMENT XMP - -  %literal;>
  494. <!ATTLIST XMP
  495.     %attrs;
  496.     >
  497.  
  498. <![ %HTML.Deprecated [
  499.     <!ELEMENT PLAINTEXT - O %literal;>
  500.     <!ATTLIST PLAINTEXT
  501.         %attrs;
  502.         >
  503. ]]>
  504.  
  505. <!--=================== Block-like Quotes =================================-->
  506.  
  507. <!ELEMENT BLOCKQUOTE - - %body.content;>
  508. <!ATTLIST BLOCKQUOTE
  509.         %attrs;
  510.         >
  511.  
  512. <!--=================== Lists =============================================-->
  513.  
  514. <!--
  515.     HTML 3.2 allows you to control the sequence number for ordered lists.
  516.     You can set the sequence number with the START and VALUE attributes.
  517.     The TYPE attribute may be used to specify the rendering of ordered
  518.     and unordered lists.
  519. -->
  520.  
  521. <!-- definition lists - DT for term, DD for its definition -->
  522.  
  523. <!ELEMENT DL    - -  (DT|DD)+>
  524. <!ATTLIST DL
  525.         %attrs;
  526.         compact (compact) #IMPLIED -- more compact style --
  527.         >
  528.  
  529. <!ELEMENT DT - O  (%text;)*>
  530. <!ELEMENT DD - O  %flow;>
  531. <!ATTLIST (DT|DD)
  532.         %attrs;
  533.         >
  534.  
  535. <!-- Ordered lists OL, and unordered lists UL -->
  536. <!ELEMENT (OL|UL) - -  (LI)+>
  537.  
  538. <!--
  539.        Numbering style
  540.     1   Arabic numbers      1, 2, 3, ...
  541.     a   lower alpha         a, b, c, ...
  542.     A   upper alpha         A, B, C, ...
  543.     i   lower Roman         i, ii, iii, ...
  544.     I   upper Roman         I, II, III, ...
  545.  
  546.     The style is applied to the sequence number which by default
  547.     is reset to 1 for the first list item in an ordered list.
  548.  
  549.     This can't be expressed directly in SGML due to case folding.
  550. -->
  551.  
  552. <!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] -->
  553.  
  554. <!ATTLIST OL -- ordered lists --
  555.         %attrs;
  556.         type      %OLStyle;  #IMPLIED   -- numbering style --
  557.         start     NUMBER     #IMPLIED   -- starting sequence number --
  558.         >
  559.  
  560. <!-- bullet styles -->
  561.  
  562. <!ENTITY % ULStyle "disc|square|circle">
  563.  
  564. <!ATTLIST UL -- unordered lists --
  565.         %attrs;
  566.         type    (%ULStyle;)  #IMPLIED   -- bullet style --
  567.         >
  568.  
  569. <!ELEMENT (DIR|MENU) - -  (LI)+ -(%block;)>
  570. <!ATTLIST (DIR|MENU)
  571.         %attrs;
  572.         -- compact (compact) #IMPLIED --
  573.         >
  574.  
  575. <!-- <DIR>              Directory list                  -->
  576. <!-- <DIR COMPACT>      Compact list style              -->
  577. <!-- <MENU>             Menu list                       -->
  578. <!-- <MENU COMPACT>     Compact list style              -->
  579.  
  580. <!-- The type attribute can be used to change the bullet style
  581.      in unordered lists and the numbering style in ordered lists -->
  582.  
  583. <!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" -->
  584.  
  585. <!ELEMENT LI - O %flow -- list item -->
  586. <!ATTLIST LI
  587.         %attrs;
  588.         type    %LIStyle;    #IMPLIED   -- list item style --
  589.         value    NUMBER      #IMPLIED   -- reset sequence number --
  590.         >
  591.  
  592. <!--================ Forms ===============================================-->
  593.  
  594. <!ELEMENT FORM - - %body.content; -(FORM) +(%form;)>
  595. <!ATTLIST FORM
  596.         %attrs;
  597.         action %URL; #IMPLIED  -- server-side form handler --
  598.         method (%HTTP-Method;) GET -- see HTTP specification --
  599.         enctype %Content-Type; "application/x-www-form-urlencoded"
  600.         name   CDATA #IMPLIED
  601.         target CDATA #IMPLIED
  602.         onreset  %Script; #IMPLIED
  603.         onsubmit %Script; #IMPLIED
  604.         >
  605.  
  606. <!ENTITY % InputType
  607.         "(BUTTON|CHECKBOX|FILE|HIDDEN|IMAGE|PASSWORD|RADIO|RESET|SUBMIT|TEXT)">
  608.  
  609. <!ELEMENT INPUT - O EMPTY>
  610. <!ATTLIST INPUT
  611.         %attrs;
  612.         type  %InputType; TEXT     -- what kind of widget is needed --
  613.         name  CDATA   #IMPLIED   -- required for all but submit and reset --
  614.         value CDATA   #IMPLIED   -- required for radio and checkboxes --
  615.         checked (checked) #IMPLIED -- for radio buttons and check boxes --
  616.         size  %Pixels;    #IMPLIED  -- specific to each type of field --
  617.         maxlength NUMBER #IMPLIED -- max chars allowed in text fields --
  618.         src   %URL;    #IMPLIED   -- for fields with background images --
  619.         align %IAlign; #IMPLIED   -- vertical or horizontal alignment --
  620.         onblur   %Script; #IMPLIED
  621.         onchange %Script; #IMPLIED
  622.         onclick  %Script; #IMPLIED
  623.         onfocus  %Script; #IMPLIED
  624.         onselect %Script; #IMPLIED
  625.         width   %Length;  #IMPLIED  -- (added by k16) --
  626.         height  %Length;  #IMPLIED  -- (added by k16) --
  627.         border  %border;  #IMPLIED  -- (added by k16) --
  628.         >
  629.  
  630. <!ELEMENT SELECT - - (OPTION+) -(%form)>
  631. <!ATTLIST SELECT
  632.         %attrs;
  633.         name CDATA #REQUIRED
  634.         size %Pixels; #IMPLIED
  635.         multiple (multiple) #IMPLIED
  636.         onblur   %Script; #IMPLIED
  637.         onchange %Script; #IMPLIED
  638.         onclick  %Script; #IMPLIED
  639.         onfocus  %Script; #IMPLIED
  640.         >
  641.  
  642. <!ELEMENT OPTION - O (#PCDATA)*>
  643. <!ATTLIST OPTION
  644.         %attrs;
  645.         selected (selected) #IMPLIED
  646.         value  CDATA  #IMPLIED -- defaults to element content --
  647.         >
  648.  
  649. <!-- Multi-line text input field. -->
  650.  
  651. <!ELEMENT TEXTAREA - - (#PCDATA)* -(%form)>
  652. <!ATTLIST TEXTAREA
  653.         %attrs;
  654.         name CDATA #REQUIRED
  655.         cols NUMBER #REQUIRED
  656.         rows NUMBER #IMPLIED
  657.         wrap (OFF|HARD|SOFT) #IMPLIED
  658.         onblur   %Script; #IMPLIED
  659.         onchange %Script; #IMPLIED
  660.         onfocus  %Script; #IMPLIED
  661.         onselect %Script; #IMPLIED
  662.         >
  663.  
  664. <!ELEMENT KEYGEN - O EMPTY>
  665. <!ATTLIST KEYGEN
  666.         %attrs;
  667.         CHALLENGE CDATA #IMPLIED
  668.         NAME      CDATA #REQUIRED
  669.         >
  670.  
  671. <!--======================= Tables ========================================-->
  672.  
  673. <!-- Widely deployed subset of the full table standard, see RFC 1942
  674.      e.g. at http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt -->
  675.  
  676. <!-- horizontal placement of table relative to window -->
  677. <![ %MOZILLA.40 [
  678. <!ENTITY % Where "(left|center|right)">
  679. ]]>
  680. <!ENTITY % Where "(left|right)">
  681.  
  682. <!-- horizontal alignment attributes for cell contents -->
  683. <!ENTITY % cell.halign
  684.         "align  (left|center|right) #IMPLIED"
  685.         >
  686.  
  687. <!-- vertical alignment attributes for cell contents -->
  688. <!ENTITY % cell.valign
  689.         "valign  (top|middle|bottom|baseline)  #IMPLIED"
  690.         >
  691.  
  692. <!ELEMENT TABLE - - (CAPTION?, TR+)>
  693. <!ELEMENT TR - O (TH|TD)*>
  694. <!ELEMENT (TH|TD) - O %body.content;>
  695.  
  696. <![ %MOZILLA.40 [
  697. <!ENTITY % table-attrs
  698.        "BACKGROUND %URL;    #IMPLIED  -- (added by k16) --
  699.         BGCOLOR   %color;   #IMPLIED
  700.         COLS      NUMBER    #IMPLIED
  701.        ">
  702. ]]>
  703. <![ %MOZILLA.30 [
  704. <!ENTITY % table-attrs
  705.        "BGCOLOR   %color;   #IMPLIED">
  706. ]]>
  707. <!ENTITY % table-attrs "">
  708.  
  709. <!ATTLIST TABLE                       -- table element --
  710.         %attrs;
  711.         align     %Where;   #IMPLIED  -- table position relative to window --
  712.         width     %Length;   #IMPLIED  -- table width relative to window --
  713.         height    %Pixels;   #IMPLIED
  714.         border    %border;   #IMPLIED  -- controls frame width around table --
  715.         cellspacing %Pixels; #IMPLIED  -- spacing between cells --
  716.         cellpadding %Pixels; #IMPLIED  -- spacing within cells --
  717.         hspace    %Pixels;   #IMPLIED
  718.         vspace    %Pixels;   #IMPLIED
  719.         %table-attrs;
  720.         >
  721.  
  722. <!ELEMENT CAPTION - - (%text;)* -- table or figure caption -->
  723. <!ATTLIST CAPTION
  724.         %attrs;
  725.         align (top|bottom) top
  726.         >
  727.  
  728. <!ATTLIST TR                       -- table row --
  729.         %attrs;
  730.         %cell.halign;              -- horizontal alignment in cells --
  731.         %cell.valign;              -- vertical alignment in cells --
  732.         %table-attrs;
  733.         >
  734.  
  735. <!ATTLIST (TH|TD)                  -- header or data cell --
  736.         %attrs;
  737.         nowrap (nowrap)  #IMPLIED  -- suppress word wrap --
  738.         rowspan NUMBER   1         -- number of rows spanned by cell --
  739.         colspan NUMBER   1         -- number of cols spanned by cell --
  740.         %cell.halign;              -- horizontal alignment in cell --
  741.         %cell.valign;              -- vertical alignment in cell --
  742.         width   %Length;  #IMPLIED  -- suggested width for cell   HTML3.2??? --
  743.         height  %Length;  #IMPLIED  -- suggested height for cell  HTML3.2??? --
  744.         %table-attrs;
  745.         >
  746.  
  747. <!--================== Multi Columns ====================================-->
  748.  
  749. <!ELEMENT MULTICOL - - (%text;)* >
  750. <!ATTLIST MULTICOL
  751.         %attrs;
  752.         COLS   NUMBER #REQUIRED
  753.         GUTTER %Pixels; #IMPLIED
  754.         WIDTH  %Pixels; #IMPLIED
  755.         >
  756.  
  757. <!--================== Document Frames ====================================-->
  758.  
  759. <!ENTITY % frame-size "CDATA" -- ((\d+[*%]?|\*),)*(\d+[*%]?|\*) -->
  760.  
  761. <![ %MOZILLA.30 [
  762. <!ENTITY % frame-attrs
  763.    "BORDERCOLOR  %color;       #IMPLIED
  764.     FRAMEBORDER  (NO|YES)      YES       -- request frame separators? --">
  765. <!ENTITY % frameset-attrs
  766.    "%frame-attrs;
  767.     ONBLUR      %Script; #IMPLIED
  768.     ONFOCUS     %Script; #IMPLIED
  769.     BORDER      %border; #IMPLIED">
  770. ]]>
  771. <!ENTITY % frame-attrs "">
  772. <!ENTITY % frameset-attrs "">
  773.  
  774. <!ELEMENT FRAMESET - - (FRAMESET|FRAME|NOFRAMES)+>
  775. <!ATTLIST FRAMESET
  776.   %attrs;
  777.   -- absolute pixel values, percentages or relative scales. --
  778.   rows        %frame-size; #REQUIRED  -- if not given, default is 1 row --
  779.   cols        %frame-size; #REQUIRED  -- if not given, default is 1 column --
  780.   onLoad      %Script; #IMPLIED  -- intrinsic event --
  781.   onUnload    %Script; #IMPLIED  -- intrinsic event --
  782.   %frameset-attrs;
  783.   >
  784.  
  785. <!-- reserved frame names start with "_" otherwise starts with letter -->
  786. <!ELEMENT FRAME - O EMPTY>
  787. <!ATTLIST FRAME
  788.   %attrs;
  789.   name         CDATA         #IMPLIED  -- name of frame for targetting --
  790.   src          %URL;          #REQUIRED -- source of frame content --
  791.   marginwidth  %Pixels;       #IMPLIED  -- margin widths in pixels --
  792.   marginheight %Pixels;       #IMPLIED  -- margin height in pixels --
  793.   noresize     (noresize)    #IMPLIED  -- allow users to resize frames? --
  794.   scrolling    (yes|no|auto) auto      -- scrollbar or none --
  795.   %frame-attrs;
  796.   >
  797.  
  798. <!ELEMENT NOFRAMES - - (BODY|%body.content;) -(NOFRAMES)>
  799. <!ATTLIST NOFRAMES
  800.     %attrs;
  801.     >
  802.  
  803. <!--================== Style Sheet ====================================-->
  804.  
  805. <![ %MOZILLA.40 [
  806.  
  807. <!ELEMENT STYLE  - - CDATA -- placeholder for style info -->
  808. <!ATTLIST STYLE
  809.         -- %i18n; --
  810.         TYPE  %Content-Type; #IMPLIED
  811.         >
  812.  
  813. <!ELEMENT (LAYER|ILAYER)  - - (%body.content;) -(LAYER|ILAYER|NOLAYER)>
  814. <!ATTLIST (LAYER|ILAYER)
  815. --      ID                ID      #IMPLIED   change to %attrs by k16 --
  816.         %attrs;
  817.         LEFT              %point;  #IMPLIED
  818.         TOP               %point;  #IMPLIED
  819.         PAGEX             %Pixels; #IMPLIED
  820.         PAGEY             %Pixels; #IMPLIED
  821.         SRC               %URL;    #IMPLIED
  822.         Z-INDEX           NUMBER  #IMPLIED
  823.         ABOVE             ID      #IMPLIED
  824.         BELOW             ID      #IMPLIED
  825.         WIDTH             %Length; #IMPLIED
  826.         HEIGHT            %Length; #IMPLIED
  827.         CLIP              %COORDS; #IMPLIED
  828.         VISIBILITY        (SHOW|HIDE|INHERIT) INHERIT
  829.         BGCOLOR           %color;  #IMPLIED
  830. --      BACKGROUND-COLOR  %color;  #IMPLIED --
  831.         BACKGROUND        %URL;    #IMPLIED
  832. --      BACKGROUND-IMAGE  %URL;    #IMPLIED --
  833.         OnMouseOver       %Script; #IMPLIED
  834.         OnMouseOut        %Script; #IMPLIED
  835.         OnFocus           %Script; #IMPLIED
  836.         OnBlur            %Script; #IMPLIED
  837.         OnLoad            %Script; #IMPLIED
  838.         >
  839.  
  840. <!ELEMENT NOLAYER - - (%body.content;) -(LAYER|ILAYER|NOLAYER)>
  841. <!ATTLIST NOLAYER
  842.         -- %i18n; --
  843.         >
  844.  
  845. <!ELEMENT SPAN - - (%text;)*>
  846. <!ATTLIST SPAN
  847.     %attrs;
  848.     STYLE %StyleSheet; #IMPLIED
  849.     >
  850.  
  851. ]]>
  852.  
  853. <!--================== The LINK Element ==================================-->
  854.  
  855. <![ %MOZILLA.40 [
  856.  
  857. <!ENTITY % Types "CDATA"
  858.         -- See Internet Draft: draft-ietf-html-relrev-00.txt
  859.            LINK has been part of HTML since the early days
  860.            although few browsers as yet take advantage of it.
  861.  
  862.            Relationship values can be used in principle:
  863.  
  864.                 a) for document specific toolbars/menus when used
  865.                    with the LINK element in the document head:
  866.                 b) to link to a separate style sheet
  867.                 c) to make a link to a script
  868.                 d) by stylesheets to control how collections of
  869.                    html nodes are rendered into printed documents
  870.                 e) to make a link to a printable version of this document
  871.                    e.g. a postscript or pdf version
  872. -->
  873.  
  874. <!ELEMENT LINK - O EMPTY>
  875. <!ATTLIST LINK
  876.         %attrs;
  877.         src     %URL;    #IMPLIED    -- URL for linked resource --
  878.         href    %URL;    #IMPLIED    -- (added by k16) --
  879.         type    CDATA    #IMPLIED
  880.         rel     %Types;  #IMPLIED    -- forward link types --
  881.         rev     %Types;  #IMPLIED    -- reverse link types (added by k16) --
  882.         >
  883.  
  884. ]]>
  885.  
  886. <!--================ Document Head ========================================-->
  887.  
  888. <!-- %head.misc defined earlier on as "SCRIPT|SERVER|NOSCRIPT|STYLE|META|LINK" -->
  889.  
  890. <![ %MOZILLA.40 [
  891. <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE*">
  892. ]]>
  893. <!ENTITY % head.content "TITLE & ISINDEX? & BASE?">
  894.  
  895. <!ELEMENT HEAD O O  (%head.content;) +(%head.misc;)>
  896. <!ATTLIST HEAD
  897.         -- %i18n; --
  898.         >
  899.  
  900. <!ELEMENT TITLE - -  (#PCDATA)* -(%head.misc;)
  901.           -- The TITLE element is not considered part of the flow of text.
  902.              It should be displayed, for example as the page header or
  903.              window title.
  904.           -->
  905. <!ATTLIST TITLE
  906.         -- %i18n; --
  907.         >
  908.  
  909. <!ELEMENT ISINDEX - O EMPTY>
  910. <!ATTLIST ISINDEX
  911.         -- %attrs; --
  912.         prompt CDATA #IMPLIED -- prompt message -->
  913.  
  914. <!--
  915.     The BASE element gives an absolute URL for dereferencing relative
  916.     URLs, e.g.
  917.  
  918.          <BASE href="http://foo.com/index.html">
  919.          ...
  920.          <IMG SRC="images/bar.gif">
  921.  
  922.     The image is deferenced to
  923.  
  924.          http://foo.com/images/bar.gif
  925.  
  926.    In the absence of a BASE element the document URL should be used.
  927.    Note that this is not necessarily the same as the URL used to
  928.    request the document, as the base URL may be overridden by an HTTP
  929.    header accompanying the document.
  930. -->
  931.  
  932. <!ELEMENT BASE - O EMPTY>
  933. <!ATTLIST BASE
  934.         href   %URL;  #REQUIRED
  935.         target CDATA #IMPLIED
  936.         >
  937.  
  938. <!ELEMENT META - O EMPTY -- Generic Metainformation -->
  939. <!ATTLIST META
  940.         -- %i18n; --
  941.         http-equiv  NAME    #IMPLIED  -- HTTP response header name  --
  942.         name        NAME    #IMPLIED  -- metainformation name       --
  943.         content     CDATA   #REQUIRED -- associated information     --
  944.         >
  945.  
  946. <![ %MOZILLA.30 [
  947. <!ENTITY % script-attrs
  948.        "LANGUAGE CDATA #REQUIRED
  949.         SRC      %URL;  #IMPLIED
  950.        ">
  951. ]]>
  952. <!ENTITY % script-attrs "">
  953.  
  954. <!ELEMENT SCRIPT - - CDATA -- placeholder for script statements -->
  955. <!ATTLIST SCRIPT
  956.         -- %i18n; --
  957.         %script-attrs;
  958.         >
  959.  
  960. <!ELEMENT SERVER - - CDATA >
  961. <!ATTLIST SERVER
  962.         -- %attrs; --
  963.         >
  964.  
  965. <![ %MOZILLA.30 [
  966. <!ELEMENT NOSCRIPT - - (%body.content;) -(SCRIPT|NOSCRIPT)>
  967. <!ATTLIST NOSCRIPT
  968.         -- %attrs; --
  969.         >
  970. ]]>
  971.  
  972. <!--================ Document Structure ===================================-->
  973.  
  974. <!ENTITY % HTML.Version
  975.  "http://developer.netscape.com/library/documentation/htmlguid/index.htm"
  976. >
  977.  
  978. <!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
  979.  
  980. <!ENTITY % html.body "(BODY|FRAMESET)">
  981.  
  982. <![ %HTML.Deprecated [
  983.     <!ENTITY % html.content "HEAD, %html.body;, PLAINTEXT?">
  984. ]]>
  985.  
  986. <!ENTITY % html.content "HEAD, %html.body;">
  987.  
  988. <!ELEMENT HTML O O  (%html.content;)>
  989. <!ATTLIST HTML
  990.         -- %i18n; --
  991.         -- %version.attr; -->
  992.