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