Mercurial > hg > xemacs-beta
view etc/sgml/html-plus+.dtd @ 8:4b173ad71786 r19-15b5
Import from CVS: tag r19-15b5
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:47:35 +0200 |
parents | 376386a54a3c |
children |
line wrap: on
line source
<!DOCTYPE HTMLPLUS [ <!-- DTD for HTML+ It assumes the default <!SGML> declaration. Markup minimisation should be avoided with the exception of </> for the endtag. Browsers should be forgiving of markup errors. Common Attributes: id The id attribute allows authors to name elements such as headers and paragraphs as potential destinations for links. Note links don't specify points, but rather extended objects. index Allows authors to specify how given headers etc should be indexed as primary or secondary keys, where "/" separates primary from secondary keys ";" separates multiple entries --> <!-- ENTITY DECLARATIONS with <!ENTITY> <!ENTITY % foo "X | Y | Z"> is a macro definition for parameters and in subsequent statements, the string "%foo;" is expanded to "X | Y | Z" Various classes of SGML text types: #CDATA text which doesn't include markup or entity references #RCDATA text with entity references but no markup #PCDATA text occurring in a context in which markup and entity references may occur. --> <!ENTITY % URL "CDATA" -- a URL or URN designating a hypertext node --> <!ENTITY % text "#PCDATA|A|IMG|EM|EMBED|INPUT|SP|BR|ADDRESS|CHANGED"> <!ENTITY % paras "P|PRE|FIG|HR"> <!ENTITY % lists "UL|OL|DL"> <!ENTITY % misc "TBL|FORM|PANEL|GROUP"> <!ENTITY % heading "H1|H2|H3|H4|H5|H6"> <!ENTITY % table "%text;|P|%heading;|%lists;"> <!ENTITY % main "%heading;|%misc;|%lists;|%paras;|%text;"> <!ENTITY % setup "(TITLE? & HTML? &ISINDEX? & NEXTID? & LINK* & BASE?)"> <!-- <!ELEMENT tagname - - CONTENT> elements needing closing tags <!ELEMENT tagname - O CONTENT> elements without closing tags <!ELEMENT tagname - O EMPTY> elements without content or closing tags The content definition is: a) an entity reference as defined above b) a tagname c) (brackets enclosing the above) These may be combined with the operators: A* A occurs zero or more times A+ A occurs one or more times AŻB implies either A or B A? A may occur zero or one times A,B implies first A then B --> <!ELEMENT HTMLPLUS O O ((HEAD, BODY) | ((%setup;), (%main;)*))> <!ELEMENT HEAD - - (%setup;)> <!ELEMENT BODY - - (%main;)*> <!-- Document title --> <!ELEMENT TITLE - - (#PCDATA | EM)+> <!ATTLIST TITLE id ID #IMPLIED -- link destination -- index CDATA #IMPLIED -- entries for index compilation --> <!-- Document/Node role for cataloging documents held by servers --> <!ELEMENT HTML - O (EMPTY)> <!ATTLIST HTML role CDATA #IMPLIED -- home page, index, ... --> <!-- Floating panel which can be moved around relative to the normal text flow. Often rendered with a different background and possibly framed. The panel can be anchored to a named point in the document as specified by the AT attribute. The panel may be placed at that point or after, but not before. --> <!ELEMENT PANEL - - (TITLE?, (%main;)*)> <!ATTLIST PANEL id ID #IMPLIED -- defines link destination -- at IDREF #IMPLIED -- anchor point -- index CDATA #IMPLIED -- entries for index compilation --> <!-- Document headers --> <!ELEMENT (%heading;) - - (#PCDATA | A | EM)+> <!ATTLIST (%heading;) id ID #IMPLIED -- defines link destination -- index CDATA #IMPLIED -- entries for index compilation --> <!-- logical emphasis with optional style hints --> <!ELEMENT EM - - (%text;)*> <!ATTLIST EM role CDATA #IMPLIED -- semantic category e.g. CITE -- b (b) #IMPLIED -- render in bold font -- i (i) #IMPLIED -- render in italic font -- u (u) #IMPLIED -- underline text -- tt (tt) #IMPLIED -- render in typewriter font -- tr (tr) #IMPLIED -- render in serif (Times Roman) font -- hv (hv) #IMPLIED -- render in sans serif (Helvetica) font -- sup (sup) #IMPLIED -- superscript -- sub (sub) #IMPLIED -- subscript -- index CDATA #IMPLIED -- entries for index compilation --> <!-- Paragraphs with different roles and optional style hints --> <!ELEMENT P - O (%text;)+> <!ATTLIST P id ID #IMPLIED -- link destination -- role CDATA #IMPLIED -- semantic role -- align CDATA #IMPLIED -- left, center or right -- indent (indent) #IMPLIED -- indented margins -- index CDATA #IMPLIED -- entries for index compilation --> <!ELEMENT HR - O EMPTY -- horizontal rule --> <!ELEMENT BR - O EMPTY -- line break --> <!ELEMENT SP - O EMPTY -- unbreakable space --> <!-- Preformatted text with fixed pitch font, respecting original spacing and newlines. Authors can also request proportional fonts. Further control is possible with EM. --> <!ELEMENT ADDRESS - - (%text;|P)+> <!ELEMENT PRE - - (%text;)+> <!ATTLIST PRE id ID #IMPLIED -- link destination -- style CDATA #IMPLIED -- various styles -- tr (tr) #IMPLIED -- serif (Times Roman) font -- hv (hv) #IMPLIED -- sans serif (Helvetica) font -- width NUMBER #IMPLIED -- e.g. 40, 80, 132 -- index CDATA #IMPLIED -- entries for index compilation --> <!-- Lists which can be nested --> <!ELEMENT OL - - (LI | UL | OL)+ -- ordered list --> <!ATTLIST OL id ID #IMPLIED compact (compact) #IMPLIED index CDATA #IMPLIED -- entries for index compilation --> <!ELEMENT UL - - (LI | UL | OL)+ -- unordered list --> <!ATTLIST UL id ID #IMPLIED -- link destination -- compact (compact) #IMPLIED -- reduced interitem spacing -- narrow (narrow) #IMPLIED -- narrow perhaps multi columns -- index CDATA #IMPLIED -- entries for index compilation --> <!-- List items for UL and OL lists --> <!ELEMENT LI - O (P|%text;)+> <!ATTLIST LI id ID #IMPLIED src %URL; #IMPLIED -- icon for use in place of bullet -- index CDATA #IMPLIED -- entries for index compilation --> <!-- Definition Lists (terms + definitions) --> <!ELEMENT DL - - (DT,DD)+ -- DT and DD *MUST* be paired -- > <!ATTLIST DL id ID #IMPLIED compact (compact) #IMPLIED index CDATA #IMPLIED -- entries for index compilation --> <!ELEMENT DT - O (%text;)+ -- term text -- > <!ELEMENT DD - O (P|QUOTE|UL|OL|%text;)+ -- definition text -- > <!ATTLIST (DT|DD) id ID #IMPLIED index CDATA #IMPLIED -- entries for index compilation --> <!-- Tables with titles and column headers, e.g. <tbl border> <tt> An Example of a Table <th> <th s="2"> average <th> other <tr> <th> <th> height <th> weight <th> category <tr> <td> males <td> 1.9 <td> .003 <td> yyy <tr> <td> females <td> 1.7 <td> .002 <td> xxx </tbl> --> <!ELEMENT TBL - - (TT?, (TH|TD|TR|TB)*) -- mixed headers and data --> <!ATTLIST TBL id ID #IMPLIED compact (compact) #IMPLIED -- if present use compact style -- border (border) #IMPLIED -- if present draw borders -- index CDATA #IMPLIED -- entries for index compilation --> <!ELEMENT TT - O (%text;)+ -- table title --> <!ATTLIST TT top (top) #IMPLIED -- place title above table --> <!ELEMENT TH - O (%table;)* -- a header cell --> <!ATTLIST TH colspan NUMBER 1 -- columns spanned -- rowspan NUMBER 1 -- rows spanned -- align CDATA #IMPLIED -- left, center or right --> <!ELEMENT TD - O (%table;)* -- a data cell --> <!ATTLIST TD colspan NUMBER 1 -- columns spanned -- rowspan NUMBER 1 -- rows spanned -- align CDATA #IMPLIED -- left, center or right --> <!ELEMENT TR - O EMPTY -- row *separator* not terminator --> <!ELEMENT TB - O EMPTY -- vertical break of 1/2 line spacing --> <!-- Forms composed from input fields and selection menus These elements define fields which users can type into or select with mouse clicks. The browser should manage the input focus e.g. with the tab/shift tab keys and mouse clicks. The enter/return key is then taken to mean the use has filled in the form and wants the apppropriate action taken: - send as query/update to WWW server - email/fax to designated person The action is specified as a URL, e.g. "mailto:dsr@hplb.hpl.hp.com You can specify additional mail headers with the MH tag: <MH>Subject: Please add me to tennis tournament</MH> Each FORM should include one or more INPUT elements which can be layed out with normal and preformatted text, lists and tables. --> <!ELEMENT FORM - - (MH?,(%main;)*)> <!ATTLIST FORM id ID #IMPLIED action %URL; #IMPLIED index CDATA #IMPLIED -- entries for index compilation --> <!ELEMENT MH - - CDATA -- one or more RFC 822 header fields --> <!ATTLIST MH hidden (hidden) #IMPLIED -- hide mail headers from view --> <!-- INPUT elements should be defined within a FORM element. Users can alter the value of the INPUT element by typing or clicking with the mouse. Use radio buttons for selecting one attribute value from a set of alternatives. In this case there will be several INPUT elements with the same name. Attributes which can take multiple values at the same time should be defined with checkboxes: define each allowed value in a separate INPUT element but with the same attribute name. For checkboxes and radio buttons, the value doesn't change, instead the state of the button shown by the presence or absence of the checked attribute in each element. The size attribute specifies the size of the input field as appropriate to each type. For text this gives the width in characters and height in lines (separated by an "x"). For numbers this gives the maximum precision. --> <!ELEMENT INPUT - O EMPTY> <!ATTLIST INPUT name CDATA #IMPLIED -- attribute name (may not be unique) -- type CDATA #IMPLIED --TEXT,URL,INT,FLOAT,DATE,CHECKBOX,RADIO-- size CDATA #IMPLIED -- e.g."32x4" for multiline text -- value CDATA #IMPLIED -- attribute value (altered by user) -- checked (checked) #IMPLIED -- for check boxes and radio buttons -- disabled (disabled) #IMPLIED -- if grayed out -- error (error) #IMPLIED -- if in error --> <!-- Embedded Data You can embed information in a foreign format into the HTML+ document. This is very convenient for mathematical equations and simple drawings. Images and complex drawings are better specified as linked documents using the FIG or IMG elements. Arbitrary 8 bit data is allowed but any occurrences of the following chars must be escaped as shown: "&" by "&" "<" by "<" ">" by ">" The browser can pipe such data thru filters to generate the corresponding pixmap The data format is specified as a MIME content type, e.g. "text/eqn" --> <!ELEMENT EMBED - - (RCDATA)> <!ATTLIST EMBED id ID #IMPLIED type CDATA #IMPLIED -- mime content type -- index CDATA #IMPLIED -- entries for index compilation --> <!-- Figures The image/drawing is specified by a URL or as embedded data for simple drawings. The element's text serves as the caption. Use the emphasis with style = "credits" to record photo credits etc. FIGD allows dumb terminals etc to show a textual description in place of the actual sound sequence, image, movie or graphic. --> <!ELEMENT FIG - - (EMBED?, FIGD?, (FIGA|FIGT)*, (%text;)*)> <!ATTLIST FIG id ID #IMPLIED align CDATA #IMPLIED -- position: left, right or center -- cap CDATA #IMPLIED -- caption at left, right, top, bottom -- noflow (noflow) #IMPLIED -- disables text flow -- ismap (ismap) #IMPLIED -- server can handle mouse clicks/drags -- src %URL; #IMPLIED -- link to image data -- index CDATA #IMPLIED -- entries for index compilation --> <!ELEMENT FIGD - - (%table;) -- figure description --> <!-- Figure anchors designate polygonal areas on the figure which can be clicked with the mouse. The default area is the whole of the figure. This mechanism interprets mouse clicks locally, and browsers can choose to highlight the designated area (or change the mouse sprite) when the mouse is moved over the area. Note that polygons may be non-convex or even intersect themselves, thereby complicating the definition of what is enclosed by the polygon. Holes are excluded. --> <!ELEMENT FIGA - O EMPTY> <!ATTLIST FIGA href %URL; #REQUIRED -- link to traverse when clicked -- area NUMBERS #IMPLIED -- x1,y1,x2,y2,x3,y3,... --> <!-- FIGT Text on top of an figure background, or in a colored background box which sits arbitrarily on top of an figure background. The text can include headers, lists and tables etc. The width attribute allows you to limit the width of the text box. The height is then determined automatically by the browser. FIGT can also be used to position a graphic on top of a picture using an IMG element within FIGT. In this case the chromakey attribute may allow parts of the underlying image to show through. You can make the whole of the box into a hypertext link. This will act as if it is underneath any hypertext links specified by the overlay markup itself. --> <!ELEMENT FIGT - - (%main;)> <!ATTLIST FIGT at NUMBERS #IMPLIED -- upper left origin for text -- width NUMBER #IMPLIED -- given as fraction of picture -- framed (framed) #IMPLIED -- framed with coloured background -- href %URL; #IMPLIED -- link to traverse when clicked --> <!-- inline icons/small graphics The align attribute defines whether the top middle or bottom of the graphic and current text line should be aligned vertically The SEETHRU attribute is intended as a chromakey to allow a given colour to be designated as "transparent". Pixels with this value should not be painted. The exact format of this attribute's value has yet to be defined. Use the FIG tag for captioned figures with active areas etc. --> <!ELEMENT IMG - O EMPTY> <!ATTLIST IMG src %URL; #REQUIRED -- where to get image data -- align CDATA #IMPLIED -- top, middle or bottom -- seethru CDATA #IMPLIED -- for transparency -- ismap (ismap) #IMPLIED -- send mouse clicks/drags to server --> <!-- Hierarchical groups for books, chapters, sections etc. --> <!ELEMENT GROUP - - ((TITLE|LINK*), (%main;)*)> <!ATTLIST GROUP id ID #IMPLIED role CDATA #IMPLIED -- book, chapter, section etc. -- inset (inset) #IMPLIED -- rendering hint: indent margins --> <!-- change bars defined by a matched pair of CHANGED elements: <changed id=z34> changed text <changed idref=z34> This tag can't act as a container, since changes don't respect the nesting implied by paragraphs, headers, lists etc. --> <!ELEMENT CHANGED - O EMPTY> <!ATTLIST CHANGED -- one of id and idref is always required -- id ID #IMPLIED -- signals start of changes -- idref IDREF #IMPLIED -- signals end of changes --> <!-- Hypertext Links from points within document nodes --> <!ELEMENT A - - (#PCDATA | IMG | EM | EMBED)*> <!ATTLIST A id ID #IMPLIED -- as target of link -- name CDATA #IMPLIED -- backwards compatibility -- href %URL; #IMPLIED -- destination node -- role CDATA #IMPLIED -- role of link, e.g. "partof" -- effect CDATA #IMPLIED -- replace/new/overlay -- print CDATA #IMPLIED -- reference/footnote/section -- title CDATA #IMPLIED -- when otherwise unavailable -- type CDATA #IMPLIED -- for presentation cues -- size NAMES #IMPLIED -- for progress cues --> <!-- Other kinds of relationships between documents --> <!ELEMENT LINK - O EMPTY> <!ATTLIST LINK href %URL; #IMPLIED -- destination node -- role CDATA #IMPLIED -- role played, e.g. "toc" --> <!-- Original document URL for resolving relative URLs --> <!ELEMENT BASE - O EMPTY> <!ATTLIST BASE HREF %URL; #IMPLIED> <!-- Signifies the document's URL accepts queries --> <!ELEMENT ISINDEX - O (EMPTY)> <!ATTLIST ISINDEX href %URL; #IMPLIED -- defaults to document's URL --> <!-- For use with autonumbering editors - don't reuse ids, instead, allocate next one starting from this one --> <!ELEMENT NEXTID - O (EMPTY)> <!ATTLIST NEXTID N NAME #REQUIRED> <!-- Mnemonic character entities. --> <!ENTITY AElig "Æ" -- capital AE diphthong (ligature) --> <!ENTITY Aacute "Á" -- capital A, acute accent --> <!ENTITY Acirc "Â" -- capital A, circumflex accent --> <!ENTITY Agrave "À" -- capital A, grave accent --> <!ENTITY Aring "Å" -- capital A, ring --> <!ENTITY Atilde "Ã" -- capital A, tilde --> <!ENTITY Auml "Ä" -- capital A, dieresis or umlaut mark --> <!ENTITY Ccedil "Ç" -- capital C, cedilla --> <!ENTITY ETH "Ð" -- capital Eth, Icelandic --> <!ENTITY Eacute "É" -- capital E, acute accent --> <!ENTITY Ecirc "Ê" -- capital E, circumflex accent --> <!ENTITY Egrave "È" -- capital E, grave accent --> <!ENTITY Euml "Ë" -- capital E, dieresis or umlaut mark --> <!ENTITY Iacute "Í" -- capital I, acute accent --> <!ENTITY Icirc "Î" -- capital I, circumflex accent --> <!ENTITY Igrave "Ì" -- capital I, grave accent --> <!ENTITY Iuml "Ï" -- capital I, dieresis or umlaut mark --> <!ENTITY Ntilde "Ñ" -- capital N, tilde --> <!ENTITY Oacute "Ó" -- capital O, acute accent --> <!ENTITY Ocirc "Ô" -- capital O, circumflex accent --> <!ENTITY Ograve "Ò" -- capital O, grave accent --> <!ENTITY Oslash "Ø" -- capital O, slash --> <!ENTITY Otilde "Õ" -- capital O, tilde --> <!ENTITY Ouml "Ö" -- capital O, dieresis or umlaut mark --> <!ENTITY THORN "Þ" -- capital THORN, Icelandic --> <!ENTITY Uacute "Ú" -- capital U, acute accent --> <!ENTITY Ucirc "Û" -- capital U, circumflex accent --> <!ENTITY Ugrave "Ù" -- capital U, grave accent --> <!ENTITY Uuml "Ü" -- capital U, dieresis or umlaut mark --> <!ENTITY Yacute "Ý" -- capital Y, acute accent --> <!ENTITY aacute "á" -- small a, acute accent --> <!ENTITY acirc "â" -- small a, circumflex accent --> <!ENTITY aelig "æ" -- small ae diphthong (ligature) --> <!ENTITY agrave "à" -- small a, grave accent --> <!ENTITY amp "&" -- ampersand --> <!ENTITY aring "å" -- small a, ring --> <!ENTITY atilde "ã" -- small a, tilde --> <!ENTITY auml "ä" -- small a, dieresis or umlaut mark --> <!ENTITY ccedil "ç" -- small c, cedilla --> <!ENTITY eacute "é" -- small e, acute accent --> <!ENTITY ecirc "ê" -- small e, circumflex accent --> <!ENTITY egrave "è" -- small e, grave accent --> <!ENTITY eth "ð" -- small eth, Icelandic --> <!ENTITY euml "ë" -- small e, dieresis or umlaut mark --> <!ENTITY gt ">" -- greater than --> <!ENTITY iacute "í" -- small i, acute accent --> <!ENTITY icirc "î" -- small i, circumflex accent --> <!ENTITY igrave "ì" -- small i, grave accent --> <!ENTITY iuml "ï" -- small i, dieresis or umlaut mark --> <!ENTITY lt "<" -- less than --> <!ENTITY ntilde "ñ" -- small n, tilde --> <!ENTITY oacute "ó" -- small o, acute accent --> <!ENTITY ocirc "ô" -- small o, circumflex accent --> <!ENTITY ograve "ò" -- small o, grave accent --> <!ENTITY oslash "ø" -- small o, slash --> <!ENTITY otilde "õ" -- small o, tilde --> <!ENTITY ouml "ö" -- small o, dieresis or umlaut mark --> <!ENTITY szlig "ß" -- small sharp s, German (sz ligature) --> <!ENTITY thorn "þ" -- small thorn, Icelandic --> <!ENTITY uacute "ú" -- small u, acute accent --> <!ENTITY ucirc "û" -- small u, circumflex accent --> <!ENTITY ugrave "ù" -- small u, grave accent --> <!ENTITY uuml "ü" -- small u, dieresis or umlaut mark --> <!ENTITY yacute "ý" -- small y, acute accent --> <!ENTITY yuml "ÿ" -- small y, dieresis or umlaut mark --> <!-- dash entities --> <!ENTITY endash "--" -- En dash --> <!ENTITY emdash "---" -- Em dash --> <!-- The END --> ]>