Mercurial > hg > xemacs-beta
diff etc/sgml/html-cougar.dtd @ 2:ac2d302a0011 r19-15b2
Import from CVS: tag r19-15b2
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:46:35 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/sgml/html-cougar.dtd Mon Aug 13 08:46:35 2007 +0200 @@ -0,0 +1,873 @@ +<!-- + This is an EXPERIMENTAL version of HTML (code named Cougar) that + extends HTML 3.2 to add support for work by the HTML ERB, including + style sheets, scripting, the object tag, internationalization and + some extensions to forms. The frame tags will probably be added + once we have an agreed definition for them. + + Draft: Wednesday 12-July-96 + + Author: Dave Raggett <dsr@w3.org> + + This is SUBJECT TO CHANGE, pending final approval by member + organizations of the World Wide Web Consortium. +--> + +<!ENTITY % HTML.Version + "-//W3C//DTD HTML Experimental 19960712//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Experimental 19960712//EN"> + <html> + ... + </html> + -- + > + +<!--================== Deprecated Features Switch =========================--> + +<!ENTITY % HTML.Deprecated "INCLUDE"> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URL "CDATA" + -- The term URL means a CDATA attribute + whose value is a Uniform Resource Locator, + See RFC1808 (June 95) and RFC1738 (Dec 94). + --> + +<!ENTITY % script "CDATA" -- scriptlet --> + +<!-- Parameter Entities --> + +<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list "UL | OL | DIR | MENU"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!--================ Character mnemonic entities ==========================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!--================ Entities for special symbols =========================--> + +<!ENTITY copy CDATA "©" -- copyright sign --> +<!ENTITY reg CDATA "®" -- registered sign --> +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> +<!ENTITY nbsp CDATA " " -- non breaking space --> +<!ENTITY trade CDATA "™" -- trade mark symbol --> +<!ENTITY shy CDATA "­" -- soft hyphen --> +<!ENTITY thinsp CDATA " " -- thin space (1/6 em) --> +<!ENTITY emsp CDATA " " -- em space --> +<!ENTITY ensp CDATA " " -- en space (1/2 em) --> +<!ENTITY mdash CDATA "—" -- em dash --> +<!ENTITY ndash CDATA "–" -- en dash --> + +<!-- Language-dependent BIDI and contextual analysis --> +<!ENTITY zwnj CDATA "‌" -- zero width non-joiner --> +<!ENTITY zwj CDATA "‍" -- zero width joiner --> +<!ENTITY lrm CDATA "‎" -- left-to-right mark --> +<!ENTITY rlm CDATA "‏" -- right-to-left mark --> + +<!--=================== Generic Attributes ================================--> + +<!ENTITY % style + "id ID #IMPLIED -- document wide unique id -- + class CDATA #IMPLIED -- comma list of class values -- + style CDATA #IMPLIED -- associated style info --" + > + +<!ENTITY % i18n + "lang NAME #IMPLIED -- RFC 1766 language value -- + dir (ltr|rtl) #IMPLIED -- default directionality --" + > + +<!ENTITY % attrs "%style %i18n"> + +<!ENTITY % just + "align (left|center|right|justify) #IMPLIED" + -- default is left for ltr paragraphs, right for rtl -- + > + +<!--=================== Text Markup =======================================--> + +<!ENTITY % font "TT | I | B | U | S | BIG | SMALL | SUB | SUP"> + +<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | Q"> + +<!ENTITY % special + "A|IMG|APPLET|OBJECT|FONT|BASEFONT|BR|SCRIPT|STYLE|MAP|SPAN|BDO"> + +<!ENTITY % form "INPUT | SELECT | TEXTAREA | LABEL"> + +<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form"> + +<!ELEMENT (%font|%phrase) - - (%text)*> +<!ATTLIST (%font|%phrase) %attrs> + +<!-- There are also 16 widely known color names: + + Black = #000000 Green = #008000 + Silver = #C0C0C0 Lime = #00FF00 + Gray = #808080 Olive = #808000 + White = #FFFFFF Yellow = #FFFF00 + Maroon = #800000 Navy = #000080 + Red = #FF0000 Blue = #0000FF + Purple = #800080 Teal = #008080 + Fuchsia= #FF00FF Aqua = #00FFFF + + These colors were originally picked as being the standard + 16 colors supported with the Windows VGA palette. The above + gives the sRGB values in hex (#RRGGBB). + --> + +<!ELEMENT SPAN - - (%text)* -- generic language/style container --> +<!ATTLIST SPAN %attrs> + +<!ELEMENT BDO - - (%text)* -- I18N BiDi over-ride --> +<!ATTLIST BDO + lang NAME #IMPLIED -- RFC 1766 language value -- + dir (ltr|rtl) #REQUIRED -- directionality -- + > + +<!ELEMENT BASEFONT - O EMPTY> +<!ATTLIST BASEFONT + size CDATA #REQUIRED -- base font size for FONT elements -- + > + +<!ELEMENT FONT - - (%text)* -- local change to font --> +<!ATTLIST FONT + size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 -- + color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" -- + face CDATA #IMPLIED -- comma separated list of font names -- + > + +<!ELEMENT BR - O EMPTY -- forced line break --> +<!ATTLIST BR + %attrs; -- id, class, style, lang, dir -- + clear (left|all|right|none) none -- control of text flow -- + > + +<!--================== HTML content models ================================--> +<!-- + HTML has three basic content models: + + %text character level elements and text strings + %flow block-like elements e.g. paragraphs and lists + %bodytext as (b) plus headers and ADDRESS +--> + +<!ENTITY % block + "P | %list | %preformatted | DL | DIV | CENTER | + BLOCKQUOTE | FORM | ISINDEX | HR | TABLE | FIELDSET"> + +<!-- %flow is used for DD and LI --> + +<!ENTITY % flow "(%text | %block)*"> + +<!--=================== Document Body =====================================--> + +<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*"> + +<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? --> + +<!ENTITY % body-color-attrs " + bgcolor %color #IMPLIED + text %color #IMPLIED + link %color #IMPLIED + vlink %color #IMPLIED + alink %color #IMPLIED + "> + +<!ELEMENT BODY O O %body.content> +<!ATTLIST BODY + %attrs; -- id, class, style, lang, dir -- + background %URL #IMPLIED -- texture tile for document background -- + %body-color-attrs; -- bgcolor, text, link, vlink, alink -- + onLoad %script #IMPLIED -- intrinsic event -- + onUnload %script #IMPLIED -- intrinsic event -- + > + +<!ENTITY % address.content "((%text;) | P)*"> + +<!ELEMENT ADDRESS - - %address.content> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + %attrs; -- id, class, style, lang, dir -- + %just; -- alignment of following text -- + > + +<!-- CENTER is a shorthand for DIV with ALIGN=CENTER --> +<!ELEMENT center - - %body.content> + +<!--================== The Anchor Element =================================--> +<!-- see WD-object draft for OBJECT client-side imagemap extensions --> + +<!ENTITY % SHAPE "(rect|circle|poly|default)"> +<!ENTITY % COORDS "CDATA" -- comma separated list of numbers --> + +<!ELEMENT A - - (%text)* -(A)> +<!ATTLIST A + %attrs; -- id, class, style, lang, dir -- + name CDATA #IMPLIED -- named link end -- + href %URL #IMPLIED -- URL for linked resource -- + rel CDATA #IMPLIED -- forward link types -- + rev CDATA #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + accesskey CDATA #IMPLIED -- accessibility key character -- + shape %SHAPE rect -- for use with OBJECT SHAPES -- + coords %COORDS #IMPLIED -- for use with OBJECT SHAPES -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onClick %script #IMPLIED -- intrinsic event -- + onMouseOver %script #IMPLIED -- intrinsic event -- + onMouseOut %script #IMPLIED -- intrinsic event -- + > + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ELEMENT MAP - - (AREA)*> +<!ATTLIST MAP + name CDATA #IMPLIED + > + +<!ELEMENT AREA - O EMPTY> +<!ATTLIST AREA + shape %SHAPE rect + coords %COORDS #IMPLIED -- always needed except for shape=default -- + href %URL #IMPLIED -- this region acts as hypertext link -- + nohref (nohref) #IMPLIED -- this region has no action -- + title CDATA #IMPLIED -- advisory title string for balloon help -- + alt CDATA #REQUIRED -- description for text only browsers -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onClick %script #IMPLIED -- intrinsic event -- + onMouseOver %script #IMPLIED -- intrinsic event -- + onMouseOut %script #IMPLIED -- intrinsic event -- + > + +<!--================== The LINK Element ==================================--> + +<!ENTITY % Types "CDATA" + -- See Internet Draft: draft-ietf-html-relrev-00.txt + LINK has been part of HTML since the early days + although few browsers as yet take advantage of it. + + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the LINK element in document head: + b) to link to a separate style sheet (rel=stylesheet) + c) to make a link to a script (rel=script) + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a postscript or pdf version (rel=print) +--> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + %style; -- id, class, style -- + href %URL #IMPLIED -- URL for linked resource -- + rel %Types #IMPLIED -- forward link types -- + rev %Types #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + type CDATA #IMPLIED -- advisory Internet media type -- + > + +<!--=================== Images ============================================--> + +<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> +<!ENTITY % Pixels "CDATA" -- integer representing length in pixels --> + +<!-- Suggested widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ENTITY % IAlign "(top|middle|bottom|left|right)" -- center? --> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + %style; -- id, class, style -- + src %URL #REQUIRED -- URL of image to embed -- + alt CDATA #IMPLIED -- for display in place of image -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #IMPLIED -- suggested height in pixels -- + width %Pixels #IMPLIED -- suggested width in pixels -- + border %Pixels #IMPLIED -- suggested link border width -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + usemap %URL #IMPLIED -- use client-side image map -- + ismap (ismap) #IMPLIED -- use server image map -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!-- USEMAP points to a MAP element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--=================== OBJECT tag ===================================--> +<!-- OBJECT is a character-like element for inserting objects, see + W3C working draft: http://www.w3.org/pub/WWW/TR/WD-object.html --> + +<!ENTITY % OAlign "(texttop|middle|textmiddle|baseline| + textbottom|left|center|right)"> + +<!ELEMENT OBJECT - - (param | %body.content)*> +<!ATTLIST OBJECT + %attrs -- id, class, style, lang, dir -- + declare (declare) #IMPLIED -- declare but don't instantiate flag -- + classid %URL #IMPLIED -- identifies an implementation -- + codebase %URL #IMPLIED -- some systems need an additional URL -- + data %URL #IMPLIED -- reference to object's data -- + type CDATA #IMPLIED -- Internet media type for data -- + codetype CDATA #IMPLIED -- Internet media type for code -- + standby CDATA #IMPLIED -- message to show while loading -- + align %OAlign #IMPLIED -- positioning inside document -- + height %Length #IMPLIED -- suggested height -- + width %Length #IMPLIED -- suggested width -- + border %Length #IMPLIED -- suggested link border width -- + hspace %Length #IMPLIED -- suggested horizontal gutter -- + vspace %Length #IMPLIED -- suggested vertical gutter -- + usemap %URL #IMPLIED -- reference to image map -- + shapes (shapes) #IMPLIED -- object has shaped hypertext links -- + name %URL #IMPLIED -- submit as part of form -- + title CDATA #IMPLIED -- advisory title string -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + > + +<!ELEMENT param - O EMPTY -- named property value --> +<!ATTLIST param + name CDATA #REQUIRED -- property name -- + value CDATA #IMPLIED -- property value -- + valuetype (DATA|REF|OBJECT) DATA -- How to interpret value -- + type CDATA #IMPLIED -- Internet media type -- + > + +<!--=================== Java APPLET tag ===================================--> +<!-- + This tag is supported by all java enabled browsers. Applet resources + (including their classes) are normally loaded relative to the document + URL (or <BASE> element if it is defined). The CODEBASE attribute is used + to change this default behavior. If the CODEBASE attribute is defined then + it specifies a different location to find applet resources. The value + can be an absolute URL or a relative URL. The absolute URL is used as is + without modification and is not effected by the documents <BASE> element. + When the codebase attribute is relative, then it is relative to the + document URL (or <BASE> tag if defined). <TEXTFLOW> avoids the problems + with SGML mixed content. It can always be omitted *except* when the APPLET + element hasn't any content. White space, comments and PARAM elements + don't count as content for this purpose. TEXTFLOW was introduced into + the DTD to satisfy SGML parsers, but is ignored by current Web browsers. +--> +<!ELEMENT APPLET - - (PARAM*, TEXTFLOW)> +<!ATTLIST APPLET + %style; -- id, class, style -- + codebase %URL #IMPLIED -- code base -- + code CDATA #REQUIRED -- class file -- + name CDATA #IMPLIED -- applet name -- + alt CDATA #IMPLIED -- for display in place of applet -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #REQUIRED -- suggested height in pixels -- + width %Pixels #REQUIRED -- suggested width in pixels -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + title CDATA #IMPLIED -- advisory title string -- + download NUMBER #IMPLIED -- image download order -- + > + +<!ELEMENT TEXTFLOW O O (%text)* -- needed to bypass mixed content model --> + +<!-- +Here is an example: + + <applet codebase="applets/NervousText" + code=NervousText.class + width=300 + height=50> + <param name=text value="Java is Cool!"> + <img src=sorry.gif alt="This looks better with Java support"> + </applet> +--> + +<!--=================== Horizontal Rule ===================================--> + +<!ELEMENT HR - O EMPTY> +<!ATTLIST HR + %style; -- id, class, style -- + align (left|right|center) #IMPLIED + noshade (noshade) #IMPLIED + size %Pixels #IMPLIED + width %Length #IMPLIED + > +<!--=================== Paragraphs =========================================--> + +<!ELEMENT P - O (%text)*> +<!ATTLIST P + %attrs; -- id, class, style, lang, dir -- + %just; -- text alignment -- + > + +<!--=================== Headings ==========================================--> + +<!-- + There are six levels of headers from H1 (the most important) + to H6 (the least important). +--> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!ATTLIST ( %heading ) + %attrs; -- id, class, style, lang, dir -- + %just; -- text alignment -- + > + +<!--=================== Preformatted Text =================================--> + +<!-- excludes images and changes in font size --> + +<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> +<!ATTLIST PRE + %attrs; -- id, class, style, lang, dir -- + width NUMBER #implied -- is this widely supported? -- + > + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Block-like Quotes =================================--> + +<!ELEMENT BLOCKQUOTE - - %body.content> +<!ATTLIST BLOCKQUOTE %attrs> + +<!--=================== Lists =============================================--> + +<!-- + HTML 3.2 allows you to control the sequence number for ordered lists. + You can set the sequence number with the START and VALUE attributes. + The TYPE attribute may be used to specify the rendering of ordered + and unordered lists. +--> + +<!-- definition lists - DT for term, DD for its definition --> + +<!ELEMENT DL - - (DT|DD)*> +<!ATTLIST DL + %attrs; -- id, class, style, lang, dir -- + compact (compact) #IMPLIED -- more compact style -- + > + +<!ELEMENT DT - O (%text)*> +<!ELEMENT DD - O %flow;> +<!ATTLIST (DT|DD) %attrs> + +<!-- Ordered lists OL, and unordered lists UL --> +<!ELEMENT (OL|UL) - - (LI)*> + +<!-- + Numbering style + 1 arablic numbers 1, 2, 3, ... + a lower alpha a, b, c, ... + A upper alpha A, B, C, ... + i lower roman i, ii, iii, ... + I upper roman I, II, III, ... + + The style is applied to the sequence number which by default + is reset to 1 for the first list item in an ordered list. + + This can't be expressed directly in SGML due to case folding. +--> + +<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] --> + +<!ATTLIST OL -- ordered lists -- + %attrs; -- id, class, style, lang, dir -- + type %OLStyle #IMPLIED -- numbering style -- + start NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!-- bullet styles --> + +<!ENTITY % ULStyle "disc|square|circle"> + +<!ATTLIST UL -- unordered lists -- + %attrs; -- id, class, style, lang, dir -- + type (%ULStyle) #IMPLIED -- bullet style -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT (DIR|MENU) - - (LI)* -(%block)> +<!ATTLIST DIR + compact (compact) #IMPLIED + > +<!ATTLIST MENU + compact (compact) #IMPLIED + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!-- The type attribute can be used to change the bullet style + in unordered lists and the numbering style in ordered lists --> + +<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" --> + +<!ELEMENT LI - O %flow -- list item --> +<!ATTLIST LI + %attrs; -- id, class, style, lang, dir -- + type %LIStyle #IMPLIED -- list item style -- + value NUMBER #IMPLIED -- reset sequence number -- + > + +<!--================ Forms ===============================================--> + +<!ELEMENT FORM - - %body.content -(FORM)> +<!ATTLIST FORM + action %URL #REQUIRED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + onSubmit %script #IMPLIED -- intrinsic event -- + > + +<!ELEMENT LABEL - - (%text)* -(LABEL) -- field label text --> +<!ATTLIST LABEL + %attrs; -- id, class, style, lang, dir -- + for IDREF #IMPLIED -- matches field ID value -- + accesskey CDATA #IMPLIED -- accessibility key character -- + title CDATA #IMPLIED -- advisory title string -- + onClick %script #IMPLIED -- intrinsic event -- + > +<!ENTITY % InputType + "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + FILE | HIDDEN | IMAGE | BUTTON)" + > + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + %attrs; -- id, class, style, lang, dir -- + type %InputType TEXT -- what kind of widget is needed -- + name CDATA #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio and checkboxes -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + title CDATA #IMPLIED -- advisory title string -- + size CDATA #IMPLIED -- specific to each type of field -- + maxlength NUMBER #IMPLIED + src %URL #IMPLIED -- for fields with background images -- + align (top|middle|bottom|left|right) top -- image alignment -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onClick %script #IMPLIED -- intrinsic event -- + onFocus %script #IMPLIED -- intrinsic event -- + onBlur %script #IMPLIED -- intrinsic event -- + onSelect %script #IMPLIED -- intrinsic event -- + onChange %script #IMPLIED -- intrinsic event -- + > + +<!ELEMENT SELECT - - (OPTION+)> +<!ATTLIST SELECT + %attrs; -- id, class, style, lang, dir -- + name CDATA #REQUIRED + size NUMBER #IMPLIED + multiple (multiple) #IMPLIED + title CDATA #IMPLIED -- advisory title string -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onFocus %script #IMPLIED -- intrinsic event -- + onBlur %script #IMPLIED -- intrinsic event -- + onChange %script #IMPLIED -- intrinsic event -- + > + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + %attrs; -- id, class, style, lang, dir -- + selected (selected) #IMPLIED + value CDATA #IMPLIED -- defaults to element content -- + > + +<!-- Multi-line text input field. --> + +<!ELEMENT TEXTAREA - - (#PCDATA)*> +<!ATTLIST TEXTAREA + %attrs; -- id, class, style, lang, dir -- + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + title CDATA #IMPLIED -- advisory title string -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onFocus %script #IMPLIED -- intrinsic event -- + onBlur %script #IMPLIED -- intrinsic event -- + onSelect %script #IMPLIED -- intrinsic event -- + onChange %script #IMPLIED -- intrinsic event -- + > + +<!-- captioned set of related form fields --> + +<!ELEMENT FIELDSET - - (CAPTION?, %body.content)> +<!ATTLIST FIELDSET + %attrs; -- id, class, style, lang, dir -- + title CDATA #IMPLIED -- advisory title string --> + +<!--======================= Tables ========================================--> + +<!-- IETF HTML table standard, see RFC 1942 e.g. at + http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt --> + +<!-- + The BORDER attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The FRAME attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the VALIGN attribute. + + The value "border" is included for backwards compatibility with + <TABLE BORDER> which yields frame=border and border=implied + For <TABLE BORDER=1> you get border=1 and frame=implied. In this + case, its appropriate to treat this as frame=border for backwards + compatibility with deployed browsers. +--> + +<!ENTITY % Frame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + +<!-- + The RULES attribute defines which rules to draw between cells: + + If RULES is absent then assume: + "none" if BORDER is absent or BORDER=0 otherwise "all" +--> + +<!ENTITY % Rules "(none | groups | rows | cols | all)"> + +<!-- horizontal placement of table relative to window --> +<!ENTITY % Where "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents --> +<!ENTITY % cell.halign + "align (left|center|right|justify|char) #IMPLIED + char CDATA #IMPLIED -- alignment char, e.g. char=':' -- + charoff CDATA #IMPLIED -- offset for alignment char --" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cell.valign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + +<!ELEMENT table - - (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)> +<!ELEMENT caption - - (%text;)+> +<!ELEMENT thead - O (tr+)> +<!ELEMENT tfoot - O (tr+)> +<!ELEMENT tbody O O (tr+)> +<!ELEMENT colgroup - O (col*)> +<!ELEMENT col - O EMPTY> +<!ELEMENT tr - O (th|td)+> +<!ELEMENT (th|td) - O %body.content> + +<!ATTLIST table -- table element -- + %attrs; -- id, lang, style, dir and class -- + align %Where; #IMPLIED -- table position relative to window -- + width CDATA #IMPLIED -- table width relative to window -- + cols NUMBER #IMPLIED -- used for immediate display mode -- + border CDATA #IMPLIED -- controls frame width around table -- + frame %Frame; #IMPLIED -- which parts of table frame to include -- + rules %Rules; #IMPLIED -- rulings between rows and cols -- + cellspacing CDATA #IMPLIED -- spacing between cells -- + cellpadding CDATA #IMPLIED -- spacing within cells -- + > + +<!-- ALIGN is used here for compatibility with deployed browsers --> +<!ENTITY % Caption "(top|bottom|left|right)"> + +<!ATTLIST caption -- table caption -- + %attrs; -- id, lang, style, dir and class -- + align %Caption; #IMPLIED -- relative to table -- + accesskey CDATA #IMPLIED -- accessibility key character -- + > + +<!-- +COLGROUP groups a set of COL elements. It allows you to group +several columns together. +--> + +<!ATTLIST colgroup + %attrs; -- id, lang, style, dir and class -- + span NUMBER 1 -- default number of columns in group -- + width CDATA #IMPLIED -- default width for enclosed COLs -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!-- + COL elements define the alignment properties for cells in a given + column or spanned columns. The WIDTH attribute specifies the + width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 +--> + +<!ATTLIST col -- column groups and properties -- + %attrs; -- id, lang, style, dir and class -- + span NUMBER 1 -- number of columns spanned by group -- + width CDATA #IMPLIED -- column width specification -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!-- + Use THEAD to duplicate headers when breaking table + across page boundaries, or for static headers when + body sections are rendered in scrolling panel. + + Use TFOOT to duplicate footers when breaking table + across page boundaries, or for static footers when + body sections are rendered in scrolling panel. + + Use multiple TBODY sections when rules are needed + between groups of table rows. +--> +<!ATTLIST (thead|tbody|tfoot) -- table section -- + %attrs; -- id, lang, style, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!ATTLIST tr -- table row -- + %attrs; -- id, lang, style, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!ATTLIST (th|td) -- header or data cell -- + %attrs; -- id, lang, style, dir and class -- + axis CDATA #IMPLIED -- defaults to cell content -- + axes CDATA #IMPLIED -- list of axis names -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + bgcolor %color #IMPLIED -- cell background color -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > +<!--================ Document Head ========================================--> + +<!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" --> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE?"> + +<!ELEMENT HEAD O O (%head.content) +(%head.misc)> + +<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> +<!ATTLIST TITLE %i18n> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + %i18n; -- lang, dir -- + prompt CDATA #IMPLIED -- prompt message --> + +<!-- + The BASE element gives an absolute URL for dereferencing relative + URLs, e.g. + + <BASE href="http://foo.com/index.html"> + ... + <IMG SRC="images/bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif + + In the absence of a BASE element the document URL should be used. + Note that this is not necessarily the same as the URL used to + request the document, as the base URL may be overridden by an HTTP + header accompanying the document. +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + href %URL #REQUIRED + > + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!-- SCRIPT/STYLE are place holders for transition to next version of HTML --> + +<!ELEMENT STYLE - - CDATA -- style info --> +<!ATTLIST STYLE + %i18n; -- lang, dir for use with title string -- + type CDATA #REQUIRED -- Internet media type for style notation -- + title CDATA #IMPLIED -- advisory title for this style -- + > + +<!ELEMENT SCRIPT - - CDATA -- script statements --> +<!ATTLIST SCRIPT + type CDATA #IMPLIED -- Internet media type for style notation -- + language CDATA #IMPLIED -- predefined script language name -- + src %URL #IMPLIED -- URL for an external script -- + > + +<!--================ Document Structure ===================================--> + +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> + +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ATTLIST HTML + %version.attr; + >