home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / INTERNET / HTML / HOTMETAL / DTDS / HTML.DTD < prev    next >
Encoding:
Text File  |  1994-06-17  |  23.4 KB  |  582 lines

  1. <!-- DOCTYPE HTML [  -->
  2.  
  3. <!--    html.dtd v1.1  3June94
  4.  
  5.         Document Type Definition for the HyperText Markup Language
  6.         as used by the World Wide Web application (HTML DTD).
  7.  
  8.         This is not a formal part of the HTML development being led
  9.         by Dave Raggett and Dan Connolly but attempts to contribute
  10.         to that development only by assisting users in creating 
  11.         reasonably structured documents from which it should be
  12.         straightforward to move to formalized versions of the HTML DTD
  13.         when appropriate.
  14.  
  15. -->
  16.  
  17. <!-- 
  18. Note from SoftQuad regarding use of this DTD in the HoTMetaL
  19. World Wide Web Editor:
  20.  
  21. This is a special version of the HTMLplus DTD which has had all the 
  22. elements (and most of the attributes) stripped out which are NOT in 
  23. the HTMLdtd v1.11 1994. In order to increase the likelihood of
  24. future compatibility of documents created with HoTMetaL, HTML
  25. attributes which are likely to not be in the next revision of HTML have
  26. been left out.
  27.  
  28. Accordingly, its best use is for creating new documents. That is, its
  29. restrictiveness will be helpful in giving context-sensitive guidance
  30. during document creation. At the same time, that restrictiveness will 
  31. minimize the usefulness of HoTMetaL with files which use original
  32. HTML markup flamboyantly. 
  33. However:
  34. 1. This is a feature and means that opening an old document with 
  35. "Rules Checking Off" will still allow you to insert any markup anywhere.
  36. 2. Opening a document with "Rules Checking Off" and then turning rules
  37. on will result in useful error messages with the cursor being placed where
  38. the markup is not in conformance with the more restrictive DTD. In
  39. this way, files may be cleaned up for future use.
  40. 3. To receive a DTD designed particularly to accept almost any file 
  41. created before there was an HTML DTD, send email to:
  42.        loose-dtd-request@sq.com
  43. 4. To put your name on a list to receive updates of the DTD as they
  44. come along, send email to:
  45.        html-dtd-request@sq.com 
  46. -->
  47.  
  48. <!--
  49. ENTITY DECLARATIONS
  50.  
  51. Brief Introduction:
  52.  <!ENTITY % foo "X | Y | Z"> is a macro definition for parameters and in 
  53.  subsequent statements, the string "%foo;" is expanded to "X | Y | Z"
  54.  
  55.  Various classes of SGML text types:
  56.  
  57.   CDATA  text which doesn't include markup or entity references
  58.   RCDATA text with entity references but no markup
  59.   PCDATA text occurring in a context in which markup and entity references 
  60.      may occur.
  61. -->
  62.  
  63. <!-- Core HTML+ DTD omits following features; HoTMetal includes forms: -->
  64. <!ENTITY % HTML.figures "IGNORE">
  65. <!ENTITY % HTML.emph "IGNORE">
  66. <!ENTITY % HTML.forms "INCLUDE">
  67. <!ENTITY % HTML.obsolete "IGNORE">
  68. <!ENTITY % HTML.icons "IGNORE">
  69.  
  70. <!ENTITY % URL "CDATA" -- a URL or URN designating a hypertext node -->
  71.  
  72. <!-- Browsers should render the following types of emphasis
  73.      distinctly when the obvious rendering is impractical
  74.  
  75.      I = italic, B = bold, U = underline, TT = teletype font, 
  76.      REV = reverse video for highlighting hit areas in the result of a query
  77. -->
  78.  
  79. <!ENTITY % emph1 "I|B|U|TT|CITE|EM|STRONG|KBD|VAR|DFN|CODE|SAMP">
  80. <!ENTITY % emph2 "REV">
  81. <!ENTITY % emph3 "HIDE">
  82.  
  83. <![ %HTML.emph [ <!ENTITY % emph  "%emph1;|%emph2;|%emph3;"> ]]>
  84. <!ENTITY % emph  "%emph1;">
  85.  
  86. <![ %HTML.forms [ <!ENTITY % misc2 "|INPUT|TEXTAREA|SELECT"> ]]>
  87. <!ENTITY % misc2 "">
  88.  
  89. <!ENTITY % literal " XMP | LISTING ">
  90.  
  91. <!ENTITY % lit-content "RCDATA">
  92.  
  93. <!ENTITY % misc "BR  %misc2;">
  94.  
  95. <!ENTITY % text "#PCDATA|A|IMG|%emph;|%misc; ">
  96.  
  97. <!ENTITY % paras "P|PRE">
  98.  
  99. <!ENTITY % lists "UL|OL|DL">
  100.  
  101. <!ENTITY % block1 "ADDRESS|HR">
  102.  
  103. <![ %HTML.forms [ <!ENTITY % block3 "|FORM"> ]]>
  104. <!ENTITY % block3 "">
  105.  
  106. <![ %HTML.obsolete [ <!ENTITY % block4 "|MENU|DIR|BLOCKQUOTE"> ]]>
  107. <!ENTITY % block4 "|BLOCKQUOTE">
  108.  
  109. <!ENTITY % block "%block1;  %block3; %block4;">
  110.  
  111. <!ENTITY % setup "(TITLE? & ISINDEX? & BASE? & META* & LINK*)">
  112.  
  113. <!ENTITY % main "%block;|%lists;|%paras;|%literal;">
  114.  
  115. <!-- these entities are used to simplify element definitions -->
  116.  
  117. <!ENTITY % heading "H1|H2|H3|H4|H5|H6"> 
  118.  
  119. <!ENTITY % body-content "%heading; | %main;|IMG|A|">
  120.  
  121. <![ %HTML.obsolete [<!ENTITY % anchorname "name NMTOKEN #IMPLIED"> ]]>
  122. <!ENTITY % anchorname "">
  123.  
  124. <![ %HTML.forms [
  125.  <!ENTITY % fields "text|password|checkbox|radio|submit|reset|image|
  126.                         hidden"  -- newer browsers will support longer list -- >
  127. ]]>
  128.  
  129.  
  130. <!-- Core DTD includes basic Latin-1 entities -->
  131. <!ENTITY % ISOlat1 PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN">
  132. %ISOlat1;
  133.  
  134. <!-- additional entities normally found in Latin-1 char sets -->
  135. <!ENTITY % ISOnum PUBLIC "ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN">
  136. %ISOnum;
  137.  
  138. <!-- diacritical marks normally found in Latin-1 char sets -->
  139. <!ENTITY % ISOdia PUBLIC "ISO 8879-1986//ENTITIES Diacritical Marks//EN">
  140. %ISOdia;
  141.  
  142. <!-- misc. from ISO Publishing entities -->
  143. <!ENTITY ndash  SDATA " - "--=en dash-->
  144. <!ENTITY mdash  SDATA "--"--=em dash-->
  145. <!ENTITY ensp   SDATA " "--=en space (1/2-em)-->
  146. <!ENTITY emsp   SDATA " "--=em space-->
  147. <!ENTITY hellip SDATA "..."--=ellipsis (horizontal)-->
  148. <!ENTITY vellip SDATA "."--=ellipsis (vertical)-->
  149.  
  150. <!-- misc. from HTML.dtd -->
  151. <!ENTITY amp SDATA "&"     -- ampersand -->
  152. <!ENTITY gt SDATA ">"      -- greater than -->
  153. <!ENTITY lt SDATA "<"      -- less than -->
  154. <!ENTITY quo SDATA '"'    -- quotation mark -->
  155. <!ENTITY nbsp SDATA "<? nonbreaking-space>">
  156.  
  157. <!-- standard ISO/WWW icons courtesy of Bert Bos and Kevin Hughes, see
  158.          gopher://gopher.let.rug.nl/00/ftp/pub/Bert/WWWicn.940218 
  159.  
  160.     These can be used in place of default symbols for list items or as
  161.     part of hypertext links, and save time needed to download images.
  162.     Browsers can define them in terms of library images or as URL/URNs.
  163. -->
  164.  
  165. <![ %HTML.icons [
  166.   <!ENTITY ftp SDATA "ftp" -- ftp server -->
  167.   <!ENTITY gopher SDATA "gopher" -- gopher server -->
  168.   <!ENTITY telnet SDATA "telnet" -- telnet connection -->
  169.   <!ENTITY archive SDATA "archive" -- archive server -->
  170.   <!ENTITY filing.cabinet SDATA "filing.cabinet" -- filing cabinet -->
  171.   <!ENTITY folder SDATA "folder" -- folder or directory -->
  172.   <!ENTITY fixed.disk SDATA "fixed.disk" -- fixed media drive -->
  173.   <!ENTITY disk.drive SDATA "disk.drive" -- removeable media drive -->
  174.   <!ENTITY document SDATA "document" -- unspecified document type -->
  175.   <!ENTITY unknown.document SDATA "unknown.document" -- unrecognised document type -->
  176.   <!ENTITY text.document SDATA "text.document" -- text/plain, text.html etc. -->
  177.   <!ENTITY binary.document SDATA "binary.document" -- binary data -->
  178.   <!ENTITY binhex.document SDATA "binhex.document" -- binhex format -->
  179.   <!ENTITY audio SDATA "audio" -- audio sequence -->
  180.   <!ENTITY film SDATA "film" -- film or animation, such as an MPEG movie -->
  181.   <!ENTITY image SDATA "image" -- photograph, drawing or graphic of any kind -->
  182.   <!ENTITY map SDATA "map" -- geographical or a schematic map -->
  183.   <!ENTITY form SDATA "form" -- fill-out form -->
  184.   <!ENTITY mail SDATA "mail" -- email messages -->
  185.   <!ENTITY parent SDATA "parent" -- parent of current document -->
  186.   <!ENTITY next SDATA "next" -- next document in current sequence -->
  187.   <!ENTITY previous SDATA "previous" -- previous document in current sequence -->
  188.   <!ENTITY home SDATA "home" -- home document -->
  189.   <!ENTITY toc SDATA "toc" -- table of contents -->
  190.   <!ENTITY glossary SDATA "glossary" -- glossary of terms etc. -->
  191.   <!ENTITY index SDATA "index" -- searchable index -->
  192.   <!ENTITY summary SDATA "summary" -- summary -->
  193.  
  194.   <!ENTITY calculator SDATA "calculator" -- A calculator -->
  195.   <!ENTITY caution SDATA "caution" -- Warnign sign -->
  196.   <!ENTITY clock SDATA "clock" -- A clock -->
  197.   <!ENTITY compressed.document SDATA "compressed.document">
  198.   <!ENTITY diskette SDATA "diskette" -- A diskette -->
  199.   <!ENTITY display SDATA "display" -- A computer screen -->
  200.   <!ENTITY fax SDATA "fax" -- A fax machine -->
  201.   <!ENTITY mail.in SDATA "mail.in" -- mail-in tray -->
  202.   <!ENTITY mail.out SDATA "mail.out" -- mail-out tray -->
  203.   <!ENTITY mouse SDATA "mouse" -- mouse/pointing device -->
  204.   <!ENTITY printer SDATA "printer" -- hardcopy device -->
  205.   <!ENTITY tn3270 SDATA "tn3270" --tn3270 terminal session -->
  206.   <!ENTITY trash SDATA "trash" -- waste paper basket -->
  207.   <!ENTITY uuencoded.document SDATA "uuencoded.document" -- uuencoded data -->
  208. ]]>
  209.  
  210. <!-- BASIC TYPES OF ELEMENTS:
  211. Brief Introduction:
  212.   <!ELEMENT tagname - - CONTENT> elements needing end tags
  213.   <!ELEMENT tagname - O CONTENT> elements with optional end tags
  214.   <!ELEMENT tagname - O EMPTY> elements without content or end tags
  215.  
  216. The content definition is:
  217.        -  an element declaration as defined above
  218.        -  a tagname
  219.        -  (brackets enclosing the above)
  220. These may be combined with the operators:
  221.   A*      A occurs zero or more times
  222.   A+      A occurs one or more times
  223.   A|B     either A or B
  224.   A?      A occurs zero or one times
  225.   A,B     first A then B
  226.   A&B     both A and B (in either order A B or B A)
  227. -->
  228.  
  229. <!-- BODY OF THE DTD:   -->
  230.  
  231. <!ELEMENT HTML O O (HEAD, BODY)>
  232. <!ATTLIST HTML
  233.         charset CDATA   #IMPLIED -- eg "ISO-2022-JP" for japanese --
  234.         version CDATA #FIXED  "html.dtd v1.20" -- the HTML+ version number -->
  235.  
  236. <!ELEMENT HEAD O O (%setup;) -- delimits document wide properties -->
  237.  
  238. <!ELEMENT BODY O O  (%body-content)*>
  239.  
  240.  
  241. <!-- Document headers -->
  242. <!ELEMENT (%heading;) - - (%text;)+>
  243.  
  244. <!-- character emphasis -->
  245. <!ELEMENT (%emph1;) - O (%text;)*    >
  246.  
  247. <!ELEMENT P - O (%text;)+>
  248.  
  249. <!ELEMENT HR - O EMPTY -- Horizontal Rule -->
  250. <!ELEMENT BR - O EMPTY -- forced line break -->
  251.  
  252. <!ELEMENT PRE - - (%text;)+ -- preformatted fixed pitch text -->
  253.  
  254. <!ELEMENT ADDRESS - - (#PCDATA|P|HR|IMG|A|BR)* -- info on author -->
  255.  
  256. <!ELEMENT (%literal) - -  %lit-content>
  257.  
  258. <!-- Lists which can be nested -->
  259. <!ELEMENT OL - O (LI)+ -- ordered list -->
  260.  
  261. <!ELEMENT UL - - (LI)+ -- unordered list -->
  262.  
  263. <!ELEMENT (MENU|DIR) - O   (LI)+  -- obsoleted lists -- >
  264.  
  265. <!-- List items for UL and OL lists
  266.  
  267.  By default UL list items have bullets while OL list items
  268.  are numbered in a style dependent on nesting. For extra impact
  269.  specify an explicit image with the icon attribute or a string
  270.  with the label attribute. This attribute can also be used with
  271.  SGML entities to specify standard icons, e.g. label="&folder;"
  272. -->
  273.  
  274. <!ELEMENT LI - O (#PCDATA|%lists;|%paras;|%emph1;|%block1;|A|IMG|FORM|XMP)*>
  275. <!ATTLIST LI
  276.         icon     %URL;  #IMPLIED -- image for use in place of bullet --
  277.         label   CDATA   #IMPLIED -- when you can't show the icon image -->
  278.  
  279. <!-- Definition Lists (terms + definitions) -->
  280. <!ELEMENT DL - - (DT+, DD)+>
  281.  
  282. <!ELEMENT DT - O (%text;)+          -- term to be defined -- >
  283. <!ELEMENT DD - O (%text;|DL|UL|OL|P|HR|PRE|IMG|A|XMP|#PCDATA)+   -- definition text -- >
  284.  
  285.  
  286. <!-- Hypertext Links from points within document nodes
  287.  
  288.  The HREF attribute specifies the link destination as a URL or URN.
  289.  
  290.  The TITLE attribute may be used for links in which the destination
  291.  node doesn't define a title itself, e.g. non-html documents.
  292.  
  293.  The REL attribute is used to specify how the browser interprets
  294.  the link when this document is being used as a hypertext path
  295.  REL="Path" causes the linked document to be treated as a path
  296.  and inserted into the current path, while REL="Node" treats
  297.  the linked document as a node on the current path. REL="Embed"
  298.  is a hint to embed the referenced node into the current document.
  299. -->
  300.  
  301. <!ELEMENT A - - (#PCDATA | BR | IMG | %emph;)*>
  302. <!ATTLIST A
  303.         href    %URL;   #IMPLIED -- destination node --
  304.         %anchorname;             -- see HTML.obsolete --
  305.         rel     CDATA   #IMPLIED -- forward relationship type --
  306.         rev     CDATA   #IMPLIED --  reverse relationship type --
  307.         methods NAMES #IMPLIED -- supported public methods of
  308.            the object: TEXTSEARCH, GET, HEAD, ... --
  309.         name   CDATA   #IMPLIED -- when otherwise unavailable (obs) --
  310.         title   CDATA   #IMPLIED -- when otherwise unavailable -->
  311.  
  312. <!-- Other kinds of relationships between documents
  313.  
  314.  There are a set of standard RELationship types which alter the
  315.  browser's navigation menu:
  316.  
  317.     UseIndex        searchable index
  318.     UseGlossary     shared glossary
  319.     Contents        shared contents page
  320.     Previous        previous document in a hypertext path
  321.     Next            next document in a hypertext path
  322.     Bookmark        named with the title attribute
  323.     Made            Defines who is the "maker" of this document
  324.     Help            provides help on this document
  325.     Annotation      an additional note on current document
  326.     Reply           a note with equal footing to current document
  327.     Subdocument     defines parent->child relationship
  328.     Parent          defines child->parent relationship
  329.     StyleSheet      an associated style sheet
  330.  
  331.  Bookmarks allow authors to define a set of useful links
  332.  which are to be accessed via a menu, rather than as conventional
  333.  in-line hypertext links. Previous and Next links are inserted
  334.  by the browser when interpreting a separate document as a path.
  335.  See above description of REL="Node" and REL="Path" for <A>.
  336.  
  337.  The FROM attribute makes it possible to specify annotation
  338.  links separately from the document text flow. The FROM
  339.  attribute specifies an ID for the source of a link, while
  340.  the HREF attribute specifies its destination. HTTP servers
  341.  can use the WWW-Link: header to "insert" such annotations
  342.  into documents.
  343. -->
  344.  
  345. <!ELEMENT LINK - O EMPTY>
  346. <!ATTLIST LINK
  347.         href    %URL;  #REQUIRED -- destination node --
  348.         src     %URL;   #IMPLIED -- an image for displaying link --
  349.         id      ID      #IMPLIED -- to allow meta info on links --
  350.         rel     CDATA   #IMPLIED -- forward relationship type --
  351.         rev     CDATA   #IMPLIED -- reverse relationship type --
  352.         title   CDATA   #IMPLIED -- when otherwise unavailable -->
  353.  
  354. <!-- Document title -->
  355. <!ELEMENT TITLE - - (#PCDATA)    >
  356.  
  357. <!-- Original document URL for resolving relative URLs  -->
  358. <!ELEMENT BASE - O EMPTY>
  359. <!ATTLIST BASE HREF %URL; #IMPLIED>
  360.  
  361. <!-- Signifies the document's URL accepts queries,
  362.      and may be implied by HTTP header info -->
  363. <!ELEMENT ISINDEX - O EMPTY>
  364. <!ATTLIST ISINDEX href %URL; #IMPLIED -- defaults to document's URL -->
  365.  
  366. <!--
  367.  Servers should read the document head to generate HTTP headers
  368.  corresponding to META elements, e.g. if the document contains:
  369.  
  370.         <meta name="Expires" value="Tue, 04 Dec 1993 21:29:02 GMT">
  371.  
  372.  The server should include the HTTP date format header field:
  373.  
  374.         Expires: Tue, 04 Dec 1993 21:29:02 GMT
  375.  
  376.  Other likely names are "Summary", "Keywords", "Created",
  377.  "Owner" (a name) and "Reply-To" (an email address)
  378.  
  379.  These elements can be used to construct IAFA style templates
  380.  which describe the contents of the server. The templates are
  381.  then used for automatic indexing of servers.
  382.  
  383.  The effectiveness of indexing is dependent on using well defined
  384.  keywords drawn from standard sets. 
  385.  
  386.  The Document-Icon header is used to specify a URL for
  387.  use as an icon in the hotlist and history list.
  388. -->
  389.  
  390. <!ELEMENT META - O EMPTY>
  391. <!ATTLIST META
  392.         id      ID      #IMPLIED -- to allow meta info  --
  393.         name    CDATA   #IMPLIED -- HTTP header e.g. "Expires" --
  394.         value   CDATA   #IMPLIED -- associated value -->
  395.  
  396. <![ %HTML.obsolete [
  397.  
  398. <!ELEMENT (MENU|DIR) - - (LI)+ -- plain single/multicolumn lists-->
  399.  
  400. ]]>
  401.  
  402. <![ %HTML.emph [
  403.  
  404. <!-- additional character emphasis -->
  405. <!ELEMENT (%emph2;) - O (%text;)*>
  406. <!ATTLIST (%emph2;)
  407.         id      ID      #IMPLIED -- link destination --
  408.         charset CDATA   #IMPLIED -- eg "ISO-2022-JP" for japanese -->
  409.  
  410. <!-- content is hidden, equivalent of LaTeX's \kill -->
  411. <!ELEMENT HIDE - - (%text;) -(HIDE)>
  412.  
  413. ]]>
  414.  
  415. <!ELEMENT BLOCKQUOTE - - (#PCDATA|%paras;|%lists;|%block1;|
  416.                                     BR|IMG )* -- block quote (obsolete) -->
  417.  
  418. <![ %HTML.forms [
  419.  
  420. <!--
  421.  The form contents are sent to the server upon pressing a submit
  422.  button. Forms can be associated with scripts, e.g. to make one
  423.  selection field effect which options are enabled for other fields.
  424.  
  425.  Clicking on a selection or typing into a text field result in events
  426.  which are processed by the script. Event handlers are associated
  427.  with each field or with the form itself. The script language is
  428.  deliberately restricted to avoid any security issues.
  429.  
  430.  Fields can be disabled (greyed out) or marked as being in error.
  431.  The MESSAGE element may be used by the server to set error messages.
  432.  Servers can store state information in forms with hidden input fields.
  433.  These are not displayed and can be used to hold transaction handles etc.
  434. -->
  435.  
  436. <!ELEMENT FORM - - ((%main;|%heading;|IMG)*, MESSAGE?) -(FORM) 
  437.            -- in this futuristic version, forms can't be nested -->
  438. <!ATTLIST FORM
  439.         action  %URL;   #IMPLIED -- defaults for URL for current doc --
  440.         script  %URL;   #IMPLIED -- locally executed event handlers --
  441.         method  CDATA   #IMPLIED -- GET, PUT, POST, DELETE etc. --
  442.         enctype CDATA   #IMPLIED -- encoding type for form transfers --
  443.         id      ID      #IMPLIED
  444.         charset CDATA   #IMPLIED -- eg "ISO-2022-JP" for japanese -->
  445.  
  446. <!-- Types of INPUT field:
  447.  text: one line text fields, size gives visible width of field in chars
  448.        where value may grow beyond this up to MAX (MAXLENGTH) chars.
  449.  password: like text fields but with no echo of typed characters
  450.  checkbox: for simple yes/no choices
  451.  radio: for one from many choices, each radio button in a group
  452.         has the same NAME but a different VALUE.
  453.  submit: Sends form to server. If the SRC attribute specifies an
  454.        icon the point clicked is sent to the server as per ISMAP.
  455.        The default NAME for this field is "Submit". The VALUE is used
  456.        as the buttobn label. The NAME/VALUE are submitted with the form
  457.        contents to allow servers to work out which button was pressed.
  458.  reset: Resets fields to their initial values. The VALUE is used as the
  459.        button label. The SRC attribute can be used for an icon button.
  460.  int: for input of integers, SIZE attribute gives width of field
  461.  float: for input of floating point numbers
  462.  date: for input of dates
  463.  url: for input of universal resource locators
  464.  hidden: used by server for state info, opaque to client
  465.  range: integer range from MIN to MAX, rendered as a slider etc.
  466.  scribble: Pen input, which may include time and pressure info, the
  467.         background can be initialised to an image with the SRC attribute
  468.  audio: sound input with up to MAX seconds
  469. -->
  470. <!ELEMENT INPUT - O EMPTY>
  471. <!ATTLIST INPUT
  472.         id      ID      #IMPLIED -- to allow meta info  --
  473.         name    CDATA   #IMPLIED -- attribute name (may not be unique) --
  474.         type    (%fields) text   -- a wide variety of field types --
  475.         charset CDATA   #IMPLIED -- eg "ISO-2022-JP" for japanese --
  476.         size    CDATA   #IMPLIED -- visible size of text fields --
  477.         min     NUMBER  #IMPLIED -- for range controls --
  478.         max     NUMBER  #IMPLIED -- for range controls or text fields --
  479.         maxlength NUMBER #IMPLIED -- max length of text fields (equiv to max)--
  480.         value   CDATA   #IMPLIED -- attribute value (altered by user) --
  481.         checked (checked) #IMPLIED -- for check boxes and radio buttons --
  482.         disabled (disabled) #IMPLIED -- if grayed out --
  483.         error   (error) #IMPLIED -- if in error --
  484.         src      %URL;  #IMPLIED -- for SUBMIT, SCRIBBLE & AUDIO fields --
  485.         alt     CDATA   #IMPLIED -- alternative text for VT100's etc --
  486.         align (top|middle|bottom) top -- for IMAGE fields only -->
  487.  
  488. <!-- multiline text input fields, we probably will want
  489.      to generalise this to accept arbitrary clipboard data
  490.      e.g. hypertext and images, in addition to plain text -->
  491. <!ELEMENT TEXTAREA - - RCDATA -- multi-line text fields -->
  492. <!ATTLIST TEXTAREA
  493.         id      ID      #IMPLIED -- to allow meta info  --
  494.         name    CDATA   #IMPLIED -- attribute name (may not be unique) --
  495.         cols    NUMBER  #IMPLIED -- visible width in characters --
  496.         rows    NUMBER  #IMPLIED -- visible height in characters --
  497.         wrap    (wrap)  #IMPLIED -- wrap input in text area --
  498.         disabled (disabled) #IMPLIED -- if grayed out --
  499.         error   (error) #IMPLIED -- if in error --
  500.         charset CDATA   #IMPLIED -- eg "ISO-2022-JP" for japanese -->
  501.  
  502. <!--
  503.      The EDIT attribute when present allows you to type and
  504.      edit the selected option.
  505.  
  506.      The SRC attribute allows for graphical menus, e.g. users
  507.      wanting to buy a house could click on each of the areas on
  508.      a map that they were interested in.
  509.  -->
  510. <!ELEMENT SELECT - - (OPTION+) -- combo style selection lists -->
  511. <!ATTLIST SELECT
  512.         src      %URL;  #IMPLIED -- for graphical menus --
  513.         id      ID      #IMPLIED -- to allow meta info  --
  514.         name    CDATA   #IMPLIED -- attribute name (may not be unique) --
  515.         edit    NUMBER  #IMPLIED -- width of editable selection --
  516.         multiple (multiple) #IMPLIED -- permits multiple selections --
  517.         error   (error) #IMPLIED -- if in error --
  518.         charset CDATA   #IMPLIED -- eg "ISO-2022-JP" for japanese -->
  519.  
  520. <!-- The SHAPE attribute defines a region in the image that
  521.      is specified by the SRC attribute for the SELECT element -->
  522. <!ELEMENT OPTION - O RCDATA>
  523. <!ATTLIST OPTION
  524.         id      ID      #IMPLIED -- to allow meta info  --
  525.         value   CDATA   #IMPLIED -- attribute value --
  526.         selected (selected) #IMPLIED -- if initially selected --
  527.         disabled (disabled) #IMPLIED -- if grayed out --
  528.         shape   CDATA   #IMPLIED -- list of points for shaped region --
  529.         charset CDATA   #IMPLIED -- eg "ISO-2022-JP" for japanese -->
  530.  
  531. <!--
  532.  Scripts executed by the client need a way of displaying
  533.  warning/error messages. We define an element so that the
  534.  server too can initialise this one-per-form message area.
  535.  Clients should preferably avoid displaying the message
  536.  in-line, as the window size may prevent the user from 
  537.  seeing the message.
  538.  -->
  539. <!ELEMENT MESSAGE - O RCDATA -- place for error/warning/info -->
  540. <!ATTLIST MESSAGE
  541.         id      ID      #IMPLIED -- to allow meta info  --
  542.         status  (info|warning|error) info
  543.         charset CDATA   #IMPLIED -- eg "ISO-2022-JP" for japanese -->
  544. ]]>
  545.  
  546.  
  547. <!-- IMG is intended to migrate for use in-line; "FIG"  will be used
  548. for block graphics in the future. For now, browsers support only IMG. 
  549. -->
  550.  
  551. <!ELEMENT IMG - O EMPTY>
  552. <!ATTLIST IMG
  553.         src     %URL;   #REQUIRED -- where to get image data --
  554.         align   (top|middle|bottom) top  -- top, middle or bottom --
  555.         alt     CDATA   #IMPLIED -- description for text-only displays --
  556.         ismap   (ismap) #IMPLIED  -- send mouse clicks/drags to server -->
  557.  
  558.  
  559. <!-- Like MENU and DIR, the following elements may appear in existing
  560. documents. All five elements are not declared as having a structural
  561. context. HoTMetaL will report them as errors on import and users can
  562. turn them into allowed elements.
  563. -->
  564.  
  565. <!ELEMENT KEY  - - (#PCDATA|%emph1;)*>
  566. <!ELEMENT PLAINTEXT - - RCDATA>
  567. <!ELEMENT NEXTID - O EMPTY>
  568. <!ATTLIST NEXTID N CDATA #IMPLIED
  569.           -- The number is a name suitable for use
  570.              for the ID of a new element. When used, the value
  571.              has its numeric part incremented. EG Z67 becomes Z68.
  572.              This is proposed for removal and is included here only
  573.              to allow documents which include the element to be opened.
  574.           -->
  575.  
  576.  
  577. <!-- The END -->
  578. <!-- ]  -->
  579.  
  580.  
  581.  
  582.