2
|
1 <!--
|
|
2 html-hj.dtd
|
|
3
|
|
4 Document Type Definition for the HyperText Markup Language (HTML
|
|
5 DTD) for Sun Microsystems Corp. HotJava environment
|
|
6
|
|
7
|
|
8 Date: 24 Jul 95
|
|
9
|
|
10 Revisions made by: Mark Gaither (markg@hal.com)
|
|
11 Original Author: Dave Raggett <dsr@hplb.hpl.hp.com>
|
|
12
|
|
13 I have taken the HTML 3.0 DTD dated 16 Mar 95 and added the APP
|
|
14 element introduced by Sun Microsystems Corp. to accomodate their
|
|
15 Java/HotJava WWW application environment.
|
|
16 -->
|
|
17
|
|
18 <!ENTITY % HTML.Version
|
|
19 "-//Sun Micorsystems Corp.//DTD HotJava HTML//EN"
|
|
20
|
|
21 -- Typical usage:
|
|
22
|
|
23 <!DOCTYPE HTML PUBLIC "-//Sun Micorsystems Corp.//DTD HotJava HTML//EN">
|
|
24 <html>
|
|
25 ...
|
|
26 </html>
|
|
27 --
|
|
28 >
|
|
29
|
|
30 <!--================== Flags for Marked Sections ==========================-->
|
|
31
|
|
32 <!ENTITY % HTML.Recommended "IGNORE"
|
|
33 -- Certain features of the language are necessary for compatibility
|
|
34 with widespread usage, but they may compromise the structural
|
|
35 integrity of a document. This feature test entity enables
|
|
36 a more prescriptive document type definition that eliminates
|
|
37 the above features.
|
|
38 -->
|
|
39
|
|
40 <![ %HTML.Recommended [
|
|
41 <!ENTITY % HTML.Deprecated "IGNORE">
|
|
42 ]]>
|
|
43
|
|
44 <!ENTITY % HTML.Deprecated "INCLUDE"
|
|
45 -- Certain features of the language are necessary for compatibility
|
|
46 with earlier versions of the specification, but they tend
|
|
47 to be used an implemented inconsistently, and their use is
|
|
48 deprecated. This feature test entity enables a document type
|
|
49 definition that eliminates these features.
|
|
50 -->
|
|
51
|
|
52 <!ENTITY % HTML.Obsoleted "IGNORE"
|
|
53 -- The XMP, LISTING and PLAINTEXT tags are incompatible with SGML
|
|
54 and derive from very early versions of HTML. They require non-
|
|
55 standard parsers and will cause problems for processing
|
|
56 documents with standard SGML tools.
|
|
57 -->
|
|
58
|
|
59 <!--================== Imported Names =====================================-->
|
|
60
|
|
61 <!ENTITY % Content-Type "CDATA"
|
|
62 -- meaning a MIME content type, as per RFC1521
|
|
63 -->
|
|
64
|
|
65 <!ENTITY % HTTP-Method "GET | POST"
|
|
66 -- as per HTTP specification
|
|
67 -->
|
|
68
|
|
69 <!ENTITY % URI "CDATA"
|
|
70 -- The term URI means a CDATA attribute
|
|
71 whose value is a Uniform Resource Identifier,
|
|
72 as defined by
|
|
73 "Uniform Resource Identifiers" by Tim Berners-Lee
|
|
74 aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
|
|
75 aka RFC 1630
|
|
76
|
|
77 Note that CDATA attributes are limited by the LITLEN
|
|
78 capacity (1024 in the current version of html.decl),
|
|
79 so that URIs in HTML have a bounded length.
|
|
80
|
|
81 -->
|
|
82
|
|
83 <!ENTITY % REAL "CDATA" -- real numbers (not in SGML) -->
|
|
84
|
|
85 <!ENTITY % SHAPE "CDATA"
|
|
86 -- Shape of hotzone in image.
|
|
87
|
|
88 All coordinates are assumed to be numbers in the range 0 to 1
|
|
89 and interpreted as fractional width/height and measured from
|
|
90 the top left corner of the associated image.
|
|
91
|
|
92 The attribute value is a string taking one of the following forms:
|
|
93
|
|
94 "default"
|
|
95
|
|
96 Used to define a default link for the figure background.
|
|
97
|
|
98 "circle x, y, r"
|
|
99
|
|
100 (x, y) define the center and r the radius.
|
|
101
|
|
102 "rect x, y, w, h"
|
|
103
|
|
104 (x, y) defines upper left, and w and h the width and height.
|
|
105
|
|
106 "polygon x1, y1, x2, y2, ..."
|
|
107
|
|
108 Given n pairs of x, y coordinates, the polygon is closed by a
|
|
109 line linking the n'th point to the first. Intersecting polygons
|
|
110 use the non-zero winding number rule to determine if a point lies
|
|
111 inside the polygon.I
|
|
112 --
|
|
113 >
|
|
114
|
|
115 <!-- 3.0 Parameter Entities -->
|
|
116
|
|
117 <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
|
|
118
|
|
119 <![ %HTML.Obsoleted [
|
|
120 <!ENTITY % preformatted "PRE | XMP | LISTING">
|
|
121 ]]>
|
|
122
|
|
123
|
|
124 <![ %HTML.Deprecated [
|
|
125 <!ENTITY % list "UL | OL | DIR | MENU">
|
|
126 <!ENTITY % blockquote "BLOCKQUOTE | BQ">
|
|
127 ]]>
|
|
128
|
|
129 <!ENTITY % list "UL | OL">
|
|
130
|
|
131 <!ENTITY % blockquote "BQ">
|
|
132
|
|
133 <!ENTITY % preformatted "PRE">
|
|
134
|
|
135
|
|
136 <!-- The CLASS attribute is used to subclass HTML elements for
|
|
137 rendering purposes, when used with style sheets, e.g. DSSSL lite -->
|
|
138
|
|
139 <!ENTITY % attrs -- common attributes for elements --
|
|
140 'id ID #IMPLIED -- as target for hrefs (link ends) --
|
|
141 lang CDATA "en.us" -- ISO language, country code --
|
|
142 class NAMES #IMPLIED -- for subclassing elements --'>
|
|
143
|
|
144 <!-- SGML standard forces different NAMES for all attribute values
|
|
145 in the same element, regardless of the attribute name! As a result
|
|
146 CDATA is used for CLEAR attribute to avoid clash with ALIGN attribute.-->
|
|
147
|
|
148 <!--
|
|
149 When text flows around a figure or table in the margin, you sometimes want
|
|
150 to start an element like a header, paragraph or list below the figure rather
|
|
151 than alongside it. The CLEAR attribute allows you to move down unconditionally:
|
|
152
|
|
153 clear=left move down until left margin is clear
|
|
154 clear=right move down until right margin is clear
|
|
155 clear=all move down until both margins are clear
|
|
156
|
|
157 Alternatively, you can decide to place the element alongside the figure just
|
|
158 so long as there is enough room. The minimum width needed is specified as:
|
|
159
|
|
160 clear="40 en" move down until there is at least 40 en units free
|
|
161 clear="100 pixels" move down until there is at least 100 pixels free
|
|
162
|
|
163 The style sheet (or browser defaults) may provide default minimum widths for
|
|
164 each class of block-like elements.
|
|
165 -->
|
|
166
|
|
167 <!ENTITY % needs -- Attributes for controlling text flow. Used in headers
|
|
168 and other elements to guarantee sufficient room --
|
|
169 'clear CDATA #IMPLIED'>
|
|
170
|
|
171 <!--
|
|
172 The following attribute may be included where ever a URL can be given:
|
|
173
|
|
174 md message digest e.g. md="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ"
|
|
175 where the digest is base64 encoded and preceded by a prefix
|
|
176 denoting the algorithm (in this case MD5).
|
|
177 -->
|
|
178
|
|
179 <!ENTITY % url.link -- Attributes associated with URL based links --
|
|
180 "md CDATA #IMPLIED -- message digest for linked object --">
|
|
181
|
|
182 <!--================ Character mnemonic entities ==========================-->
|
|
183
|
|
184 <!-- The HTML list of Latin-1 entities includes the full range
|
|
185 of characters in widely available Latin-1 fonts, and as such
|
|
186 is a mixture of ISOlat1 and other ISO publishing symbols -->
|
|
187
|
|
188 <!ENTITY % HTMLlat1 PUBLIC
|
|
189 "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
|
|
190 %HTMLlat1;
|
|
191
|
|
192 <!--================ Entities for special symbols =========================-->
|
|
193
|
|
194 <!ENTITY emsp SDATA "[emsp ]" -- em space -->
|
|
195 <!ENTITY ensp SDATA "[ensp ]" -- en space (1/2-em) -->
|
|
196 <!ENTITY mdash SDATA "[ndash ]" -- em dash -->
|
|
197 <!ENTITY ndash SDATA "[ndash ]" -- en dash (1/2-em) -->
|
|
198 <!ENTITY nbsp SDATA "[nbsp ]" -- non breaking space -->
|
|
199 <!ENTITY shy SDATA "[shy ]" -- soft hyphen -->
|
|
200 <!ENTITY copy SDATA "[copy ]" -- copyright sign -->
|
|
201 <!ENTITY trade SDATA "[trade ]" -- trade mark sign -->
|
|
202 <!ENTITY reg SDATA "[reg ]" -- registered sign -->
|
|
203
|
|
204 <!--================ Entities for standard icons ==========================-->
|
|
205
|
|
206 <!-- a range of standard icons such as &folder; for use
|
|
207 in speeding up display of directory listings etc. -->
|
|
208
|
|
209 <!ENTITY % HTMLicons PUBLIC
|
|
210 "-//IETF//ENTITIES icons for HTML//EN">
|
|
211 %HTMLicons;
|
|
212
|
|
213 <!--================ Entities for math symbols ============================-->
|
|
214
|
|
215 <!-- ISO subset chosen for use with the widely available Adobe math font -->
|
|
216
|
|
217 <!ENTITY % HTMLmath PUBLIC
|
|
218 "-//IETF//ENTITIES Math and Greek for HTML//EN">
|
|
219 %HTMLmath;
|
|
220
|
|
221 <!--=================== Text Markup =======================================-->
|
|
222
|
|
223 <!ENTITY % font " U | S | TT | I | BIG | SMALL">
|
|
224
|
|
225 <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE">
|
|
226
|
|
227 <!ENTITY % misc "Q | LANG | AU | DFN | PERSON | ACRONYM | ABBREV | INS | DEL">
|
|
228
|
|
229 <!ENTITY % special "TAB | MATH | A | IMG | BR">
|
|
230
|
|
231 <!ENTITY % notmath "%font | %phrase | %special | %misc">
|
|
232
|
|
233 <!ENTITY % text "#PCDATA | SUB | SUP | B | %notmath">
|
|
234
|
|
235
|
|
236 <!ENTITY % pre.exclusion "TAB|MATH|IMG|BIG|SMALL|SUB|SUP">
|
|
237
|
|
238 <!ELEMENT (%font|B|%phrase|%misc) - - (%text)+>
|
|
239 <!ATTLIST (%font|B|%phrase|%misc) %attrs;>
|
|
240
|
|
241 <!-- Subscripts and superscripts. The ALIGN attribute is only used for math -->
|
|
242
|
|
243 <!ELEMENT (SUB|SUP) - - (%text)+>
|
|
244 <!ATTLIST (SUB|SUP)
|
|
245 %attrs;
|
|
246 align (left|center|right) #IMPLIED
|
|
247 >
|
|
248
|
|
249 <!-- Forced line break -->
|
|
250
|
|
251 <!ELEMENT BR - O EMPTY>
|
|
252 <!ATTLIST BR
|
|
253 %attrs;
|
|
254 %needs; -- for control of text flow --
|
|
255 >
|
|
256
|
|
257 <!-- Named left, center and right tab stops (independent of '\t' char) -->
|
|
258
|
|
259 <!ELEMENT TAB - O EMPTY>
|
|
260 <!ATTLIST TAB
|
|
261 id ID #IMPLIED -- defines named tab stop --
|
|
262 indent NUMBER 0 -- en units before new tab stop --
|
|
263 to IDREF #IMPLIED -- jump to named tab stop --
|
|
264 align (left|center|right|decimal) left
|
|
265 dp CDATA #IMPLIED -- decimal point e.g. dp="," --
|
|
266 >
|
|
267
|
|
268 <!--================== Link Markup ========================================-->
|
|
269
|
|
270 <!--
|
|
271 With HTML 3.0 you can use ID attributes on most elements for named
|
|
272 link ends. The use of the NAME attribute on anchors is deprecated.
|
|
273
|
|
274 Do we want to support arbitrary elements for link starts? This would
|
|
275 involve adding HREF and related attributes to most elements.
|
|
276 -->
|
|
277
|
|
278 <![ %HTML.Deprecated [
|
|
279 <!ENTITY % linkName "name CDATA #IMPLIED -- named link end --">
|
|
280 ]]>
|
|
281
|
|
282 <!ENTITY % linkName "">
|
|
283
|
|
284
|
|
285 <!ENTITY % ToolBar "home|toc|index|glossary|copyright|
|
|
286 up|previous|next|help|bookmark"
|
|
287
|
|
288 -- LINK RELationship values which are used to create toolbar
|
|
289 buttons or menu items for navigation, where toc stands
|
|
290 for table of contents and bookmark provides for an open
|
|
291 ended set of links, i.e. you can use multiple bookmarks
|
|
292 for key entry points. Use the optional TITLE attribute
|
|
293 to override default names.
|
|
294 -->
|
|
295
|
|
296 <!ENTITY % linkType "NAME"
|
|
297 -- A definitive list will be specified at a later date.
|
|
298
|
|
299 They are used
|
|
300
|
|
301 a) by stylesheets to control how collections of
|
|
302 html nodes are rendered into printed documents
|
|
303
|
|
304 b) for document specific toolbars/menus when used
|
|
305 with the LINK element in document head:
|
|
306
|
|
307 "home|toc|index|glossary|copyright|
|
|
308 up|previous|next|help|bookmark"
|
|
309
|
|
310 where toc stands for table of contents and
|
|
311 bookmark provides for an open ended set of links,
|
|
312 i.e. you can use several bookmarks for key entry
|
|
313 points. Use the optional TITLE attribute to
|
|
314 override default names.
|
|
315
|
|
316 c) for hypertext paths or guided tours,
|
|
317 with REL=NODE and REL=PATH.
|
|
318
|
|
319 d) to make a link to a style sheet, e.g. rel=stylesheet
|
|
320 (used only with the LINK element).
|
|
321
|
|
322 e) to make a link to a separate banner, e.g. rel=banner
|
|
323 (used only with the LINK element).
|
|
324 -->
|
|
325
|
|
326
|
|
327 <!ENTITY % linkExtraAttributes -- URN moved to %url.link --
|
|
328 "rel %linkType #IMPLIED -- forward relationship type --
|
|
329 rev %linkType #IMPLIED -- reversed relationship type
|
|
330 to referent data --
|
|
331 title CDATA #IMPLIED -- advisory only --
|
|
332 methods NAMES #IMPLIED -- supported public methods of the object:
|
|
333 TEXTSEARCH, GET, HEAD, ... --
|
|
334 ">
|
|
335
|
|
336 <![ %HTML.Deprecated [
|
|
337 <!ENTITY % A.content "(%heading|%text)+">
|
|
338 ]]>
|
|
339
|
|
340 <!ENTITY % A.content "(%text)+">
|
|
341
|
|
342 <!ELEMENT A - - %A.content -(A)>
|
|
343
|
|
344 <!ATTLIST A
|
|
345 %attrs;
|
|
346 href %URI; #IMPLIED
|
|
347 %url.link; -- standard link attributes --
|
|
348 %linkName; -- name attribute is deprecated; use ID instead --
|
|
349 shape %SHAPE; #IMPLIED -- for shaped hotzones in FIGs --
|
|
350 %linkExtraAttributes;
|
|
351 >
|
|
352
|
|
353 <!--=================== Images ============================================-->
|
|
354
|
|
355 <!-- Desired widths are used for negotiating image size
|
|
356 with the module responsible for painting the image.
|
|
357 align=left or right cause image to float to margin
|
|
358 and for subsequent text to wrap around image -->
|
|
359
|
|
360 <!ELEMENT IMG - O EMPTY -- Embedded image -->
|
|
361 <!ATTLIST IMG
|
|
362 %attrs;
|
|
363 src %URI; #REQUIRED -- URI of image to embed --
|
|
364 %url.link; -- standard link attributes --
|
|
365 alt CDATA #IMPLIED -- for display in place of image --
|
|
366 align (top|middle|bottom|left|right) top -- relative to baseline
|
|
367 -- width NUMBER #IMPLIED -- desired width in en's or pixels --
|
|
368 height NUMBER #IMPLIED -- desired height in en's or pixels --
|
|
369 units (en|pixels) pixels -- units for width and height --
|
|
370 ismap (ismap) #IMPLIED -- pass clicks to server --
|
|
371 >
|
|
372
|
|
373 <!--=================== Paragraphs=========================================-->
|
|
374
|
|
375 <!ELEMENT P - O (%text)+>
|
|
376 <!ATTLIST P
|
|
377 %attrs;
|
|
378 align (left|center|right|justify) #IMPLIED
|
|
379 %needs; -- for control of text flow --
|
|
380 nowrap (nowrap) #IMPLIED -- disable wordwrap --
|
|
381 >
|
|
382
|
|
383 <!--=================== Headings, Titles, Sections ========================-->
|
|
384
|
|
385 <!ELEMENT HR - O EMPTY -- customizable horizontal rule -->
|
|
386 <!ATTLIST HR
|
|
387 %attrs;
|
|
388 src %URI; #IMPLIED -- URI of custom rule graphic --
|
|
389 %url.link; -- standard link attributes --
|
|
390 %needs; -- for control of text flow --
|
|
391 >
|
|
392
|
|
393 <!--
|
|
394 Headers can be numbered, although this is a matter for style sheets.
|
|
395 The style sheet controls the numbering style:
|
|
396
|
|
397 a) whether the parent numbering is inherited, e.g. 5.i.c
|
|
398 where 5 is the current sequence number for H1 headers, and
|
|
399 1 is the number for H2 headers and 3 for H3 headers.
|
|
400
|
|
401 b) what style is used for current sequence number
|
|
402 e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman
|
|
403 or a numbering scheme appropriate for the current language
|
|
404
|
|
405 The skip attribute is used to skip over sequence numbers for items
|
|
406 which have been left out of the list, e.g. skip=3 advances the
|
|
407 sequence number past 3 omitted items. The seqnum sets the sequence
|
|
408 number to a specified value. Note that the style sheet may take
|
|
409 advantage of the sequence number for higher level headers.
|
|
410
|
|
411 The dingbat or src attributes may be used to specify a bullet like
|
|
412 image to be placed adjacent to the header. Defining this in the
|
|
413 header element simplifies the document markup and avoids the need
|
|
414 to use the clear or needs attribute in the following element to
|
|
415 prevent it flowing around this image.
|
|
416 -->
|
|
417
|
|
418 <!ELEMENT ( %heading ) - - (%text;)+>
|
|
419 <!ATTLIST ( %heading )
|
|
420 %attrs;
|
|
421 align (left|center|right|justify) #IMPLIED
|
|
422 %needs; -- for control of text flow --
|
|
423 seqnum NUMBER #IMPLIED -- starting sequence number --
|
|
424 skip NUMBER 0 -- skip seq nums for missing items --
|
|
425 dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons --
|
|
426 src (%URI;) #IMPLIED -- bullet defined by graphic --
|
|
427 %url.link; -- standard link attributes --
|
|
428 nowrap (nowrap) #IMPLIED -- disable wordwrap --
|
|
429 >
|
|
430
|
|
431 <!ELEMENT TITLE - - (#PCDATA)
|
|
432 -- The TITLE element is not considered part of the flow of text.
|
|
433 It should be displayed, for example as the page header or
|
|
434 window title.
|
|
435 -->
|
|
436
|
|
437 <!--=================== Text Flows ========================================-->
|
|
438
|
|
439 <!ENTITY % block
|
|
440 "P | %list | DL
|
|
441 | %preformatted
|
|
442 | %blockquote
|
|
443 | FORM | ISINDEX | FN
|
|
444 | TABLE | FIG | NOTE">
|
|
445
|
|
446 <!--
|
|
447 ((%block)* | (%text)*) would be much nicer as it would avoid the need
|
|
448 for a <P> tag when all you want is a few words of text. The problem
|
|
449 is that it also prevents: "<LI> <P>some text" since it forbids PCDATA
|
|
450 and hence the white space between the <LI> and the <P>.
|
|
451 -->
|
|
452
|
|
453 <![ %HTML.Recommended [
|
|
454 <!ENTITY % flow "(%block)*">
|
|
455 ]]>
|
|
456
|
|
457 <!ENTITY % flow "(%text | %block)*">
|
|
458
|
|
459 <!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
|
|
460
|
|
461 <!ATTLIST PRE
|
|
462 %attrs;
|
|
463 width NUMBER #implied
|
|
464 %needs; -- for control of text flow --
|
|
465 >
|
|
466
|
|
467 <![ %HTML.Obsoleted [
|
|
468
|
|
469 <!ENTITY % literal "CDATA"
|
|
470 -- special non-conforming parsing mode where
|
|
471 the only markup signal is the end tag
|
|
472 in full. This will cause problems for
|
|
473 standard SGML tools!
|
|
474 -->
|
|
475
|
|
476 <!ELEMENT XMP - - %literal>
|
|
477 <!ELEMENT LISTING - - %literal>
|
|
478 <!ELEMENT PLAINTEXT - O %literal>
|
|
479
|
|
480 ]]>
|
|
481
|
|
482 <!--=================== Lists =============================================-->
|
|
483
|
|
484 <!ELEMENT DL - - (LH?, (DT|DD)+) -- this is perhaps too lax? -->
|
|
485 <!ATTLIST DL
|
|
486 %attrs;
|
|
487 %needs; -- for control of text flow --
|
|
488 compact (compact) #IMPLIED -- more compact style --
|
|
489 >
|
|
490
|
|
491 <!ELEMENT DT - O (%text)+>
|
|
492 <!ELEMENT DD - O %flow;>
|
|
493 <!ATTLIST (DT|DD)
|
|
494 %attrs;
|
|
495 %needs; -- for control of text flow --
|
|
496 >
|
|
497
|
|
498
|
|
499 <!ELEMENT (OL|UL) - - (LH?, LI+) -- should we allow a list header ? -->
|
|
500
|
|
501 <!-- style sheet controls numbering style
|
|
502 a) whether the parent numbering is inherited, e.g. 5.1.c
|
|
503 b) what style is used for current sequence number
|
|
504 e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman
|
|
505 or a numbering scheme for the current language
|
|
506 -->
|
|
507 <!ATTLIST OL
|
|
508 %attrs;
|
|
509 %needs; -- for control of text flow --
|
|
510 continue (continue) #IMPLIED -- don't restart sequence number --
|
|
511 seqnum NUMBER #IMPLIED -- starting sequence number --
|
|
512 compact (compact) #IMPLIED -- reduced interitem spacing --
|
|
513 >
|
|
514
|
|
515 <!-- Unordered lists:
|
|
516
|
|
517 o single or multicolumn with
|
|
518 horizontal or vertical wrapping
|
|
519
|
|
520 o plain or bulletted list items
|
|
521
|
|
522 o bullets can be customised via:
|
|
523 - entities (dingbats in HTMLicons)
|
|
524 - external graphic via URL
|
|
525 - individual attributes on LI tags
|
|
526 -->
|
|
527 <!ATTLIST UL
|
|
528 %attrs;
|
|
529 %needs; -- for control of text flow --
|
|
530 wrap (vert|horiz|none) none -- multicolumn list style --
|
|
531 plain (plain) #IMPLIED -- suppress bullets --
|
|
532 dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons --
|
|
533 src (%URI;) #IMPLIED -- bullet defined by graphic --
|
|
534 %url.link; -- standard link attributes --
|
|
535 compact (compact) #IMPLIED -- reduced interitem spacing --
|
|
536 >
|
|
537
|
|
538 <!ELEMENT LH - O (%text;)+ -- list header -->
|
|
539 <!ATTLIST LH %attrs;>
|
|
540
|
|
541 <!--
|
|
542 For unordered lists, you can override the standard bullet with
|
|
543 a custom graphic specified via a URI e.g. src="splash.gif" or
|
|
544 a reference to one of the HTMLicons graphics e.g. dingbat=folder
|
|
545
|
|
546 The skip attribute is used with ordered lists to skip over sequence
|
|
547 numbers for items which have been left out of the list, e.g. skip=3
|
|
548 advances the sequence number past 3 omitted items.
|
|
549 -->
|
|
550
|
|
551 <!ELEMENT LI - O %flow; -- list item -->
|
|
552 <!ATTLIST LI
|
|
553 %attrs;
|
|
554 %needs; -- for control of text flow --
|
|
555 dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons --
|
|
556 src (%URI;) #IMPLIED -- custom bullet graphic --
|
|
557 %url.link; -- standard link attributes --
|
|
558 skip NUMBER 0 -- skip seq nums for missing items --
|
|
559 >
|
|
560
|
|
561 <!-- DIR and MENU are now subsumed by UL with type=plain. Use the
|
|
562 wrap attribute to control wrapping style for multicolumn lists -->
|
|
563
|
|
564 <![ %HTML.Deprecated [
|
|
565 <!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
|
|
566 <!ATTLIST (DIR|MENU)
|
|
567 compact (compact) #IMPLIED>
|
|
568 ]]>
|
|
569
|
|
570 <!--=================== Document Body =====================================-->
|
|
571
|
|
572 <![ %HTML.Recommended [
|
|
573 <!ENTITY % body.content "(DIV|%heading|%block|HR|ADDRESS|APP)*"
|
|
574 -- <h1>Heading</h1>
|
|
575 <p>Text ...
|
|
576 is preferred to
|
|
577 <h1>Heading</h1>
|
|
578 Text ...
|
|
579 -->
|
|
580 ]]>
|
|
581
|
|
582 <!ENTITY % body.content "(DIV | %heading | %text | %block | HR | ADDRESS | APP)*">
|
|
583
|
|
584 <!ELEMENT BODY O O (BANNER?, BODYTEXT) +(SPOT)>
|
|
585 <!ATTLIST BODY
|
|
586 %attrs;
|
|
587 background %URI; #IMPLIED -- texture tile for document background --
|
|
588 >
|
|
589
|
|
590 <!ELEMENT BODYTEXT O O %body.content -- dummy element -->
|
|
591
|
|
592 <!--
|
|
593 The BANNER element is used for a banner section which appears at
|
|
594 the top of the window and doesn't scroll with window contents.
|
|
595 This can be used for corporate logos, copyright statements and
|
|
596 disclaimers, as well as customized navigation/search controls.
|
|
597 -->
|
|
598 <!ELEMENT BANNER - - %body.content>
|
|
599 <!ATTLIST BANNER %attrs; >
|
|
600
|
|
601 <!-- SPOT is used to insert IDs at arbitrary places
|
|
602 e.g. for end points of a marked range (see RANGE) -->
|
|
603 <!ELEMENT SPOT - O EMPTY>
|
|
604 <!ATTLIST SPOT id ID #REQUIRED>
|
|
605
|
|
606 <!ELEMENT (%blockquote) - - (BODYTEXT, CREDIT?)>
|
|
607 <!ATTLIST (%blockquote)
|
|
608 %attrs;
|
|
609 %needs; -- for control of text flow --
|
|
610 nowrap (nowrap) #IMPLIED -- disable wordwrap --
|
|
611 >
|
|
612
|
|
613 <!ENTITY % address.content "((%text;)* | P*)">
|
|
614
|
|
615 <!ELEMENT ADDRESS - - %address.content>
|
|
616 <!ATTLIST ADDRESS
|
|
617 %attrs;
|
|
618 %needs; -- for control of text flow --
|
|
619 >
|
|
620
|
|
621 <!ELEMENT APP - O EMPTY>
|
|
622 <!ATTLIST APP
|
|
623 class CDATA #REQUIRED
|
|
624 src %URI; #IMPLIED
|
|
625 align (bottom|top|middle) #IMPLIED
|
|
626 width NUMBER #IMPLIED
|
|
627 height NUMBER #IMPLIED
|
|
628 >
|
|
629
|
|
630 <!--
|
|
631 DIV can be used with the CLASS attribute to represent different
|
|
632 kinds of container, e.g. chapter, section, abstract, appendix.
|
|
633 -->
|
|
634
|
|
635 <!ELEMENT DIV - - %body.content>
|
|
636 <!ATTLIST DIV
|
|
637 %attrs;
|
|
638 %needs; -- for control of text flow --
|
|
639 align (left|center|right) left -- alignment of following text --
|
|
640 nowrap (nowrap) #IMPLIED -- disable wordwrap --
|
|
641 >
|
|
642
|
|
643 <!--================ Forms ===============================================-->
|
|
644
|
|
645 <!--
|
|
646 As HTML 2.0 plus a few extensions:
|
|
647
|
|
648 a) A RANGE control which varies between pair of values
|
|
649 specified with the size attribute, e.g. SIZE="1, 10"
|
|
650
|
|
651 b) FILE widget for uploading one or more files to a server
|
|
652
|
|
653 c) SCRIBBLE on image widget that sends the "ink" to the server
|
|
654
|
|
655 d) SUBMIT/RESET buttons can now be customised with an image.
|
|
656 This subsumes the IMAGE type which is now deprecated.
|
|
657
|
|
658 e) Graphical SELECTion menus are now supported, using
|
|
659 the new SHAPE attribute on OPTION elements.
|
|
660
|
|
661 Further extensions are in the pipeline (e.g. table entry,
|
|
662 multiple data formats for textarea fields and client-side
|
|
663 scripts with custom widgets) but will have to wait until
|
|
664 the backlog of implementation work diminishes.
|
|
665 -->
|
|
666
|
|
667 <!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
|
|
668 <!ATTLIST FORM
|
|
669 action %URI #REQUIRED -- server-side form handler --
|
|
670 method (%HTTP-Method) GET -- see HTTP specification --
|
|
671 enctype %Content-Type; "application/x-www-form-urlencoded"
|
|
672 script %URI #IMPLIED -- link to client-side script --
|
|
673 >
|
|
674
|
|
675 <![ %HTML.Deprecated [
|
|
676 <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
|
|
677 | RESET | RANGE | FILE | SCRIBBLE | HIDDEN | IMAGE)">
|
|
678 ]]>
|
|
679
|
|
680 <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
|
|
681 | RESET | RANGE | FILE | SCRIBBLE | HIDDEN)">
|
|
682
|
|
683 <!ELEMENT INPUT - O EMPTY>
|
|
684 <!ATTLIST INPUT
|
|
685 %attrs;
|
|
686 type %InputType TEXT
|
|
687 name NAME #IMPLIED -- required for all but submit and reset --
|
|
688 value CDATA #IMPLIED -- required for radio buttons & checkboxes --
|
|
689 disabled (disabled) #IMPLIED -- read-only fields --
|
|
690 error CDATA #IMPLIED -- why field is in error --
|
|
691 checked (checked) #IMPLIED -- for radio buttons and check boxes --
|
|
692 size NUMBER #IMPLIED -- visible width of TEXT fields --
|
|
693 maxlength NUMBER #IMPLIED -- max number of chars for TEXT fields --
|
|
694 min %REAL #IMPLIED -- lower limit for RANGE fields --
|
|
695 max %REAL #IMPLIED -- upper limit for RANGE fields --
|
|
696 accept CDATA #IMPLIED -- list of MIME types for file fields --
|
|
697 src %URI #IMPLIED -- for fields with background images --
|
|
698 %url.link; -- standard link attributes --
|
|
699 align (top|middle|bottom|left|right) top
|
|
700 >
|
|
701
|
|
702 <!--
|
|
703 SRC attribute added for graphical selection menus
|
|
704 The WIDTH, HEIGHT and UNITS attributes apply to the
|
|
705 image specified by the SRC attribute.
|
|
706 -->
|
|
707
|
|
708 <!ELEMENT SELECT - - (OPTION+) -(INPUT|TEXTAREA|SELECT)>
|
|
709 <!ATTLIST SELECT
|
|
710 %attrs;
|
|
711 name CDATA #REQUIRED
|
|
712 multiple (multiple) #IMPLIED
|
|
713 disabled (disabled) #IMPLIED -- read-only menu --
|
|
714 error CDATA #IMPLIED -- why selections are in error --
|
|
715 src %URI #IMPLIED -- for graphical selection menus --
|
|
716 %url.link; -- standard link attributes --
|
|
717 width NUMBER #IMPLIED -- desired width of in en's or pixels --
|
|
718 height NUMBER #IMPLIED -- desired height in en's or pixels --
|
|
719 units (en|pixels) pixels -- units for width and height --
|
|
720 align (top|middle|bottom|left|right) top
|
|
721 >
|
|
722
|
|
723 <!ELEMENT OPTION - O (#PCDATA)>
|
|
724 <!ATTLIST OPTION
|
|
725 %attrs;
|
|
726 selected (selected) #IMPLIED
|
|
727 value CDATA #IMPLIED -- default to element content --
|
|
728 shape %SHAPE; #IMPLIED -- for graphical selection menus --
|
|
729 disabled (disabled) #IMPLIED -- unselectable option --
|
|
730 error CDATA #IMPLIED -- why this choice is in error --
|
|
731 >
|
|
732
|
|
733 <!--
|
|
734 Multi-line text input field. align=left or right
|
|
735 causes the field to float to margin and for
|
|
736 subsequent text to wrap around the field.
|
|
737 -->
|
|
738
|
|
739 <!ELEMENT TEXTAREA - - (#PCDATA) -(INPUT|TEXTAREA|SELECT)>
|
|
740 <!ATTLIST TEXTAREA
|
|
741 %attrs;
|
|
742 name CDATA #REQUIRED
|
|
743 rows NUMBER #REQUIRED
|
|
744 cols NUMBER #REQUIRED
|
|
745 disabled (disabled) #IMPLIED -- read-only field --
|
|
746 error CDATA #IMPLIED -- why field is in error --
|
|
747 align (top|middle|bottom|left|right) top
|
|
748 >
|
|
749
|
|
750 <!--======================= Captions ======================================-->
|
|
751
|
|
752 <!ELEMENT CAPTION - - (%text;)+ -- table or figure caption -->
|
|
753 <!ATTLIST CAPTION
|
|
754 %attrs;
|
|
755 align (top|bottom|left|right) #IMPLIED
|
|
756 >
|
|
757 <!--======================= Tables ========================================-->
|
|
758
|
|
759 <!--
|
|
760 Tables and figures can be aligned in several ways:
|
|
761
|
|
762 bleedleft flush left with the left (window) border
|
|
763 left flush left with the left text margin
|
|
764 center centered (text flow is disabled for this mode)
|
|
765 right flush right with the right text margin
|
|
766 bleedright flush right with the right (window) border
|
|
767 justify when applicable the table/figure should stretch
|
|
768 to fill space between the text margins
|
|
769
|
|
770 Note: text will flow around the table or figure if the browser
|
|
771 judges there is enough room and the alignment is not centered
|
|
772 or justified. The table or figure may itself be part of the
|
|
773 text flow around some earlier figure. You can in this case use
|
|
774 the clear or needs attributes to move the new table or figure
|
|
775 down the page beyond the obstructing earlier figure. Similarly,
|
|
776 you can use the clear or needs attributes with other elements
|
|
777 such as headers and lists to move them further down the page.
|
|
778 -->
|
|
779
|
|
780 <!ENTITY % block.align
|
|
781 "align (bleedleft|left|center|right|bleedright|justify) center">
|
|
782
|
|
783 <!--
|
|
784 The HTML 3.0 table model has been chosen for its simplicity
|
|
785 and the ease in writing filters from common DTP packages.
|
|
786
|
|
787 By default the table is automatically sized according to the
|
|
788 cell contents and the current window size. Specifying the columns
|
|
789 widths using the colspec attribute allows browsers to start
|
|
790 displaying the table without having to wait for last row.
|
|
791
|
|
792 The colspec attribute is a list of column widths and alignment
|
|
793 specifications. The columns are listed from left to right with
|
|
794 a capital letter followed by a number, e.g. COLSPEC="L20 C8 L40".
|
|
795 The letter is L for left, C for center, R for right alignment of
|
|
796 cell contents. J is for justification, when feasible, otherwise
|
|
797 this is treated in the same way as L for left alignment.
|
|
798 Column entries are delimited by one or more space characters.
|
|
799
|
|
800 The number specifies the width in en's, pixels or as a
|
|
801 fractional value of the table width, as according to the
|
|
802 associated units attribute. This approach is more compact
|
|
803 than used with most SGML table models and chosen to simplify
|
|
804 hand entry. The width attribute allows you to specify the
|
|
805 width of the table in pixels, en units or as a percentage
|
|
806 of the space between the current left and right margins.
|
|
807
|
|
808 To assist with rendering to speech, row and column headers
|
|
809 can be given short names using the AXIS attribute. The AXES
|
|
810 attribute is used to explicitly specify the row and column
|
|
811 names for use with each cell. Otherwise browsers can follow
|
|
812 up columns and left along rows (right for some languages)
|
|
813 to find the corresponding header cells.
|
|
814
|
|
815 Table content model: Braille limits the width of tables,
|
|
816 placing severe limits on column widths. User agents need
|
|
817 to render big cells by moving the content to a note placed
|
|
818 before the table. The cell is then rendered as a link to
|
|
819 the corresponding note.
|
|
820
|
|
821 To assist with formatting tables to paged media, authors
|
|
822 can differentiate leading and trailing rows that are to
|
|
823 be duplicated when splitting tables across page boundaries.
|
|
824 The recommended way is to subclass rows with the CLASS attribute
|
|
825 For example: <TR CLASS=Header>, <TR CLASS=Footer> are used for
|
|
826 header and footer rows. Paged browsers insert footer rows at
|
|
827 the bottom of the current page and header rows at the top of
|
|
828 the new page, followed by the remaining body rows.
|
|
829 -->
|
|
830
|
|
831 <!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data -->
|
|
832 <!ATTLIST TABLE
|
|
833 %attrs;
|
|
834 %needs; -- for control of text flow --
|
|
835 border (border) #IMPLIED -- draw borders --
|
|
836 colspec CDATA #IMPLIED -- column widths and alignment --
|
|
837 units (en|pixels|relative) en -- units for column widths --
|
|
838 dp CDATA #IMPLIED -- decimal point e.g. dp="," --
|
|
839 width NUMBER #IMPLIED -- absolute or percentage width --
|
|
840 %block.align; -- horizontal alignment --
|
|
841 noflow (noflow) #IMPLIED -- noflow around table --
|
|
842 nowrap (nowrap) #IMPLIED -- don't wrap words --
|
|
843 >
|
|
844
|
|
845 <!ENTITY % cell "TH | TD">
|
|
846 <!ENTITY % horiz.align "left|center|right|justify">
|
|
847 <!ENTITY % vert.align "top|middle|bottom|baseline">
|
|
848
|
|
849 <!--
|
|
850 Browsers should tolerate an omission of the first <TR>
|
|
851 tag as it is implied by the context. Missing trailing
|
|
852 <TR>s implied by rowspans should be ignored.
|
|
853
|
|
854 The alignment attributes act as defaults for rows
|
|
855 overriding the colspec attribute and being in turn
|
|
856 overridden by alignment attributes on cell elements.
|
|
857 Use valign=baseline when you want to ensure that text
|
|
858 in different cells on the same row is aligned on the
|
|
859 same baseline regardless of fonts. It only applies
|
|
860 when the cells contain a single line of text.
|
|
861 -->
|
|
862
|
|
863 <!ELEMENT TR - O (%cell)* -- row container -->
|
|
864 <!ATTLIST TR
|
|
865 %attrs;
|
|
866 align (%horiz.align) #IMPLIED -- horizontal alignment --
|
|
867 valign (%vert.align) top -- vertical alignment --
|
|
868 dp CDATA #IMPLIED -- decimal point e.g. dp="," --
|
|
869 nowrap (nowrap) #IMPLIED -- don't wrap words --
|
|
870 >
|
|
871
|
|
872 <!--
|
|
873 Note that table cells can include nested tables.
|
|
874 Missing cells are considered to be empty, while
|
|
875 missing rows should be ignored, i.e. if a cell
|
|
876 spans a row and there are no further TR elements
|
|
877 then the implied row should be ignored.
|
|
878 -->
|
|
879
|
|
880 <!ELEMENT (%cell) - O %body.content>
|
|
881 <!ATTLIST (%cell)
|
|
882 %attrs;
|
|
883 colspan NUMBER 1 -- columns spanned --
|
|
884 rowspan NUMBER 1 -- rows spanned --
|
|
885 align (%horiz.align) #IMPLIED -- horizontal alignment --
|
|
886 valign (%vert.align) top -- vertical alignment --
|
|
887 dp CDATA #IMPLIED -- decimal point e.g. dp="," --
|
|
888 nowrap (nowrap) #IMPLIED -- don't wrap words --
|
|
889 axis CDATA #IMPLIED -- axis name, defaults to element content --
|
|
890 axes CDATA #IMPLIED -- comma separated list of axis names --
|
|
891 >
|
|
892
|
|
893 <!--====================== Figures ========================================-->
|
|
894
|
|
895 <!--
|
|
896 The element contains text for use in non-graphical displays. Note that
|
|
897 you can use the shape attribute in anchors to specify hotzones on images.
|
|
898 This provides for local processing of pointer clicks and a unified method
|
|
899 for dealing with graphical and non-graphical displays.
|
|
900
|
|
901 Text is flowed around figures when the figure is left or right aligned.
|
|
902 You can request the browser to move down until there is enough room for
|
|
903 the next element, see the CLEAR and NEED attributes (in %needs)
|
|
904
|
|
905 Figures offer a path towards embedding arbitrary information formats
|
|
906 via some kind of OLE/OpenDoc mechanism.
|
|
907 -->
|
|
908
|
|
909 <!ELEMENT FIG - - (OVERLAY*, CAPTION?, FIGTEXT, CREDIT?) -(FIG|IMG)>
|
|
910 <!ATTLIST FIG
|
|
911 %attrs;
|
|
912 %needs; -- for control of text flow --
|
|
913 src %URI; #REQUIRED -- URI of document to embed --
|
|
914 %url.link; -- standard link attributes --
|
|
915 %block.align; -- horizontal alignment --
|
|
916 noflow (noflow) #IMPLIED -- noflow around figure --
|
|
917 width NUMBER #IMPLIED -- desired width in units --
|
|
918 height NUMBER #IMPLIED -- desired height in units --
|
|
919 units (en|pixels) pixels -- specifies units as en's or pixels --
|
|
920 imagemap (%URI) #IMPLIED -- pass background clicks to server --
|
|
921 >
|
|
922
|
|
923 <!ELEMENT FIGTEXT O O %body.content -- dummy element -->
|
|
924
|
|
925 <!--
|
|
926 Figure overlays. When combined with local caching, overlays
|
|
927 provide a cheap way of modifying a larger base image sent as
|
|
928 part of a previous page.
|
|
929 -->
|
|
930
|
|
931 <!ELEMENT OVERLAY - O EMPTY -- image overlay -->
|
|
932 <!ATTLIST OVERLAY
|
|
933 src %URI; #REQUIRED -- URI of image overlay --
|
|
934 %url.link; -- standard link attributes --
|
|
935 units (en|pixels) pixels -- specifies units as en's or pixels --
|
|
936 x NUMBER 0 -- offset from left in units --
|
|
937 y NUMBER 0 -- offset from top in units --
|
|
938 width NUMBER #IMPLIED -- desired width in units --
|
|
939 height NUMBER #IMPLIED -- desired height in units --
|
|
940 imagemap (%URI) #IMPLIED -- pass background clicks to server --
|
|
941 >
|
|
942
|
|
943 <!ELEMENT CREDIT - - (%text;)* -- source of image -->
|
|
944 <!ATTLIST CREDIT
|
|
945 %attrs;
|
|
946 >
|
|
947
|
|
948 <!--======================== Notes ========================================-->
|
|
949
|
|
950 <!--
|
|
951 The NOTE element is used for admonishments. The CLASS attribute
|
|
952 is used to differentiate NOTE's, e.g. Note, Caution or Warning.
|
|
953 -->
|
|
954
|
|
955 <!ELEMENT NOTE - - %body.content; -- admonishment -->
|
|
956 <!ATTLIST NOTE
|
|
957 %attrs;
|
|
958 src %URI; #IMPLIED -- URI of custom graphic --
|
|
959 %url.link; -- standard link attributes --
|
|
960 %needs; -- for control of text flow --
|
|
961 >
|
|
962
|
|
963 <!--======================== Footnotes ====================================-->
|
|
964
|
|
965 <!--
|
|
966 Typically rendered as popup note. These elements are referenced
|
|
967 by hypertext links specified with the anchor element.
|
|
968 -->
|
|
969 <!ELEMENT FN - - %body.content;>
|
|
970 <!ATTLIST FN %attrs;>
|
|
971
|
|
972 <!--======================== Math ========================================-->
|
|
973
|
|
974 <!-- Use     etc for greater control of spacing. -->
|
|
975
|
|
976 <!-- Subscripts and Superscripts
|
|
977
|
|
978 <SUB> and <SUP> are used for subscripts and superscripts.
|
|
979
|
|
980 i j
|
|
981 X <SUP>i</SUP>Y<SUP>j</SUP> is X Y
|
|
982
|
|
983 i.e. the space following the X disambiguates the binding.
|
|
984 The align attribute can be used for horizontal alignment,
|
|
985 e.g. to explicitly place an index above an element:
|
|
986 i
|
|
987 X<sup align=center>i</sup> produces X
|
|
988
|
|
989 Short references are defined for superscripts, subscripts and boxes
|
|
990 to save typing when manually editing HTML math, e.g.
|
|
991
|
|
992 x^2^ is mapped to x<sup>2</sup>
|
|
993 y_z_ is mapped to y<sub>z</sub>
|
|
994 {a+b} is mapped to <box>a + b</box>
|
|
995
|
|
996 Note that these only apply within the MATH element and can't be
|
|
997 used in normal text!
|
|
998 -->
|
|
999 <!ENTITY REF1 STARTTAG "SUP">
|
|
1000 <!ENTITY REF2 ENDTAG "SUP">
|
|
1001 <!ENTITY REF3 STARTTAG "SUB">
|
|
1002 <!ENTITY REF4 ENDTAG "SUB">
|
|
1003 <!ENTITY REF5 STARTTAG "BOX">
|
|
1004 <!ENTITY REF6 ENDTAG "BOX">
|
|
1005
|
|
1006 <!USEMAP MAP1 MATH>
|
|
1007 <!USEMAP MAP2 SUP>
|
|
1008 <!USEMAP MAP3 SUB>
|
|
1009 <!USEMAP MAP4 BOX>
|
|
1010
|
|
1011 <!SHORTREF MAP1 "^" REF1
|
|
1012 "_" REF3
|
|
1013 "{" REF5 >
|
|
1014
|
|
1015 <!SHORTREF MAP2 "^" REF2
|
|
1016 "_" REF3
|
|
1017 "{" REF5 >
|
|
1018
|
|
1019 <!SHORTREF MAP3 "_" REF4
|
|
1020 "^" REF1
|
|
1021 "{" REF5 >
|
|
1022
|
|
1023 <!SHORTREF MAP4 "}" REF6
|
|
1024 "^" REF1
|
|
1025 "_" REF3
|
|
1026 "{" REF5 >
|
|
1027
|
|
1028 <!--
|
|
1029 The inclusion of %math and exclusion of %notmath is used here
|
|
1030 to alter the content model for the B, SUB and SUP elements,
|
|
1031 to limit them to formulae rather than general text elements.
|
|
1032 -->
|
|
1033
|
|
1034 <!ENTITY % mathvec "VEC|BAR|DOT|DDOT|HAT|TILDE" -- common accents -->
|
|
1035 <!ENTITY % mathface "B|T|BT" -- control of font face -->
|
|
1036 <!ENTITY % math "BOX|ABOVE|BELOW|%mathvec|ROOT|SQRT|ARRAY|SUB|SUP|%mathface">
|
|
1037 <!ENTITY % formula "#PCDATA|%math">
|
|
1038
|
|
1039 <!ELEMENT MATH - - (#PCDATA)* -(%notmath) +(%math)>
|
|
1040 <!ATTLIST MATH
|
|
1041 id ID #IMPLIED
|
|
1042 class NAMES #IMPLIED -- e.g. class=chem -->
|
|
1043
|
|
1044 <!-- The BOX element acts as brackets. Delimiters are optional and
|
|
1045 stretch to match the height of the box. The OVER element is used
|
|
1046 when you want a line between numerator and denominator. This line
|
|
1047 is suppressed with the alternative ATOP element. CHOOSE acts like
|
|
1048 ATOP but adds enclosing round brackets as a convenience for binomial
|
|
1049 coefficients. Note the use of { and } as shorthand for <BOX> and
|
|
1050 </BOX> respectively:
|
|
1051
|
|
1052 1 + X
|
|
1053 {1 + X<OVER>Y} is _______
|
|
1054 Y
|
|
1055
|
|
1056 a + b
|
|
1057 {a + b<ATOP>c - d} is
|
|
1058 c - d
|
|
1059
|
|
1060 The delimiters are represented using the LEFT and RIGHT
|
|
1061 elements as in:
|
|
1062
|
|
1063 {[<LEFT>x + y<RIGHT>]} is [ x + y ]
|
|
1064 {(<LEFT>a<RIGHT>]} is (a]
|
|
1065 {||<LEFT>a<RIGHT>||} is || a ||
|
|
1066
|
|
1067 Use { and } for "{" and "}" respectively as
|
|
1068 these symbols are used as shorthand for BOX, e.g.
|
|
1069
|
|
1070 {{<LEFT>a+b<RIGHT>}} is {a+b}
|
|
1071
|
|
1072 You can stretch definite integrals to match the integrand, e.g.
|
|
1073
|
|
1074 {∫<SUB>a</SUB><SUP>b</SUP><LEFT>{f(x)<over>1+x} dx}
|
|
1075
|
|
1076 b
|
|
1077 / f(x)
|
|
1078 | ----- dx
|
|
1079 / 1 + x
|
|
1080 a
|
|
1081
|
|
1082 Note the complex content model for BOX is a work around
|
|
1083 for the absence of support for infix operators in SGML.
|
|
1084
|
|
1085 You can get oversize delimiters with the SIZE attribute,
|
|
1086 for example <BOX SIZE=large>(<LEFT>...<RIGHT>)</BOX>
|
|
1087
|
|
1088 Note that the names of common functions are recognized
|
|
1089 by the parser without the need to use "&" and ";" around
|
|
1090 them, e.g. int, sum, sin, cos, tan, ...
|
|
1091 -->
|
|
1092
|
|
1093 <!ELEMENT BOX - - ((%formula)*, (LEFT, (%formula)*)?,
|
|
1094 ((OVER|ATOP|CHOOSE), (%formula)*)?,
|
|
1095 (RIGHT, (%formula)*)?)>
|
|
1096 <!ATTLIST BOX
|
|
1097 size (normal|medium|large|huge) normal -- oversize delims -->
|
|
1098
|
|
1099 <!ELEMENT (OVER|ATOP|CHOOSE|LEFT|RIGHT) - O EMPTY>
|
|
1100
|
|
1101 <!-- Horizontal line drawn ABOVE contents
|
|
1102 The symbol attribute allows authors to supply
|
|
1103 an entity name for an accent, arrow symbol etc.
|
|
1104 Generalisation of LaTeX's overline command.
|
|
1105
|
|
1106 e.g. <above sym=ssmile>x</above>
|
|
1107 places an upwardly turning curve above the "x"
|
|
1108 -->
|
|
1109
|
|
1110 <!ELEMENT ABOVE - - (%formula)+>
|
|
1111 <!ATTLIST ABOVE sym ENTITY #IMPLIED>
|
|
1112
|
|
1113 <!-- Horizontal line drawn BELOW contents
|
|
1114 The symbol attribute allows authors to
|
|
1115 supply an entity name for an arrow symbol etc.
|
|
1116 Generalisation of LaTeX's underline command.
|
|
1117 -->
|
|
1118
|
|
1119 <!ELEMENT BELOW - - (%formula)+>
|
|
1120 <!ATTLIST BELOW sym ENTITY #IMPLIED>
|
|
1121
|
|
1122 <!-- Convenience tags for common accents:
|
|
1123 vec, bar, dot, ddot, hat and tilde
|
|
1124 -->
|
|
1125
|
|
1126 <!ELEMENT (%mathvec) - - (%formula)+>
|
|
1127
|
|
1128 <!--
|
|
1129 T and BT are used to designate terms which should
|
|
1130 be rendered in an upright font (& bold face for BT)
|
|
1131 -->
|
|
1132
|
|
1133 <!ELEMENT (T|BT) - - (%formula)+>
|
|
1134 <!ATTLIST (T|BT) class NAMES #IMPLIED>
|
|
1135
|
|
1136 <!-- Roots e.g. <ROOT>3<OF>1+x</ROOT> -->
|
|
1137
|
|
1138 <!ELEMENT ROOT - - ((%formula)+, OF, (%formula)+)>
|
|
1139 <!ELEMENT OF - O (%formula)* -- what the root applies to -->
|
|
1140
|
|
1141 <!ELEMENT SQRT - - (%formula)* -- square root convenience tag -->
|
|
1142
|
|
1143 <!-- LaTeX like arrays. The COLDEF attribute specifies
|
|
1144 a single capital letter for each column determining
|
|
1145 how the column should be aligned, e.g. coldef="CCC"
|
|
1146
|
|
1147 "L" left
|
|
1148 "C" center
|
|
1149 "R" right
|
|
1150
|
|
1151 An optional separator letter can occur between columns
|
|
1152 and should be one of + - or =, e.g. "C+C+C+C=C".
|
|
1153 Whitespace within coldef is ignored. By default, the
|
|
1154 columns are all centered.
|
|
1155
|
|
1156 The ALIGN attribute alters the vertical position of the
|
|
1157 array as compared with preceding and following expressions.
|
|
1158
|
|
1159 Use LDELIM and RDELIM attributes for delimiter entities.
|
|
1160 When the LABELS attribute is present, the array is
|
|
1161 displayed with the first row and the first column as
|
|
1162 labels displaced from the other elements. In this case,
|
|
1163 the first element of the first row should normally be
|
|
1164 left blank.
|
|
1165
|
|
1166 Use &vdots; &cdots; and &ddots; for vertical, horizontal
|
|
1167 and diagonal ellipsis dots. Use &dotfill; to fill an array
|
|
1168 cell with horizontal dots (e.g. for a full row).
|
|
1169 Note &ldots; places the dots on the baseline, while &cdots;
|
|
1170 places them higher up.
|
|
1171 -->
|
|
1172
|
|
1173 <!ELEMENT ARRAY - - (ROW)+>
|
|
1174 <!ATTLIST ARRAY
|
|
1175 align (top|middle|bottom) middle -- vertical alignment --
|
|
1176 coldef CDATA #IMPLIED -- column alignment and separator --
|
|
1177 ldelim CDATA #IMPLIED -- stretchy left delimiter --
|
|
1178 rdelim CDATA #IMPLIED -- stretchy right delimiter --
|
|
1179 labels (labels) #IMPLIED -- TeX's \bordermatrix style -->
|
|
1180
|
|
1181 <!ELEMENT ROW - O (ITEM)*>
|
|
1182 <!ELEMENT ITEM - O (%formula)*>
|
|
1183 <!ATTLIST ITEM
|
|
1184 align CDATA #IMPLIED -- override coldef alignment --
|
|
1185 colspan NUMBER 1 -- merge columns as per TABLE --
|
|
1186 rowspan NUMBER 1 -- merge rows as per TABLE -->
|
|
1187
|
|
1188 <!--================ Document Head ========================================-->
|
|
1189
|
|
1190 <![ %HTML.Deprecated [
|
|
1191 <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE?
|
|
1192 & META* & LINK* & RANGE* & NEXTID?">
|
|
1193 ]]>
|
|
1194
|
|
1195 <!ENTITY % head.nextid "">
|
|
1196
|
|
1197 <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE?
|
|
1198 & META* & LINK* & RANGE*">
|
|
1199
|
|
1200 <!ELEMENT HEAD O O (%head.content)>
|
|
1201
|
|
1202 <!ELEMENT LINK - O EMPTY>
|
|
1203 <!ATTLIST LINK
|
|
1204 href %URI #REQUIRED
|
|
1205 %linkExtraAttributes; >
|
|
1206
|
|
1207 <!ELEMENT RANGE - O EMPTY>
|
|
1208 <!ATTLIST RANGE
|
|
1209 id ID #IMPLIED -- for naming marked range --
|
|
1210 class NAMES #IMPLIED -- for subclassing --
|
|
1211 from IDREF #REQUIRED -- start of marked range --
|
|
1212 until IDREF #REQUIRED -- end of marked range --
|
|
1213 >
|
|
1214
|
|
1215 <!ELEMENT ISINDEX - O EMPTY>
|
|
1216 <!ATTLIST ISINDEX
|
|
1217 href %URI #IMPLIED -- server handling queries --
|
|
1218 prompt CDATA #IMPLIED -- prompt message -->
|
|
1219
|
|
1220 <!--
|
|
1221 The BASE element gives the base URL for
|
|
1222 dereferencing relative URLs, e.g.
|
|
1223
|
|
1224 <BASE href="http://foo.com/images">
|
|
1225 ...
|
|
1226 <IMG SRC="bar.gif">
|
|
1227
|
|
1228 The image is deferenced to
|
|
1229
|
|
1230 http://foo.com/images/bar.gif
|
|
1231 -->
|
|
1232
|
|
1233 <!ELEMENT BASE - O EMPTY>
|
|
1234 <!ATTLIST BASE
|
|
1235 id ID #IMPLIED
|
|
1236 href %URI; #REQUIRED
|
|
1237 >
|
|
1238
|
|
1239 <![ %HTML.Deprecated [
|
|
1240 <!ELEMENT NEXTID - O EMPTY>
|
|
1241 <!ATTLIST NEXTID N CDATA #REQUIRED>
|
|
1242 ]]>
|
|
1243
|
|
1244 <!ELEMENT META - O EMPTY -- Generic Metainformation -->
|
|
1245 <!ATTLIST META
|
|
1246 http-equiv NAME #IMPLIED -- HTTP response header name --
|
|
1247 name NAME #IMPLIED -- metainformation name --
|
|
1248 content CDATA #REQUIRED -- associated information --
|
|
1249 >
|
|
1250
|
|
1251 <!--
|
|
1252 A style sheet can be associated with the document using the
|
|
1253 LINK element, e.g. <LINK rel=style href="housestyle.dsssl">.
|
|
1254 Style overrides can be placed in the document head using the
|
|
1255 STYLE element, e.g.
|
|
1256
|
|
1257 <style notation=dsssl-lite>
|
|
1258 dsss-lite stuff
|
|
1259 </style>
|
|
1260
|
|
1261 Later on in the document you can use:
|
|
1262
|
|
1263 <h2 class=bigcaps>Header with bigger than normal capitals</h2>
|
|
1264 <p class=abstract>A paragraph with a unique style of its own
|
|
1265 ...
|
|
1266
|
|
1267 Statements in the given style notation
|
|
1268
|
|
1269 The tag names, class and id attributes are used in the style sheet
|
|
1270 notation to describe how to render matching elements.
|
|
1271 -->
|
|
1272
|
|
1273 <!ENTITY % style-notations "dsssl-lite | w3c-style">
|
|
1274
|
|
1275 <!--
|
|
1276 <!NOTATION dsssl-lite PUBLIC
|
|
1277 "ISO/IEC 10179:1995//NOTATION DSSSL Style Language//EN">
|
|
1278
|
|
1279 <!NOTATION w3c-style PUBLIC "IETF/RFC nnn/W3C Style Language//EN">
|
|
1280 -->
|
|
1281
|
|
1282 <!ELEMENT STYLE - O (#PCDATA)>
|
|
1283 <!ATTLIST STYLE
|
|
1284 notation NOTATION (%style-notations;) #REQUIRED
|
|
1285 >
|
|
1286
|
|
1287 <!--================ Document Structure ===================================-->
|
|
1288
|
|
1289 <!ENTITY % html.content "HEAD, BODY">
|
|
1290
|
|
1291 <!ELEMENT HTML O O (%html.content)>
|
|
1292 <!ENTITY % version.attr 'VERSION CDATA #FIXED "%HTML.Version;"'>
|
|
1293
|
|
1294 <!-- suggested roles are: TOC, DOC, DOCPART, HITLIST, DIALOG -->
|
|
1295
|
|
1296 <!ATTLIST HTML
|
|
1297 %version.attr; -- report DTD version to application --
|
|
1298 urn CDATA #IMPLIED -- universal resource name for this document --
|
|
1299 class NAMES #IMPLIED -- role of this document, eg table of contents --
|
|
1300 >
|
|
1301
|
|
1302 <!-- The END -->
|