Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
7:c153ca296910 | 8:4b173ad71786 |
---|---|
1 <!SGML "ISO 8879:1986" | |
2 -- | |
3 Document Type Definition for the HyperText Markup Language Plus | |
4 for use with the World Wide Web application (HTML+ DTD). | |
5 This DTD is designed for use with SGML authoring tools and | |
6 it is expected that most browsers will tolerate omissions, | |
7 in particular, missing <DIVn> elements and <P> start tags | |
8 following headers, which can easily be inferred from the context. | |
9 | |
10 The HTML+ DTD which is structured as an HTML core plus a | |
11 number of additional modules which can be included by an | |
12 entity definition in a document's <!DOCTYPE> element. | |
13 You can include specific features in your document | |
14 using the DOCTYPE declaration at the start, e.g. | |
15 | |
16 <!DOCTYPE htmlplus [ | |
17 <!ENTITY % HTML.tables "INCLUDE"> | |
18 <!ENTITY % HTML.forms "INCLUDE"> | |
19 ]> | |
20 | |
21 This spec also allows for authors to extend the DTD and | |
22 to define how any new elements are rendered in terms of | |
23 existing ones. This should be used with caution. | |
24 | |
25 I would like to acknowledge the influence of the TEI DTDs | |
26 which proved very helpful in restructuring the DTD. | |
27 | |
28 Dave Raggett 21st March 1994 | |
29 | |
30 Changes: | |
31 | |
32 Added support for graphical menus to SELECT/OPTION. | |
33 | |
34 Liberalised content model for headers to %text; | |
35 Added SPACES attribute to P element to preserve spaces. | |
36 | |
37 Dropped the LIT element and changed the TAB element | |
38 over to the LaTeX model. Added NOWRAP to P element. | |
39 Replaced TH/TD's align=numeric with ALIGNON="." etc. | |
40 | |
41 Made anchor NAME attribute conditional on HTML.obsolete | |
42 Added HTML.obsolete for obsoleted HTML elements | |
43 | |
44 Added SIG attribute to A and LINK for specifying | |
45 a digital signature to attest that a linked document | |
46 is unchanged. | |
47 | |
48 SRC attribute added to NOTE to allow authors to override | |
49 the default icon chosen on the basis of the ROLE attribute. | |
50 | |
51 Switched REL/REV back to CDATA to avoid trouble with duplicate | |
52 name or name token error. Using an explicit list of relationship | |
53 types would force us to drop REV. | |
54 | |
55 Added top/bottom alignment attribute to CAPTION | |
56 | |
57 REL and REV domains now defined by parameter entities | |
58 | |
59 SRC attribute added to LINK to allow images to be used | |
60 in document specific toolbar | |
61 | |
62 Baseline attribute added to FIG and IMG to give precise | |
63 control of vertical position relative to baseline. | |
64 | |
65 Revised comments for <A> and <LINK> to remove references to | |
66 obsoleted timing attributes and to add a list of "standard" | |
67 relationship types. | |
68 | |
69 CHANGED element now uses more meaningful attribute names. | |
70 | |
71 STATE dropped in favor of INPUT with TYPE="hidden". Forms now | |
72 support a link to a script for client-side execution of constraints. | |
73 | |
74 The element definition for DIV1..DIV6 and P no longer permit the | |
75 start tag to be omitted. This was regrettably forced by a | |
76 restriction in the SGML standard. Browsers *must* be capable of | |
77 inferring them when missing,in order to cope with legacy documents. | |
78 | |
79 Fixed some errors in earlier version to do with start tags and | |
80 definitions of parameter entities. The content model for FIG has | |
81 been changed to use a P element for text to avoid an SGML parsing | |
82 problem with a line break before the caption. | |
83 -- | |
84 CHARSET | |
85 BASESET "ISO 646:1983//CHARSET | |
86 International Reference Version (IRV)//ESC 2/5 4/0" | |
87 DESCSET 0 9 UNUSED | |
88 9 2 9 | |
89 11 2 UNUSED | |
90 13 1 13 | |
91 14 18 UNUSED | |
92 32 95 32 | |
93 127 1 UNUSED | |
94 BASESET "ISO Registration Number 100//CHARSET | |
95 ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1" | |
96 DESCSET 128 32 UNUSED | |
97 160 95 32 | |
98 255 1 UNUSED | |
99 | |
100 CAPACITY SGMLREF | |
101 TOTALCAP 150000 | |
102 GRPCAP 150000 | |
103 | |
104 SCOPE DOCUMENT | |
105 SYNTAX | |
106 SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
107 19 20 21 22 23 24 25 26 27 28 29 30 31 127 255 | |
108 BASESET "ISO 646:1983//CHARSET | |
109 International Reference Version (IRV)//ESC 2/5 4/0" | |
110 DESCSET 0 128 0 | |
111 FUNCTION RE 13 | |
112 RS 10 | |
113 SPACE 32 | |
114 TAB SEPCHAR 9 | |
115 NAMING LCNMSTRT "" | |
116 UCNMSTRT "" | |
117 LCNMCHAR ".-" | |
118 UCNMCHAR ".-" | |
119 NAMECASE GENERAL YES | |
120 ENTITY NO | |
121 DELIM GENERAL SGMLREF | |
122 SHORTREF SGMLREF | |
123 NAMES SGMLREF | |
124 QUANTITY SGMLREF | |
125 NAMELEN 32 | |
126 TAGLVL 100 | |
127 LITLEN 1024 | |
128 GRPGTCNT 150 | |
129 GRPCNT 64 | |
130 | |
131 FEATURES | |
132 MINIMIZE | |
133 DATATAG NO | |
134 OMITTAG YES | |
135 RANK NO | |
136 SHORTTAG NO | |
137 LINK | |
138 SIMPLE NO | |
139 IMPLICIT NO | |
140 EXPLICIT NO | |
141 OTHER | |
142 CONCUR NO | |
143 SUBDOC NO | |
144 FORMAL YES | |
145 APPINFO NONE | |
146 > | |
147 | |
148 <!DOCTYPE HTMLPLUS [ | |
149 | |
150 <!-- DTD for HTML+ | |
151 Markup minimisation should be avoided, otherwise the default <!SGML> | |
152 declaration is fine. Browsers should be forgiving of markup errors, | |
153 while authoring tools *should* enforce compliance with the DTD. | |
154 | |
155 Common Attributes: | |
156 | |
157 id This attribute allows authors to name elements such as headers | |
158 and paragraphs as potential destinations for links. Note that | |
159 links don't specify points, but rather extended objects. | |
160 | |
161 charset This allows authors to switch to a different char set for | |
162 quotations or list etc. This is particularly useful for oriental | |
163 languages which need two byte character codes, e.g. see RFC 1468 | |
164 "Japanese Character Encoding for Internet Messages" | |
165 | |
166 ENTITY DECLARATIONS | |
167 | |
168 <!ENTITY % foo "X | Y | Z"> is a macro definition for parameters and in | |
169 subsequent statements, the string "%foo;" is expanded to "X | Y | Z" | |
170 | |
171 Various classes of SGML text types: | |
172 | |
173 CDATA text which doesn't include markup or entity references | |
174 RCDATA text with entity references but no markup | |
175 PCDATA text occurring in a context in which markup and entity references | |
176 may occur. | |
177 --> | |
178 | |
179 <!-- Core HTML+ DTD omits following features --> | |
180 <!ENTITY % HTML.math "IGNORE"> | |
181 <!ENTITY % HTML.tables "IGNORE"> | |
182 <!ENTITY % HTML.figures "IGNORE"> | |
183 <!ENTITY % HTML.emph "IGNORE"> | |
184 <!ENTITY % HTML.forms "IGNORE"> | |
185 <!ENTITY % HTML.obsolete "IGNORE"> | |
186 | |
187 <!ENTITY % cextra "" -- for character-like elements --> | |
188 <!ENTITY % pextra "" -- for paragraph-like elements --> | |
189 | |
190 <!-- %cextra; and %pextra are designed to allow document specific | |
191 extensions to the HTML+ DTD, e.g. | |
192 | |
193 <!DOCTYPE htmlplus [ | |
194 <!ENTITY % cextra "|PROPNAME"> | |
195 <!ELEMENT PROPNAME - - CDATA> | |
196 ]> | |
197 | |
198 Use the RENDER element to specify how the browser should | |
199 display new elements in terms of existing ones, e.g. | |
200 | |
201 <RENDER tag="PROPNAME" style="I"> | |
202 --> | |
203 | |
204 <!ENTITY % URL "CDATA" -- a URL or URN designating a hypertext node --> | |
205 | |
206 <!-- Browsers should render the following types of emphasis | |
207 distinctly when the obvious rendering is impractical | |
208 | |
209 I = italic, B = bold, U = underline, S = strikethru, | |
210 TT = teletype font, SUP = superscript, SUB = subscript | |
211 REV = reverse video for highlighting hit areas in the result of a query | |
212 Q = inline quote (render according to local conventions) | |
213 --> | |
214 | |
215 <!ENTITY % emph1 "I|B|U|TT|CITE|EM|STRONG|KBD|VAR|DFN|CODE|SAMP"> | |
216 <!ENTITY % emph2 "S|Q|PERSON|ACRONYM|ABBREV|CMD|ARG|REMOVED|ADDED|REV"> | |
217 <!ENTITY % emph3 "SUP|SUB|CHANGED|TAB|HIDE"> | |
218 | |
219 <![ %HTML.emph [ <!ENTITY % emph "%emph1;|%emph2;|%emph3;"> ]]> | |
220 <!ENTITY % emph "%emph1;"> | |
221 | |
222 <![ %HTML.emph [ <!ENTITY % misc1 "|RENDER|FOOTNOTE|MARGIN"> ]]> | |
223 <!ENTITY % misc1 ""> | |
224 | |
225 <![ %HTML.forms [ <!ENTITY % misc2 "|INPUT|TEXTAREA|SELECT"> ]]> | |
226 <!ENTITY % misc2 ""> | |
227 | |
228 <!ENTITY % misc "BR %misc1 %misc2; %cextra;"> | |
229 | |
230 <![ %HTML.figures [ <!ENTITY % text "#PCDATA|A|IMG|FIG|%emph;|%misc;"> ]]> | |
231 <!ENTITY % text "#PCDATA|A|IMG|%emph;|%misc;"> | |
232 | |
233 <![ %HTML.emph [ <!ENTITY % paras "P|PRE|%pextra;"> ]]> | |
234 <!ENTITY % paras "P|PRE %pextra;"> | |
235 | |
236 <!ENTITY % lists "UL|OL|DL"> | |
237 | |
238 <![ %HTML.emph [ <!ENTITY % block1 "NOTE|QUOTE|ABSTRACT|ADDRESS|HR"> ]]> | |
239 <!ENTITY % block1 "ADDRESS|HR"> | |
240 | |
241 <![ %HTML.tables [ <!ENTITY % block2 "|TABLE"> ]]> | |
242 <!ENTITY % block2 ""> | |
243 | |
244 <![ %HTML.forms [ <!ENTITY % block3 "|FORM"> ]]> | |
245 <!ENTITY % block3 ""> | |
246 | |
247 <![ %HTML.math [ <!ENTITY % block4 "|MATH"> ]]> | |
248 <!ENTITY % block4 ""> | |
249 | |
250 <![ %HTML.obsolete [ <!ENTITY % block5 "|MENU|DIR|BLOCKQUOTE"> ]]> | |
251 <!ENTITY % block5 ""> | |
252 | |
253 <!ENTITY % block "%block1; %block2; %block3; %block4; %block5;"> | |
254 | |
255 <![ %HTML.emph [<!ENTITY % setup1 "& RENDER*"> ]]> | |
256 <!ENTITY % setup1 ""> | |
257 | |
258 <!ENTITY % setup "(TITLE? & ISINDEX? & BASE? & META* & LINK* %setup1;)"> | |
259 | |
260 <!ENTITY % main "%block;|%lists;|%paras;"> | |
261 | |
262 <!-- these entities are used to simplify element definitions --> | |
263 | |
264 <!ENTITY % heading "H1|H2|H3|H4|H5|H6"> | |
265 <!ENTITY % table "P|%heading;|%lists;"> | |
266 <!ENTITY % math "BOX|ARRAY|ROOT|%text;"> | |
267 | |
268 <![ %HTML.obsolete [<!ENTITY % anchorname "name NMTOKEN #IMPLIED"> ]]> | |
269 <!ENTITY % anchorname ""> | |
270 | |
271 <!-- Browsers should as a minimum support the following types | |
272 of INPUT fields, in addition to TEXTAREA and SELECT: | |
273 | |
274 text, checkbox, radio, submit, and reset | |
275 | |
276 password, int, float, date, url can be mapped to text fields | |
277 while image, scribble and audio fields can be ignored | |
278 --> | |
279 | |
280 <![ %HTML.forms [ | |
281 <!ENTITY % fields "text|password|checkbox|radio|submit|reset|int| | |
282 float|date|url|hidden|range|scribble|audio"> | |
283 ]]> | |
284 | |
285 | |
286 <!-- Core DTD includes basic Latin-1 entities --> | |
287 <!ENTITY % ISOlat1 PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN"> | |
288 %ISOlat1; | |
289 | |
290 <!-- additional entities normally found in Latin-1 char sets--> | |
291 <!ENTITY % ISOnum PUBLIC "ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN"> | |
292 %ISOnum; | |
293 | |
294 <!-- diacritical marks normally found in Latin-1 char sets--> | |
295 <!ENTITY % ISOdia PUBLIC "ISO 8879-1986//ENTITIES Diacritical Marks//EN"> | |
296 %ISOdia; | |
297 | |
298 <!-- misc. from ISO Publishing entities --> | |
299 <!ENTITY ndash SDATA "[ndash ]"--=en dash--> | |
300 <!ENTITY mdash SDATA "[ndash ]"--=em dash--> | |
301 <!ENTITY ensp SDATA "[ensp ]"--=en space (1/2-em)--> | |
302 <!ENTITY emsp SDATA "[emsp ]"--=em space--> | |
303 <!ENTITY hellip SDATA "[hellip]"--=ellipsis (horizontal)--> | |
304 <!ENTITY vellip SDATA "[vellip]"--=ellipsis (vertical)--> | |
305 | |
306 <!-- maths symbols when needed --> | |
307 <![ %HTML.math [ | |
308 <!ENTITY % ISOtech PUBLIC "ISO 8879-1986//ENTITIES General Technical//EN"> | |
309 %ISOtech; | |
310 | |
311 <!ENTITY % ISOgrk3 PUBLIC "ISO 8879-1986//ENTITIES Greek Symbols//EN"> | |
312 %ISOgrk3; | |
313 | |
314 <!ENTITY % ISOamso PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Ordinary//EN"> | |
315 %ISOamso; | |
316 | |
317 <!ENTITY % ISOamsr PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Relations//EN"> | |
318 %ISOamsr; | |
319 | |
320 <!ENTITY % ISOamsc PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Delimiters//EN"> | |
321 %ISOamsc; | |
322 | |
323 <!-- misc. from ISO Binary and Large operators --> | |
324 | |
325 <!ENTITY thinsp SDATA "[thinsp]"--=thin space (1/6 em)--> | |
326 <!ENTITY coprod SDATA "[coprod]"--/coprod L: coproduct operator--> | |
327 <!ENTITY prod SDATA "[prod ]"--/prod L: product operator--> | |
328 <!ENTITY sum SDATA "[sum ]"--/sum L: summation operator--> | |
329 ]]> | |
330 | |
331 <!-- Basic types of elements: | |
332 <!ELEMENT tagname - - CONTENT> elements needing end tags | |
333 <!ELEMENT tagname - O CONTENT> elements with optional end tags | |
334 <!ELEMENT tagname - O EMPTY> elements without content or end tags | |
335 | |
336 The content definition is: | |
337 - an entity definition as defined above | |
338 - a tagname | |
339 - (brackets enclosing the above) | |
340 These may be combined with the operators: | |
341 A* A occurs zero or more times | |
342 A+ A occurs one or more times | |
343 A|B implies either A or B | |
344 A? A occurs zero or one times | |
345 A,B implies first A then B | |
346 A&B either or both A and B (in either order A B or B A) | |
347 --> | |
348 | |
349 <!ELEMENT HTMLPLUS O O (HEAD, BODY)> | |
350 <!ATTLIST HTMLPLUS | |
351 version CDATA #IMPLIED -- the HTML+ version number -- | |
352 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
353 | |
354 <!ELEMENT HEAD - O (%setup;) -- delimits document wide properties --> | |
355 <!ELEMENT BODY - O ((%main;)*, DIV6*, DIV5*, DIV4*, DIV3*, DIV2*, DIV1*)> | |
356 | |
357 <!-- | |
358 Browsers *must* tolerate missing DIVn tags, e.g. the presence of an | |
359 <H1> tag implies a DIV1 element enclosing it and the following text. | |
360 The SGML standard unfortunately doesn't permit such inferences due | |
361 to a decision made to simplify writing general SGML parsers. | |
362 --> | |
363 | |
364 <!ELEMENT DIV1 - - (H1, (%main;)*, DIV6*, DIV5*, DIV4*, DIV3*, DIV2*)> | |
365 <!ELEMENT DIV2 - - (H2, (%main;)*, DIV6*, DIV5*, DIV4*, DIV3*)> | |
366 <!ELEMENT DIV3 - - (H3, (%main;)*, DIV6*, DIV5*, DIV4*)> | |
367 <!ELEMENT DIV4 - - (H4, (%main;)*, DIV6*, DIV5*)> | |
368 <!ELEMENT DIV5 - - (H5, (%main;)*, DIV6*)> | |
369 <!ELEMENT DIV6 - - (H6, (%main;)*)> | |
370 | |
371 <!ATTLIST (DIV6|DIV5|DIV4|DIV3|DIV2|DIV1) | |
372 id ID #IMPLIED -- link destination -- | |
373 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
374 | |
375 <!-- Document headers --> | |
376 <!ELEMENT (%heading;) - - (%text;)+> | |
377 <!ATTLIST (%heading;) | |
378 id ID #IMPLIED -- defines link destination -- | |
379 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
380 | |
381 <!-- character emphasis --> | |
382 <!ELEMENT (%emph1;) - - (%text;)+> | |
383 <!ATTLIST (%emph1;) | |
384 id ID #IMPLIED -- link destination -- | |
385 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
386 | |
387 <!-- | |
388 Paragraphs which act as containers for the following text | |
389 | |
390 Browsers *must* be capable of inferring missing <P> | |
391 start tags from the content model. Basically, if the parser | |
392 comes across unexpected %text; then there's a missing <P>. | |
393 --> | |
394 <!ELEMENT P - O (%text;)+> | |
395 <!ATTLIST P | |
396 id ID #IMPLIED -- link destination -- | |
397 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
398 nowrap (nowrap) #IMPLIED -- disable word wrap -- | |
399 spaces (spaces) #IMPLIED -- preserve spaces -- | |
400 align (left|indent|center|right|justify) left> | |
401 | |
402 <!ELEMENT HR - O EMPTY -- Horizontal Rule --> | |
403 <!ELEMENT BR - O EMPTY -- forced line break --> | |
404 | |
405 <!ELEMENT PRE - - (%text;)+ -- preformatted fixed pitch text --> | |
406 <!ATTLIST PRE | |
407 id ID #IMPLIED -- link destination -- | |
408 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
409 | |
410 <!ELEMENT ADDRESS - - (P)+ -- info on author --> | |
411 <!ATTLIST ADDRESS | |
412 id ID #IMPLIED -- link destination -- | |
413 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
414 | |
415 <!-- Lists which can be nested --> | |
416 <!ELEMENT OL - - (LI)+ -- ordered list --> | |
417 <!ATTLIST OL | |
418 id ID #IMPLIED | |
419 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
420 compact (compact) #IMPLIED -- reduced interitem spacing --> | |
421 | |
422 <!ELEMENT UL - - (LI)+ -- unordered list --> | |
423 <!ATTLIST UL | |
424 id ID #IMPLIED -- link destination -- | |
425 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
426 compact (compact) #IMPLIED -- reduced interitem spacing -- | |
427 plain (plain) #IMPLIED -- suppress bullets -- | |
428 wrap (vert|horiz|none) none -- multicolumn list wrap style --> | |
429 | |
430 <!-- List items for UL and OL lists | |
431 The icon or label overides the default rendering --> | |
432 <!ELEMENT LI - O (DL|UL|OL|P|HR)+ -- should we add PRE? --> | |
433 <!ATTLIST LI | |
434 id ID #IMPLIED | |
435 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
436 icon %URL; #IMPLIED -- icon for use in place of bullet -- | |
437 label CDATA #IMPLIED -- when you can't show the icon --> | |
438 | |
439 <!-- Definition Lists (terms + definitions) --> | |
440 <!ELEMENT DL - - (DT*,DD)+> | |
441 <!ATTLIST DL | |
442 id ID #IMPLIED | |
443 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
444 compact (compact) #IMPLIED -- reduced interitem spacing --> | |
445 | |
446 <!ELEMENT DT - O (%text;)+ -- term text -- > | |
447 <!ELEMENT DD - O (P|UL|OL|DL|HR)+ -- definition text (should we add PRE?)-- > | |
448 <!ATTLIST (DT|DD) | |
449 id ID #IMPLIED | |
450 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
451 | |
452 <!-- Hypertext Links from points within document nodes | |
453 | |
454 The HREF attribute specifies the link destination as a URL or URN. | |
455 In figures, the SHAPE attribute defines the extent of the link as | |
456 a polygonal region, and is used with the FIG element. | |
457 | |
458 The PRINT attribute determines how the browser should deal with | |
459 links when printing this document. This makes it possible for | |
460 users to print a document and related subdocuments with a single | |
461 menu action. If PRINT="Section", then the link is followed and | |
462 printed as a follow-on section after the current document. If | |
463 PRINT="Footnote" and the linked document is sufficiently small | |
464 then it is included as a footnote. If PRINT="Reference" then the | |
465 document's URL (and title) is included in a footnote or in a list | |
466 of references at the end of the document. | |
467 | |
468 The TITLE attribute may be used for links in which the destination | |
469 node doesn't define a title itself, e.g. non-html documents. | |
470 | |
471 The REL attribute is used to specify how the browser interprets | |
472 the link when this document is being used as a hypertext path | |
473 REL="Path" causes the linked document to be treated as a path | |
474 and inserted into the current path, while REL="Node" treats | |
475 the linked document as a node on the current path. REL="Embed" | |
476 is a hint to embed the referenced node into the current document. | |
477 | |
478 The SIG attribute allows authors to specify a digital signature | |
479 of linked documents to check that they haven't been changed. | |
480 It starts with a prefix denoting the algorithm used, in particular | |
481 SIG="md5:2l3k4j2lkj423l" denotes the MD5 signature: 2l3k4j2lkj423l | |
482 which is encoded using the standard MIME base64 representation | |
483 --> | |
484 | |
485 <!ELEMENT A - - (#PCDATA | IMG | %emph;)*> | |
486 <!ATTLIST A | |
487 id ID #IMPLIED -- as target of link -- | |
488 %anchorname; -- see HTML.obsolete -- | |
489 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
490 shape CDATA #IMPLIED -- list of points for shaped buttons -- | |
491 href %URL; #IMPLIED -- destination node -- | |
492 rel CDATA #IMPLIED -- forward relationship type -- | |
493 rev CDATA #IMPLIED -- reverse relationship type -- | |
494 print CDATA #IMPLIED -- reference/footnote/section -- | |
495 title CDATA #IMPLIED -- when otherwise unavailable -- | |
496 sig CDATA #IMPLIED -- MD5 digital signature --> | |
497 | |
498 <!-- Other kinds of relationships between documents | |
499 | |
500 There are a set of standard RELationship types which alter the | |
501 browser's navigation menu: | |
502 | |
503 UseIndex searchable index | |
504 UseGlossary shared glossary | |
505 Contents shared contents page | |
506 Previous previous document in a hypertext path | |
507 Next next document in a hypertext path | |
508 Bookmark named with the title attribute | |
509 Made Defines who is the "maker" of this document | |
510 Help provides help on this document | |
511 Annotation an additional note on current document | |
512 Reply a note with equal footing to current document | |
513 Subdocument defines parent->child relationship | |
514 Parent defines child->parent relationship | |
515 StyleSheet an associated style sheet | |
516 | |
517 Bookmarks allow authors to define a set of useful links | |
518 which are to be accessed via a menu, rather than as conventional | |
519 in-line hypertext links. Previous and Next links are inserted | |
520 by the browser when interpreting a separate document as a path. | |
521 See above description of REL="Node" and REL="Path" for <A>. | |
522 | |
523 The FROM attribute makes it possible to specify annotation | |
524 links separately from the document text flow. The FROM | |
525 attribute specifies an ID for the source of a link, while | |
526 the HREF attribute specifies its destination. HTTP servers | |
527 can use the WWW-Link: header to "insert" such annotations | |
528 into documents. | |
529 --> | |
530 | |
531 <!ELEMENT LINK - O EMPTY> | |
532 <!ATTLIST LINK | |
533 id ID #IMPLIED -- to allow meta info on links -- | |
534 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
535 from IDREF #IMPLIED -- starting point -- | |
536 href %URL; #REQUIRED -- destination node -- | |
537 rel CDATA #IMPLIED -- forward relationship type -- | |
538 rev CDATA #IMPLIED -- reverse relationship type -- | |
539 src %URL; #IMPLIED -- an image for displaying link -- | |
540 print CDATA #IMPLIED -- reference/footnote/section -- | |
541 title CDATA #IMPLIED -- when otherwise unavailable -- | |
542 seal CDATA #IMPLIED -- MD5 digital signature --> | |
543 | |
544 <!-- Document title --> | |
545 <!ELEMENT TITLE - - (#PCDATA | %emph;)+> | |
546 <!ATTLIST TITLE | |
547 id ID #IMPLIED -- link destination -- | |
548 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
549 | |
550 <!-- Original document URL for resolving relative URLs --> | |
551 <!ELEMENT BASE - O EMPTY> | |
552 <!ATTLIST BASE HREF %URL; #IMPLIED> | |
553 | |
554 <!-- Signifies the document's URL accepts queries, | |
555 and may be implied by HTTP header info --> | |
556 <!ELEMENT ISINDEX - O EMPTY> | |
557 <!ATTLIST ISINDEX href %URL; #IMPLIED -- defaults to document's URL --> | |
558 | |
559 <!-- | |
560 Servers should read the document head to generate HTTP headers | |
561 corresponding to META elements, e.g. if the document contains: | |
562 | |
563 <meta name="Expires" value="Tue, 04 Dec 1993 21:29:02 GMT"> | |
564 | |
565 The server should include the HTTP date format header field: | |
566 | |
567 Expires: Tue, 04 Dec 1993 21:29:02 GMT | |
568 | |
569 Other likely names are "Keywords", "Created", "Owner" (a name) | |
570 and "Reply-To" (an email address) | |
571 --> | |
572 | |
573 <!ELEMENT META - O EMPTY> | |
574 <!ATTLIST META | |
575 id ID #IMPLIED -- to allow meta info -- | |
576 name CDATA #IMPLIED -- HTTP header e.g. "Expires" -- | |
577 value CDATA #IMPLIED -- associated value --> | |
578 | |
579 <![ %HTML.obsolete [ | |
580 | |
581 <!ELEMENT (MENU|DIR) - - (LI)+ -- plain single/multicolumn lists--> | |
582 <!ATTLIST (MENU|DIR) | |
583 compact (compact) #IMPLIED -- reduced interitem spacing --> | |
584 | |
585 <!ELEMENT BLOCKQUOTE - - (P)+ -- extended quotes --> | |
586 | |
587 ]]> | |
588 | |
589 <![ %HTML.emph [ | |
590 | |
591 <!-- additional character emphasis --> | |
592 <!ELEMENT (%emph2;) - - (%text;)*> | |
593 <!ATTLIST (%emph2;) | |
594 id ID #IMPLIED -- link destination -- | |
595 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
596 | |
597 <!ELEMENT (SUP|SUB) - - (%text;)* -- superscripts and subscripts --> | |
598 <!ATTLIST (SUP|SUB) | |
599 id ID #IMPLIED -- link destination -- | |
600 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
601 | |
602 <!ELEMENT (FOOTNOTE|MARGIN) - - (%text;)* -(FOOTNOTE|MARGIN)> | |
603 <!ATTLIST (FOOTNOTE|MARGIN) | |
604 id ID #IMPLIED -- link destination -- | |
605 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
606 | |
607 <!-- RENDER only appears in the document head --> | |
608 <!ELEMENT RENDER -O EMPTY -- how to render unknown elements --> | |
609 <!ATTLIST RENDER | |
610 id ID #IMPLIED -- to allow meta info -- | |
611 tag CDATA #IMPLIED -- tag name -- | |
612 equiv CDATA #IMPLIED -- HTML+ equivalent tag name -- | |
613 style NAMES #IMPLIED -- space separated list of styles --> | |
614 | |
615 <!-- Based on LaTeX's tabbing environment --> | |
616 <!ELEMENT TAB - O EMPTY> | |
617 <!ATTLIST TAB | |
618 id ID #IMPLIED -- used to set a tab stop -- | |
619 to IDREF #IMPLIED -- move to previously defined tab stop -- | |
620 before NUMBER 0 -- scaled em spaces before tab stop -- | |
621 after NUMBER 0 -- scaled em spaces after tab stop -- | |
622 reset (reset) #IMPLIED -- clear all previous tab stops --> | |
623 | |
624 <!-- content is hidden, equivalent of LaTeX's \kill --> | |
625 <!ELEMENT HIDE - - (%text;) (-HIDE)> | |
626 | |
627 <!ELEMENT QUOTE - - (P*) -- block quote --> | |
628 <!ATTLIST QUOTE | |
629 id ID #IMPLIED -- link destination -- | |
630 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
631 | |
632 <!ELEMENT ABSTRACT - - (P*) -- document summary --> | |
633 <!ATTLIST ABSTRACT | |
634 id ID #IMPLIED -- link destination -- | |
635 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
636 | |
637 <!-- often rendered with an icon in left margin, | |
638 the role is shown before the first paragraph --> | |
639 <!ELEMENT NOTE - - (P*) -- admonishment --> | |
640 <!ATTLIST NOTE | |
641 id ID #IMPLIED -- link destination -- | |
642 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
643 src %URL; #IMPLIED -- url for the icon -- | |
644 role (Simple|Tip|Note|Warning|Error) Simple > | |
645 | |
646 <!-- change bars can bridge markup boundaries --> | |
647 <!ELEMENT CHANGED - O EMPTY> | |
648 <!ATTLIST CHANGED -- one of id or idref is always required -- | |
649 begin ID #IMPLIED -- signals beginning of changes -- | |
650 end IDREF #IMPLIED -- signals end of changes --> | |
651 ]]> | |
652 | |
653 | |
654 <![ %HTML.figures [ <!ENTITY % HTML.captions "INCLUDE"> ]]> | |
655 <![ %HTML.tables [ <!ENTITY % HTML.captions "INCLUDE"> ]]> | |
656 <!ENTITY % HTML.captions "IGNORE"> | |
657 | |
658 <![ %HTML.captions [ | |
659 | |
660 <!ELEMENT CAPTION - - (%text;)+ -- table or figure caption --> | |
661 <!ATTLIST CAPTION | |
662 id ID #IMPLIED | |
663 align (top|bottom) #IMPLIED | |
664 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
665 ]]> | |
666 | |
667 <![ %HTML.tables [ | |
668 | |
669 <!-- a pre-pass is needed to count columns and determine | |
670 min/max widths before sizing to match window size --> | |
671 | |
672 <!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data --> | |
673 <!ATTLIST TABLE | |
674 id ID #IMPLIED | |
675 border (border) #IMPLIED -- draw borders -- | |
676 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
677 | |
678 <!-- browsers should tolerate an omission of the first | |
679 <TR> tag as it is implied by the context --> | |
680 <!ELEMENT TR - O (TH|TD)* -- acts like row separator --> | |
681 <!ATTLIST TR id ID #IMPLIED> | |
682 | |
683 <!ELEMENT TH - O (%table;)* -- a header cell --> | |
684 <!ATTLIST TH | |
685 id ID #IMPLIED | |
686 colspan NUMBER 1 -- columns spanned -- | |
687 rowspan NUMBER 1 -- rows spanned -- | |
688 align (left|center|right) center | |
689 alignon CDATA #IMPLIED -- align on decimal point etc -- | |
690 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
691 | |
692 <!ELEMENT TD - O (%table;)* -- a data cell --> | |
693 <!ATTLIST TD | |
694 id ID #IMPLIED | |
695 colspan NUMBER 1 -- columns spanned -- | |
696 rowspan NUMBER 1 -- rows spanned -- | |
697 align (left|center|right) center | |
698 alignon CDATA #IMPLIED -- align on decimal point etc -- | |
699 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
700 ]]> | |
701 | |
702 <![ %HTML.forms [ | |
703 | |
704 <!-- | |
705 The form contents are sent to the server upon pressing a submit | |
706 button. Forms can be associated with scripts, e.g. to make one | |
707 selection field effect which options are enabled for other fields. | |
708 | |
709 Clicking on a selection or typing into a text field result in events | |
710 which are processed by the script. Event handlers are associated | |
711 with each field or with the form itself. The script language is | |
712 deliberately restricted to avoid any security issues. | |
713 | |
714 Fields can be disabled (greyed out) or marked as being in error. | |
715 The MESSAGE element may be used by the server to set error messages. | |
716 Servers can store state information in forms with hidden input fields. | |
717 These are not displayed and can be used to hold transaction handles etc. | |
718 --> | |
719 | |
720 <!ELEMENT FORM - - ((%main;)*, MESSAGE?) -(FORM) -- forms can't be nested --> | |
721 <!ATTLIST FORM | |
722 id ID #IMPLIED | |
723 action %URL; #IMPLIED -- defaults for URL for current doc -- | |
724 method CDATA #IMPLIED -- GET, PUT, POST, DELETE etc. -- | |
725 enctype CDATA #IMPLIED -- encoding type for form transfers -- | |
726 script %URL; #IMPLIED -- locally executed event handlers -- | |
727 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
728 | |
729 <!-- Types of INPUT field: | |
730 text: one line text fields, size gives visible width of field in chars | |
731 where value may grow beyond this up to MAX (MAXLENGTH) chars. | |
732 password: like text fields but with no echo of typed characters | |
733 checkbox: for simple yes/no choices | |
734 radio: for one from many choices, each radio button in a group | |
735 has the same NAME but a different VALUE. | |
736 submit: Sends form to server. If the SRC attribute specifies an | |
737 icon the point clicked is sent to the server. The default | |
738 NAME for this field is "Submit". Use different names for | |
739 multiple submit buttons in a form. | |
740 reset: Resets fields to their initial values. | |
741 int: for input of integers, SIZE attribute gives width of field | |
742 float: for input of floating point numbers | |
743 date: for input of dates | |
744 url: for input of universal resource locators | |
745 hidden: used by server for state info, opaque to client | |
746 range: integer range from MIN to MAX, rendered as a slider etc. | |
747 scribble: pen input, which may include time and pressure info | |
748 audio: sound input with up to MAX seconds | |
749 --> | |
750 <!ELEMENT INPUT - O EMPTY> | |
751 <!ATTLIST INPUT | |
752 id ID #IMPLIED -- to allow meta info -- | |
753 name CDATA #IMPLIED -- attribute name (may not be unique) -- | |
754 type (%fields) text -- a wide variety of field types -- | |
755 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese -- | |
756 size CDATA #IMPLIED -- visible size of text fields -- | |
757 min NUMBER #IMPLIED -- for range controls -- | |
758 max NUMBER #IMPLIED -- for range controls or text fields -- | |
759 maxlength NUMBER #IMPLIED -- max length of text fields (equiv to max)-- | |
760 value CDATA #IMPLIED -- attribute value (altered by user) -- | |
761 checked (checked) #IMPLIED -- for check boxes and radio buttons -- | |
762 disabled (disabled) #IMPLIED -- if grayed out -- | |
763 error (error) #IMPLIED -- if in error -- | |
764 src %URL; #IMPLIED -- for SUBMIT, SCRIBBLE & AUDIO fields -- | |
765 alt CDATA #IMPLIED -- alternative text for VT100's etc -- | |
766 align (top|middle|bottom) top -- for IMAGE fields only --> | |
767 | |
768 <!-- multiline text input fields, we probably will want | |
769 to generalise this to accept arbitrary clipboard data | |
770 e.g. hypertext and images, in addition to plain text --> | |
771 <!ELEMENT TEXTAREA - - RCDATA -- multi-line text fields --> | |
772 <!ATTLIST TEXTAREA | |
773 id ID #IMPLIED -- to allow meta info -- | |
774 name CDATA #IMPLIED -- attribute name (may not be unique) -- | |
775 cols NUMBER #IMPLIED -- visible width in characters -- | |
776 rows NUMBER #IMPLIED -- visible height in characters -- | |
777 wrap (wrap) #IMPLIED -- wrap input in text area -- | |
778 disabled (disabled) #IMPLIED -- if grayed out -- | |
779 error (error) #IMPLIED -- if in error -- | |
780 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
781 | |
782 <!-- | |
783 The EDIT attribute when present allows you to type and | |
784 edit the selected option. | |
785 | |
786 The SRC attribute allows for graphical menus, e.g. users | |
787 wanting to buy a house could click on each of the areas on | |
788 a map that they were interested in. | |
789 --> | |
790 <!ELEMENT SELECT - - (OPTION+) -- combo style selection lists --> | |
791 <!ATTLIST SELECT | |
792 id ID #IMPLIED -- to allow meta info -- | |
793 name CDATA #IMPLIED -- attribute name (may not be unique) -- | |
794 edit NUMBER #IMPLIED -- width of editable selection -- | |
795 multiple (multiple) #IMPLIED -- permits multiple selections -- | |
796 error (error) #IMPLIED -- if in error -- | |
797 src %URL; #IMPLIED -- for graphical menus -- | |
798 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
799 | |
800 <!-- The SHAPE attribute defines a region in the image that | |
801 is specified by the SRC attribute for the SELECT element --> | |
802 <!ELEMENT OPTION - O RCDATA> | |
803 <!ATTLIST OPTION | |
804 id ID #IMPLIED -- to allow meta info -- | |
805 value CDATA #IMPLIED -- attribute value -- | |
806 selected (selected) #IMPLIED -- if initially selected -- | |
807 disabled (disabled) #IMPLIED -- if grayed out -- | |
808 shape CDATA #IMPLIED -- list of points for shaped region -- | |
809 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
810 | |
811 <!-- | |
812 Scripts executed by the client need a way of displaying | |
813 warning/error messages. We define an element so that the | |
814 server too can initialise this one-per-form message area. | |
815 Clients should preferably avoid displaying the message | |
816 in-line, as the window size may prevent the user from | |
817 seeing the message. | |
818 --> | |
819 <!ELEMENT MESSAGE - O RCDATA -- place for error/warning/info --> | |
820 <!ATTLIST MESSAGE | |
821 id ID #IMPLIED -- to allow meta info -- | |
822 status (info|warning|error) info | |
823 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
824 ]]> | |
825 | |
826 <![ %HTML.figures [ | |
827 | |
828 <!-- figures which subsume the role of the earlier IMG element. | |
829 | |
830 Behaves identically to IMG for align = top, middle or bottom. | |
831 Otherwise figure is inserted after next line break (soft or hard). | |
832 For align=left, the image is left aligned and text is flowed | |
833 on the right of the image, and similarly for align=right, with | |
834 no text flow for align=center (the default). The caption is | |
835 placed under the image. | |
836 | |
837 Finer control of the vertical positioning relative to the text | |
838 line is possible with the baseline attribute. When present, the | |
839 figure acts like the IMG element but is shifted so that the baseline | |
840 occurs at the specified number of pixels above the bottom of the image. | |
841 If this is given as a floating point number, it is interpreted as a | |
842 fraction of the image height and must lie in the range (0.0 to 1.0) | |
843 | |
844 The <A> element is used for shaped buttons handled by browser, | |
845 while the ISMAP mechanism sends pointer clicks/drags to server. | |
846 The text contained by this element is used for text-only displays | |
847 and authors should remember to provide effective descriptions, | |
848 including label text for shaped buttons. | |
849 --> | |
850 <!ELEMENT FIG - - (CAPTION?, P*)> | |
851 <!ATTLIST FIG | |
852 id ID #IMPLIED | |
853 align (top|middle|bottom|left|center|right) center -- position -- | |
854 baseline NUMBER #IMPLIED -- height of baseline above image bottom -- | |
855 ismap (ismap) #IMPLIED -- server can handle mouse clicks/drags -- | |
856 src %URL; #IMPLIED -- link to image data -- | |
857 charset CDATA #IMPLIED -- eg "ISO-2022-JP" for japanese --> | |
858 ]]> | |
859 | |
860 <!-- img is left in for at least the short term --> | |
861 <!ELEMENT IMG - O EMPTY> | |
862 <!ATTLIST IMG | |
863 src %URL; #REQUIRED -- where to get image data -- | |
864 align (top|middle|bottom) top -- top, middle or bottom -- | |
865 baseline NUMBER #IMPLIED -- height of baseline above image bottom -- | |
866 alt CDATA #IMPLIED -- description for text-only displays -- | |
867 ismap (ismap) #IMPLIED -- send mouse clicks/drags to server --> | |
868 | |
869 <![ %HTML.math [ | |
870 | |
871 <!-- Proposal for representing formulae | |
872 | |
873 Delimiters should stretch to match the size of the delimited | |
874 object. <SUB> and <SUP> are used for subscripts and superscripts | |
875 | |
876 i j | |
877 X <SUP>i</SUP>Y<SUP>j</SUP> is X Y | |
878 | |
879 i.e. the space following the X disambiguates the binding. | |
880 --> | |
881 | |
882 <!ELEMENT MATH - - (%math;)*> | |
883 <!ATTLIST MATH id ID #IMPLIED> | |
884 | |
885 <!-- Invisible brackets which may also be | |
886 used for numerators and denominators: | |
887 | |
888 1 + X | |
889 <BOX>1 + X<OVER>Y</BOX> is _______ | |
890 Y | |
891 | |
892 _____ | |
893 <BOX><OVER>X + Y</BOX> is X + Y | |
894 --> | |
895 <!ELEMENT BOX - - ((%math;)*, (OVER, (%math;)*)?)> | |
896 | |
897 <!-- Horizontal line between numerator and denominator | |
898 The symbol attribute allows authors to supply an | |
899 entity name for an arrow symbol etc. | |
900 --> | |
901 <!ELEMENT OVER - O EMPTY> | |
902 <!ATTLIST OVER symbol ENTITY #IMPLIED> | |
903 | |
904 <!-- Roots - default to square root --> | |
905 <!ELEMENT ROOT - - (%math;)*> | |
906 <!ATTLIST ROOT root CDATA #IMPLIED> | |
907 | |
908 <!-- LaTeX like arrays. The align attribute specifies | |
909 a single letter for each column, which also determines | |
910 how the column should be aligned, e.g. align=ccc" | |
911 | |
912 "l" left | |
913 "c" center | |
914 "r" right | |
915 --> | |
916 <!ELEMENT ARRAY - - (ITEM)+> | |
917 <!ATTLIST ARRAY align CDATA #REQUIRED> | |
918 | |
919 <!ELEMENT ITEM - O (%math;)*> | |
920 | |
921 ]]> | |
922 | |
923 <!-- The END --> | |
924 ]> | |
925 |