1 |
HTML+ Document Format Dave Raggett |
2 |
Internet Draft Hewlett Packard |
3 |
28th October 1993 |
4 |
|
5 |
|
6 |
HTML+ (Hypertext markup format) |
7 |
|
8 |
Status of this memo |
9 |
|
10 |
This document is an Internet-Draft. Internet-Drafts are working |
11 |
documents of the Internet Engineering Task Force (IETF), its areas, and |
12 |
its working groups. Note that other groups may also distribute working |
13 |
documents as Internet-Drafts. |
14 |
|
15 |
Internet-Drafts are draft documents valid for a maximum of six months. |
16 |
Internet-Drafts may be updated, replaced, or obsoleted by other |
17 |
documents at any time. It is not appropriate to use Internet-Drafts as |
18 |
reference material or to cite them other than as a "working draft" or |
19 |
"work in progress". |
20 |
|
21 |
To learn the current status of any Internet-Draft, please check the |
22 |
1id-abstracts.txt listing contained in the Internet-Drafts Shadow |
23 |
directories on ds.internic.txt, nic.nordu.net, ftp.nisc.sri.com or |
24 |
munnari.oz.au. |
25 |
|
26 |
Distribution of this document is unlimited. Please mail comments to the |
27 |
author at dsr@hplb.hpl.hp.com or to the discussion list: |
28 |
www-talk@nxoc01.cern.ch |
29 |
|
30 |
This draft is valid until May 1st, 1994. It is available in the file |
31 |
draft-raggett-www-html-00.ps and draft-raggett-www-html-00.txt in the |
32 |
internet-drafts directories on the hosts mentioned above. Readers are |
33 |
recommended to try and obtain the Postscript version, which contains |
34 |
figures and formattting examples which are missing from the plain text |
35 |
version. |
36 |
|
37 |
Abstract |
38 |
|
39 |
This draft presents a proposal for a light weight delivery format for |
40 |
browsing and querying information in a web of globally distributed |
41 |
hypertext, accessible over the Internet. HTML+ embodies a pageless |
42 |
model making it suitable for efficient rendering on a wide range of |
43 |
display types, for example, VT100 terminals, X11 Workstations, Windows |
44 |
3.x and the Macintosh. HTML+ is based upon SGML, and represents |
45 |
document elements at a logical level, e.g. headers, paragraphs, lists, |
46 |
tables, and figures. Authors can choose to create HTML+ documents |
47 |
directly, or to use filters to convert from other formats such as |
48 |
LaTeX, Framemaker, and Word for Windows. |
49 |
|
50 |
HTML+ has grown out of several years experience with the HTML document |
51 |
format in the World Wide Web community. Browser writers are |
52 |
experimenting with extensions to HTML and it is now appropriate to draw |
53 |
these ideas together into a revised document format.. The new format is |
54 |
designed to allow a gradual roll over from HTML, adding features like |
55 |
|
56 |
|
57 |
Internet Draft 1 November 1993 |
58 |
HTML+ Document Format Raggett |
59 |
|
60 |
|
61 |
tables, captioned figures and fill-out forms for querying remote |
62 |
databases or mailing questionnaires. Large documents can be split into |
63 |
a number of smaller nodes for reduced latency, with explicit or |
64 |
implicit navigation links. This draft also includes a proposal to add |
65 |
direct support for mathematical formulae. Authors can include limited |
66 |
presentation hints, and further control may eventually be possible via |
67 |
associated style sheets. |
68 |
|
69 |
Table of Contents |
70 |
|
71 |
HTML+ Discussion Document 4 |
72 |
Introduction 4 |
73 |
Positioning of HTML+ 4 |
74 |
HTML+ and HTML 5 |
75 |
HTML+ and SGML 5 |
76 |
|
77 |
An Overview of HTML+ 6 |
78 |
Document Structure 6 |
79 |
Large Documents 7 |
80 |
|
81 |
Headers 7 |
82 |
|
83 |
Paragraphs and <P> 8 |
84 |
|
85 |
Normal Text 9 |
86 |
Character Sets and Entity Definitions 10 |
87 |
Hypertext Links 11 |
88 |
Character Emphasis 13 |
89 |
Presentation Only Tags 13 |
90 |
Generic Emphasis 13 |
91 |
Logical Emphasis 14 |
92 |
Extending the Set of Logical Roles 15 |
93 |
Annotations 15 |
94 |
Images 15 |
95 |
Change Bars and Document Amendments 17 |
96 |
Conditional Text 18 |
97 |
Explicit Line Breaks 18 |
98 |
|
99 |
Different Paragraph Styles 19 |
100 |
Longer Quotations 19 |
101 |
Abstracts 19 |
102 |
Bylines 19 |
103 |
Notes and admonishments 20 |
104 |
|
105 |
Lists 20 |
106 |
Ordered Lists 21 |
107 |
Bulleted Lists 21 |
108 |
Plain Lists 22 |
109 |
Definition Lists 23 |
110 |
|
111 |
Figures 24 |
112 |
|
113 |
|
114 |
Internet Draft 2 November 1993 |
115 |
HTML+ Document Format Raggett |
116 |
|
117 |
|
118 |
Active Areas 25 |
119 |
Placing Hypertext Buttons on Images 25 |
120 |
Possible extensions 26 |
121 |
|
122 |
Tables 26 |
123 |
Implementation Issues for Tables 28 |
124 |
|
125 |
Fill-out Forms and Input fields 28 |
126 |
Sending form data to an HTTP server 33 |
127 |
Sending a form via Electronic Mail 34 |
128 |
|
129 |
Literal and Preformatted Text 34 |
130 |
|
131 |
Mathematical Equations 36 |
132 |
|
133 |
Indexing 39 |
134 |
|
135 |
Document declarations 40 |
136 |
HTMLPLUS 40 |
137 |
The HEAD and BODY elements 40 |
138 |
TITLE 40 |
139 |
ISINDEX 40 |
140 |
NEXTID 41 |
141 |
BASE 41 |
142 |
LINK 41 |
143 |
|
144 |
Dealing with Large Documents 43 |
145 |
|
146 |
Acknowledgements 45 |
147 |
|
148 |
References 45 |
149 |
|
150 |
Appendix I - The HTML+ DTD 46 |
151 |
|
152 |
Appendix II - Character Entity Names 57 |
153 |
|
154 |
Appendix III - Code for Polygon testing 58 |
155 |
|
156 |
Appendix IV - Sorted list of tags and attributes 60 |
157 |
|
158 |
|
159 |
|
160 |
|
161 |
|
162 |
|
163 |
|
164 |
|
165 |
|
166 |
|
167 |
|
168 |
|
169 |
|
170 |
|
171 |
Internet Draft 3 November 1993 |
172 |
HTML+ Document Format Raggett |
173 |
|
174 |
|
175 |
HTML+ (Hypertext markup format) |
176 |
|
177 |
1 HTML+ Discussion Document |
178 |
|
179 |
Following the WWW workshop in July 1993 and subsequent discussions on |
180 |
www-talk, it seems an opportune moment to try and reach a consensus |
181 |
before writing a more formal draft as an informational RFC. |
182 |
|
183 |
1.1 Introduction |
184 |
|
185 |
The World Wide Web is a wide-area client-server architecture for |
186 |
retrieving hypermedia documents over the Internet. It also supports a |
187 |
means of searching remote information sources, for example |
188 |
bibliographies, phone directories and instruction manuals. There are |
189 |
three main ingredients: naming schemes for retrievable objects, |
190 |
protocols and interchange formats. |
191 |
|
192 |
o Universal naming scheme for documents. The Universal Resource |
193 |
Location (URL) syntax specifies documents in terms of the |
194 |
protocol to be used to retrieve them, their Internet Host and |
195 |
path name. A format for location independent lifetime |
196 |
identifiers is currently being defined by a working group of |
197 |
the IETF. A network protocol will allow Universal Resource |
198 |
Numbers (URNs) to be resolved to the URL for the nearest |
199 |
available copy. A URN may specify a number of variants of a |
200 |
document, but the URL will always specify a single copy. |
201 |
|
202 |
o Use of de facto protocols for retrieving documents over the |
203 |
Internet including FTP, NNTP, WAIS, Gopher and HTTP. The |
204 |
latter being designed specifically for the World Wide Web, |
205 |
and uses the MIME message format for document exchange. |
206 |
|
207 |
o A document format supporting hypertext links based on URLs and |
208 |
URNs which can be rendered on a wide variety of display types. |
209 |
HTML+ is intended in this role as a successor to the existing |
210 |
HTML format. |
211 |
|
212 |
HTML+ documents offer a means for providing hypertext links to a |
213 |
variety of media including images, sound sequences, MPEG movies, |
214 |
Postscript files and other formats. These links allow a global web of |
215 |
information sources to be established as new servers and document names |
216 |
are announced. Registers of information sources can also be made |
217 |
available via the web, using its ability to let users search for |
218 |
information via keywords. It is hoped that HTML+ will be useful for |
219 |
information exchange via email and network news as well as HTTP. |
220 |
|
221 |
1.2 Positioning of HTML+ |
222 |
|
223 |
HTML+ is designed for use in the World Wide Web as a non-proprietary |
224 |
delivery format for wide-area hypertext. It embodies a pageless model |
225 |
making it suitable for efficient rendering on a wide range of display |
226 |
|
227 |
|
228 |
Internet Draft 4 November 1993 |
229 |
HTML+ Document Format Raggett |
230 |
|
231 |
|
232 |
types including VT100 terminals, X11, Windows 3.1 and the Macin- tosh. |
233 |
HTML+ is based upon SGML and represents document elements at a logical |
234 |
level. Authors may choose to create HTML+ documents directly or to use |
235 |
filters to convert from other formats such as LaTeX, Framemaker, and |
236 |
Word for Windows. |
237 |
|
238 |
1.3 HTML+ and HTML |
239 |
|
240 |
HTML+ is a superset of HTML and designed to allow a gradual roll over |
241 |
from the earlier format, with features like tables, captioned figures |
242 |
and fill-out forms for querying remote data- bases or mailing |
243 |
questionnaires. Large documents can be split into a number of smaller |
244 |
nodes for reduced latency, with explicit or implicit navigation links. |
245 |
This draft also includes a proposal to add support for mathematical |
246 |
formulae. Authors can include limited presentation hints, and further |
247 |
control may eventually be possible via associated style sheets. |
248 |
|
249 |
1.4 HTML+ and SGML |
250 |
|
251 |
HTML+ is based on the Standard Generalized Markup Language which is an |
252 |
international standard for document markup that is becoming |
253 |
increasingly important. The term markup derives from the way |
254 |
proof-readers have traditionally pencilled in marks that indicate how a |
255 |
document is to be revised. |
256 |
|
257 |
SGML grew out of a decade of work addressing the need for capturing the |
258 |
logical elements of documents as opposed to the processing functions to |
259 |
be performed on those elements. SGML is essentially an extensible |
260 |
document description language, based on a notation for embedding tags |
261 |
into the body of a document' s text. It is defined by the international |
262 |
standard ISO 8879. The markup structure permitted for each class of |
263 |
documents is defined by an SGML Document Type Definition, usually |
264 |
abbreviated to DTD. |
265 |
|
266 |
A lot of work is underway to produce DTDs for a range of purposes. |
267 |
These include ISO 12083 for books and ISO 10744 which defines the |
268 |
HyTime architectural forms for hypermedia/time- based documents. The |
269 |
Text Encoding Initiative (TEI) is an international research project for |
270 |
SGML-based document exchange in the humanities. Publishers are |
271 |
cooperating to produce common DTDs for computer manuals, e.g. the |
272 |
DocBook DTD. The CALS programme of the US Department of Defence defines |
273 |
SGML DTDs for documentation for defence procurement contracts. |
274 |
|
275 |
So what sets HTML+ apart from these efforts? It is impractical to |
276 |
design a DTD to meet the needs of all possible users. Instead, the |
277 |
markup has to be tailored to the needs of a specific community. HTML+ |
278 |
is aimed at fulfilling the dream of a web of information freely |
279 |
accessible over the Internet with links between documents spanning |
280 |
continents. The need to support a very wide range of display types and |
281 |
to keep browser software as simple as possible limits the complexity |
282 |
that can be handled. Similarly the disparate needs of authors has led |
283 |
|
284 |
|
285 |
Internet Draft 5 November 1993 |
286 |
HTML+ Document Format Raggett |
287 |
|
288 |
|
289 |
to the inclu- sion of limited rendering hints. The features supported |
290 |
arise from several years experience with the World Web and the existing |
291 |
HTML format. |
292 |
|
293 |
2 An Overview of HTML+ |
294 |
|
295 |
HTML+ documents consists of headers, paragraphs, lists, tables and |
296 |
figures. A simple example of an HTML+ document is: |
297 |
|
298 |
<title>A simple HTML+ Document</title> |
299 |
|
300 |
<h1 id="a1">This is a level one header</h1> |
301 |
|
302 |
<p>This is some normal text which will wrap at the window margin. |
303 |
You can emphasise <em>parts of the text</em> if you wish. |
304 |
|
305 |
<p>This is a new paragraph. Note that unlike title and header tags |
306 |
the matching end tag is not needed. |
307 |
|
308 |
The text of the document includes tags which are enclosed in <angle |
309 |
brackets>. Many tags require matching end tags for which the tag name |
310 |
is preceded by the "/" character. The tags are used to markup the |
311 |
document's logical elements, for example the title, headers and |
312 |
paragraphs. Tags may also be accompanied by attributes, e.g. the id |
313 |
attribute in the header tag which can be used to name destinations for |
314 |
hypertext links. |
315 |
|
316 |
Unlike most document formats, HTML+ leaves out the processing |
317 |
instructions that determine the precise appearance, for instance the |
318 |
font names and point size, the margins, tab settings and how much white |
319 |
space to leave before and after different elements. The rendering |
320 |
software makes these choices for itself (perhaps guided by user |
321 |
preferences). This ensures that browsers can avoid problems with |
322 |
different page sizes or missing fonts. Logical markup also preserves |
323 |
essential distinctions that are often lost by lower level procedural |
324 |
formats, making it easier to carry out operations like indexing and |
325 |
conversion into other document formats. |
326 |
|
327 |
Note that the tag and attribute names are case insensitive. HTML+ |
328 |
parsers are expected to ignore unrecognised tags and attributes, and to |
329 |
process their contents as if the start/end tags weren't present. SGML |
330 |
minimisation is not supported - this avoids any possibility of |
331 |
confusion with unrecognised tags. |
332 |
|
333 |
2.1 Document Structure |
334 |
|
335 |
An HTML+ document consists of some optional declarations followed by |
336 |
one or more elements from the following: |
337 |
|
338 |
o Headers |
339 |
|
340 |
|
341 |
|
342 |
Internet Draft 6 November 1993 |
343 |
HTML+ Document Format Raggett |
344 |
|
345 |
|
346 |
o Paragraphs |
347 |
|
348 |
o Lists |
349 |
|
350 |
o Figures |
351 |
|
352 |
o Tables |
353 |
|
354 |
o Forms |
355 |
|
356 |
o Literal or Preformatted text |
357 |
|
358 |
o Mathematical formulae |
359 |
|
360 |
2.2 Large Documents |
361 |
|
362 |
Keeping a large document such as a book in one node will increase the |
363 |
time it takes to retrieve the node over the network. It is generally |
364 |
better to split large documents into a number of smaller nodes. Many |
365 |
documents are written with the expectation that the reader will start |
366 |
at the beginning and read through until the end. If the document is |
367 |
split into a number of nodes, the intended sequence is known as a path. |
368 |
HTML+ provides a means for authors to specify such paths either |
369 |
explicitly via declarations at the beginning of the node or implicitly |
370 |
according to the context in which a given node is reached. Another |
371 |
possibility is for servers to send such information independently, e.g. |
372 |
as MIME message headers. |
373 |
|
374 |
You can provide navigation links for readers which appear as buttons on |
375 |
a toolbar or as entries in a navigation menu. For works using a lot of |
376 |
technical terms or perhaps in an unfamiliar language, you can provide |
377 |
glossaries offering further explanation. Readers can invoke this by |
378 |
double clicking on words, or by drag selection and clicking the |
379 |
Glossary menu item. You can also provide a search field that is always |
380 |
present (and can't be scrolled away), in which readers can enter one or |
381 |
more keywords to search an index. These facilities can be specified |
382 |
explicitly using the LINK element. Implicit links allow you to define |
383 |
the table of contents (toc) as an HTML+ document without needing to |
384 |
place links to the toc in every subdocument. The link back to the toc |
385 |
is implied when you follow hypertext link from the toc to its |
386 |
subdocuments. |
387 |
|
388 |
3 Headers |
389 |
|
390 |
The tags H1, H2, ... H6 are used to represent headers. H1 is the most |
391 |
significant and rendered in a large font (preferably centered). H2 to |
392 |
H6 are progressively less significant and usually rendered flush left |
393 |
in smaller fonts. A common convention is to begin the body of a |
394 |
document with an H1 header, e.g. |
395 |
|
396 |
<h1>Introduction to HTML+</h1> |
397 |
|
398 |
|
399 |
Internet Draft 7 November 1993 |
400 |
HTML+ Document Format Raggett |
401 |
|
402 |
|
403 |
|
404 |
Header names should be appropriate to the following section of the |
405 |
document, while the title should cover the document as a whole. There |
406 |
are no restrictions on the sequence of headers, e.g. you could use a |
407 |
level three header following a level one header.Header and section |
408 |
elements can take an identifier, unique to the current document, for |
409 |
use as named destinations of hypertext links. This is specified with |
410 |
the ID attribute, e.g. |
411 |
|
412 |
<h1 id="intro">Introduction to HTML+</h1> |
413 |
|
414 |
This allows authors to create hypertext links to particular sections of |
415 |
documents. It is a good idea to use something obvious when creating an |
416 |
identifier, to help jog your memory at a later date. WYSIWYG editors |
417 |
should automatically generate identifiers. In this case, they should |
418 |
provide a point and click mechanism for defining links so that authors |
419 |
don't need to deal explicitly with identifier names. Automatic |
420 |
generation of IDs for headers, paragraphs and other major elements is |
421 |
important as it makes it easier for other people to create links to |
422 |
your document, by ensuring that there are plenty of ID attributes |
423 |
present as potential destinations. |
424 |
|
425 |
Should we support headers for which the level is implicitly defined by |
426 |
nestable section elements? We could also support autonumbering of |
427 |
headers. Unfortunately, on further investigation these ideas proved |
428 |
trickier than thought at first, and so have been dropped from this |
429 |
draft. |
430 |
|
431 |
4 Paragraphs and <P> |
432 |
|
433 |
Normal text is automatically wrapped by the browser at the current |
434 |
window margin and adapts to changes in window size. The text is |
435 |
generally shown in a proportional font: |
436 |
|
437 |
<P ID="p1">The P element acts as container for the text between |
438 |
the start tag <P> and end tag </P>. You don't need |
439 |
to give the end tag as it is implied by the context, e.g. the |
440 |
following <P> tag. |
441 |
<P ID="p2">If you wish, you may think of the <P> tag as |
442 |
a paragraph separator. This works since HTML+ formally doesn't |
443 |
require you to wrap text up as paragraphs. |
444 |
|
445 |
This would be rendered as: |
446 |
|
447 |
The P element acts as a container for the text between the start |
448 |
tag <P> and the end tag </P>. You don't need to give the end |
449 |
tag as it is implied by the context, e.g. the following <P> tag. |
450 |
|
451 |
If you wish, you may think of the <P> tag as a paragraph separator. |
452 |
This works since HTML+ formally doesn't require you to wrap text up |
453 |
as paragraphs. |
454 |
|
455 |
|
456 |
Internet Draft 8 November 1993 |
457 |
HTML+ Document Format Raggett |
458 |
|
459 |
|
460 |
|
461 |
The following samples of HTML+ all produce exactly the same results |
462 |
when displayed: |
463 |
|
464 |
<H1>Different ways of using the P element</H1> |
465 |
<P>The first piece of text</P><P>The second piece</P> |
466 |
|
467 |
<H1>Different ways of using the P element</H1> |
468 |
<P>The first piece of text<P>The second piece |
469 |
|
470 |
<H1>Different ways of using the P element</H1> |
471 |
The first piece of text<P>The second piece |
472 |
|
473 |
They all produce: |
474 |
|
475 |
Different ways of using the P element |
476 |
|
477 |
The first piece of text |
478 |
|
479 |
The second piece |
480 |
|
481 |
In some situations you will want to preserve the original line breaks |
482 |
and spacing, for this you should use the LIT or PRE elements, these are |
483 |
described in a later section. You can force line breaks in normal |
484 |
paragraph text with the <BR> element, but the browser may wrap lines |
485 |
arbitrarily at window margins prior to reaching the <BR> element. |
486 |
|
487 |
The ALIGN attribute can be used to center a paragraph, e.g. <P |
488 |
ALIGN=center>. Other possibilities are ALIGN=left (the default), |
489 |
ALIGN=right, ALIGN=justify and ALIGN=indent. This attribute is a hint |
490 |
and may be ignored by some browsers. Note that when using explicit line |
491 |
breaks (see section 5.12) you may wish to switch off word wrap with |
492 |
WRAP=OFF. |
493 |
|
494 |
Browsers, when parsing paragraphs, can choose to simply treat the <P> |
495 |
tag as denoting a paragraph break. If the paragraph style includes a |
496 |
blank line between paragraphs, then additional care is needed after |
497 |
headers and other major elements to avoid inserting an unwanted blank |
498 |
line, e.g. when a <P> tag directly follows a header. This ability to |
499 |
perceive <P> as a paragraph break provides for continuity with HTML, |
500 |
and allows authors to graduate to treating it as a container in their |
501 |
own time. |
502 |
|
503 |
5 Normal Text |
504 |
|
505 |
Paragraphs can include the following: |
506 |
|
507 |
o Character entity names for unusual characters such as o which |
508 |
are included using SGML entity definitions: &name; as in |
509 |
"the dream of óengus" which is displayed as: "the dream |
510 |
of oengus". The full list of standard entity names recognised |
511 |
|
512 |
|
513 |
Internet Draft 9 November 1993 |
514 |
HTML+ Document Format Raggett |
515 |
|
516 |
|
517 |
by most browsers is given in Appendix II |
518 |
|
519 |
o Character emphasis using logical and presentational markup. The |
520 |
set of logical character emphasis can be extended, and HTML+ |
521 |
provides the means for browsers to deter- mine how to render |
522 |
such extensions |
523 |
|
524 |
o Simple footnotes or margin notes, which can be rendered as |
525 |
pop-up overlays |
526 |
|
527 |
o Images which act as single characters and which can be |
528 |
vertically aligned relative to the text line in which |
529 |
they are embedded |
530 |
|
531 |
o Hypertext Links based on the URL or URN notations |
532 |
|
533 |
o Markup signifying the start and end of change bars. You can |
534 |
also mark text as being removed or added, as is common in |
535 |
legal documents |
536 |
|
537 |
o Conditional text which appears only on-line or only when printed |
538 |
|
539 |
o Input fields when the paragraph is part of a form |
540 |
|
541 |
o Explicit line breaks |
542 |
|
543 |
5.1 Character Sets and Entity Definitions |
544 |
|
545 |
By default, HTML+ documents are made up of 8-bit characters from the |
546 |
ISO 8859 Latin-1 character set. The network protocol used to retrieve |
547 |
documents may translate the character set into a locally acceptable |
548 |
form, e.g. EBCDIC. The HTTP protocol uses the MIME standard (RFC 1341) |
549 |
to specify the document type and character set. ISO SGML entity |
550 |
definitions are used to include characters which are missing from the |
551 |
character set or which would otherwise be confused with markup |
552 |
elements, e.g: |
553 |
|
554 |
& ampersand & |
555 |
< less than sign < |
556 |
> greater than sign > |
557 |
" the double quote sign " |
558 |
|
559 |
Appendix II lists a broad range of characters and symbols, relating |
560 |
their ISO names to the corresponding character codes in common |
561 |
character sets. They allow authors to include accented characters in |
562 |
7-bit ASCII documents. Some other useful entity definitions are: |
563 |
|
564 |
– en dash (half the width of an em unit) |
565 |
— em dash (equal to width of an "m" character) |
566 |
  en space |
567 |
  em space |
568 |
|
569 |
|
570 |
Internet Draft 10 November 1993 |
571 |
HTML+ Document Format Raggett |
572 |
|
573 |
|
574 |
non breaking space |
575 |
­ soft hyphen (normally invisible) |
576 |
© copyright sign |
577 |
™ trade mark sign |
578 |
® registered sign |
579 |
|
580 |
There are a large number of entities defined by the ISO, covering most |
581 |
languages and symbols for publishing and mathematics. Requiring all |
582 |
browsers to support these would be impractical, e.g. how should a dumb |
583 |
terminal show such symbols. In some cases there will be accepted ways |
584 |
of mapping them to normal characters, e.g. as ae and e as e. Perhaps |
585 |
the safest recommendation is that where authors need to use a |
586 |
specialised character or symbol, they should use ISO entity names |
587 |
rather than inventing their own. Browsers should leave unrecognised |
588 |
entity names untranslated. |
589 |
|
590 |
In some cases it is useful to specify the language used in a given |
591 |
element, with the LANG attribute. The ISO defines abbreviations for |
592 |
most languages, e.g. FR for french as in: <Q LANG="FR">Je |
593 |
m'aveugle.</Q>. This attribute permits language dependent layout and |
594 |
hyphenation decisions, e.g. Hebrew uses right to left word order. |
595 |
|
596 |
To allow SGML parsers to recognise entity names, authors should declare |
597 |
them before use, for example: |
598 |
|
599 |
<!ENTITY % ISOcyr1 PUBLIC "ISO 8879-1986//ENTITIES Russian Cyrillic/EN"> |
600 |
%ISOcyr1; |
601 |
|
602 |
This introduces ISOcyr1 as a local name for the ISO public identifier |
603 |
for the cyrillic alphabet and then includes the associated set of |
604 |
entity definitions as part of the current document. This declaration is |
605 |
unnecessary for entities defined within the HTML+ DTD. |
606 |
|
607 |
5.2 Hypertext Links |
608 |
|
609 |
HTML+ allows authors to embed hypertext links into the document text. |
610 |
In a browser this might look to the reader like: |
611 |
|
612 |
Links are defined with the A tag[1]. HTML+ supports a number of different |
613 |
link types[2]. |
614 |
|
615 |
Clicking on a link will normally cause the browser to retrieve the |
616 |
linked document and display it in place of the current one. This |
617 |
example is represented by the following piece of HTML+ |
618 |
|
619 |
Links are defined with the <a href="#z1">A tag</a>. HTML+ supports |
620 |
a number of <a href="links.html">different link types</a>. |
621 |
|
622 |
The first link is to an anchor named "z1" in the current document |
623 |
(using an ID attribute on some element). The second is to a file named |
624 |
"links.html" in the same directory as the current document. The link |
625 |
|
626 |
|
627 |
Internet Draft 11 November 1993 |
628 |
HTML+ Document Format Raggett |
629 |
|
630 |
|
631 |
caption is the text between the start and end tags. The HREF attribute |
632 |
defines the link destination using the URL or URN notations. This may |
633 |
be abbreviated in certain circumstances using relative URLs. The link |
634 |
should be rendered in a clearly distinguishable way, e.g. as a raised |
635 |
button, or with underlined text in a particular color or emphasis. For |
636 |
displays without pointing devices, it is suggested that the link is |
637 |
indicated with a reference number in square brackets after the caption, |
638 |
which the reader enters to follow the link. Note that it is illegal |
639 |
for anchors to include headers, paragraphs, lists etc. The anchor text |
640 |
is restricted to normal text with emphasis and inline images. |
641 |
|
642 |
The A element has several optional attributes: |
643 |
|
644 |
ID This can be used to define a unique identifier for the text |
645 |
contained by the A element. Another document can then make |
646 |
a reference to this by putting the identifier after the URL |
647 |
for this document, separated by a hash sign. The ID |
648 |
attribute replaces the NAME attribute in HTML. |
649 |
|
650 |
HREF This specifies a URL or URN of a linked document which will |
651 |
be retrieved when the user clicks on the anchor's label. |
652 |
HREF=#id can be used for links to other parts of the same |
653 |
document. |
654 |
|
655 |
REL The relationship the linked document has to this one. |
656 |
REL=Subdocument is used to break long documents into |
657 |
smaller ones. This importance of this particular |
658 |
attribute value is explained in section 14. |
659 |
|
660 |
REV The reverse relationship type, and the inverse of REL. |
661 |
|
662 |
EFFECT This determines how the browser displays the linked document |
663 |
when following the link. EFFECT=Replace causes the browser |
664 |
to replace the current document with the linked one; |
665 |
EFFECT=NEW results in the linked document being shown in a |
666 |
new window (if practical); and EFFECT=OVERLAY causes the |
667 |
linked document to be shown in a pop-up window, as used by |
668 |
the Microsoft Windows Help system. |
669 |
|
670 |
PRINT This attribute makes it easy for users to print off the |
671 |
current document and relevant parts. PRINT=REFERENCE (the |
672 |
default) treats the link as a reference, i.e. the URL is |
673 |
given as a footnote; PRINT=FOOTNOTE prints the linked |
674 |
document as a footnote; PRINT=SIDEBAR prints the linked |
675 |
document as a sidebar; and PRINT=SECTION prints the |
676 |
linked document as a follow on section. Use PRINT=SILENT |
677 |
when you don't want the link referenced or printed out. |
678 |
|
679 |
TITLE Defines the title to use when the linked document is |
680 |
otherwise untitled. |
681 |
|
682 |
|
683 |
|
684 |
Internet Draft 12 November 1993 |
685 |
HTML+ Document Format Raggett |
686 |
|
687 |
|
688 |
TYPE The MIME content type of the linked document - for use |
689 |
in providing presentation cues only, as it could easily |
690 |
become out of date. |
691 |
|
692 |
SIZE The size in bytes for the linked document. This should only |
693 |
be used as a guide to progress in retrieving documents, as |
694 |
it is likely to get out of step with changes to the target |
695 |
document. |
696 |
|
697 |
METHODS This is a comma separated list of HTTP methods supported |
698 |
by the linked object. The browser might choose a different |
699 |
way of rendering the link for say searchable objects. |
700 |
|
701 |
SHAPE This is used to define shaped buttons on top of images or |
702 |
figures, and is explained later on. |
703 |
|
704 |
You can also use the LINK element at the start of the document to |
705 |
define document-wide relationships with other documents, e.g. a link to |
706 |
a table of contents. This is described later on. |
707 |
|
708 |
5.3 Character Emphasis |
709 |
|
710 |
There has been considerable discussion on how to represent character |
711 |
emphasis. The previous draft of HTML+ used a single element to handle |
712 |
all forms with a role attribute for the logical role, and other |
713 |
attributes for providing hints as to how to render the emphasis. This |
714 |
mechanism was seen as being overloaded and prompted the use of separate |
715 |
elements in the current draft. |
716 |
|
717 |
5.4 Presentation Only Tags |
718 |
|
719 |
In many cases it is convenient to indicate directly how the text is to |
720 |
be rendered, e.g. as italic, bold, underline or strike-through: |
721 |
|
722 |
<I>italic text</I> italic text |
723 |
<B>bold text</B> bold text |
724 |
<U>underlined text</U> underlined text |
725 |
<S>strike through</S> strike through |
726 |
<SUP>superscript</SUP> superscript |
727 |
<SUB>subscript</SUB> subscript |
728 |
<TT>fixed pitch</TT> fixed pitch (TT for Teletype) |
729 |
|
730 |
These tags may be nested to combine effects, e.g. |
731 |
bold-italic-fixed-pitch text, and should be considered as hints rather |
732 |
than as binding obligations on the browser, e.g. |
733 |
|
734 |
Some <B><I><TT>bold italic fixed pitch text</TT></I></B>. |
735 |
|
736 |
which is rendered as: Some bold italic fixed pitch text. |
737 |
|
738 |
5.5 Generic Emphasis |
739 |
|
740 |
|
741 |
Internet Draft 13 November 1993 |
742 |
HTML+ Document Format Raggett |
743 |
|
744 |
|
745 |
|
746 |
These are some tags for indicating a level of emphasis without |
747 |
committing oneself to how they should be rendered: |
748 |
|
749 |
<EM>normal emphasis</EM> typically italic |
750 |
<STRONG>strong emphasis</STRONG> typically bold |
751 |
|
752 |
5.6 Logical Emphasis |
753 |
|
754 |
These tags indicate the role of the marked text, e.g. bibliographic |
755 |
references. By using a stand- ard way of marking up text, it becomes |
756 |
possible to automatically index such references. There are a |
757 |
potentially huge number of different distinctions that could be made, |
758 |
and the set given below is intentionally minimalistic. Discussion is |
759 |
welcomed on just which elements should be included in HTML+ given its |
760 |
intended role as a delivery format for hypertext documents: |
761 |
|
762 |
q a short quotation which can be included inline, |
763 |
e.g. <q>to be or not to be, that is the question</q> |
764 |
use <q> and </q> in place of double quote marks. |
765 |
|
766 |
cite citation, e.g. <cite>Festinger, L.(1957), <I>A Theory |
767 |
of Cognitive Dissonance</I>, Stanford.</cite> |
768 |
|
769 |
person proper names, e.g. <person>Albert Einstein</person> |
770 |
|
771 |
acronym acronyms e.g <acronym>NATO</acronym> |
772 |
|
773 |
abbrev abbreviations, e.g. <abbrev>v. aux</abbrev> |
774 |
|
775 |
cmd command name, e.g. chmod in Unix |
776 |
|
777 |
arg command argument, e.g. <arg>-s</arg> |
778 |
|
779 |
kbd something the use would have to type |
780 |
|
781 |
var named place holder, e.g. <var>filename</var> |
782 |
|
783 |
dfn defining instance of a term |
784 |
|
785 |
code code example - usually shown in a fixed pitch font |
786 |
|
787 |
samp sequence of literal characters usually in a variable |
788 |
pitch font |
789 |
|
790 |
All these tags require a matching closing tag like the other emphasis |
791 |
elements, e.g. |
792 |
|
793 |
<cmd>cmp</cmd> [<arg>-l</arg>] [<arg>-s</arg>] <var>file1</var> |
794 |
<var>file2</var> |
795 |
|
796 |
|
797 |
|
798 |
Internet Draft 14 November 1993 |
799 |
HTML+ Document Format Raggett |
800 |
|
801 |
|
802 |
5.7 Extending the Set of Logical Roles |
803 |
|
804 |
When translating from other SGML-based formats, documents may include |
805 |
non-standard ele- ments e.g. PROPNAME for proper names. HTML+ browsers |
806 |
will normally ignore such markup and process their contents as if these |
807 |
tags weren't present. The RENDER element can be used to tell the |
808 |
browser how to render such tags, e.g. |
809 |
|
810 |
<RENDER TAG="PROPNAME" STYLE="I"> |
811 |
|
812 |
The STYLE attribute is a comma separated list of presentation tag |
813 |
names, i.e. one or more names from the list: I, B, U, S, SUP, SUB, TT. |
814 |
Include P in the list of styles if the element needs a paragraph break. |
815 |
Keeping non-standard markup in HTML+ documents may be useful for |
816 |
indexing purposes. Note that the RENDER element isn't meant to apply |
817 |
retrospectively. |
818 |
|
819 |
5.8 Annotations |
820 |
|
821 |
Authors can include annotations which act to draw the readers attention |
822 |
or which provide some additional comment on the main text of the |
823 |
paragraph. There are two types: |
824 |
|
825 |
footnote for additional information on some point |
826 |
margin attention getter for this paragraph |
827 |
|
828 |
When printed out, these annotations appear as footnotes or margin notes |
829 |
as their name implies, e.g. <footnote>This is an example of a footnote |
830 |
</footnote>. For on-line use, browsers may show the annotation by a |
831 |
hypertext button, e.g. a superscripted dingbat symbol or icon, which |
832 |
when clicked reveals the annotation in a pop-up window. Footnotes and |
833 |
margins can contain text with emphasis and images, but not other markup |
834 |
such as paragraphs, lists or tables. The PANEL element in the previous |
835 |
draft has been dropped. You can however, indicate that a hypertext link |
836 |
should be rendered as a sidebar when printed out. |
837 |
|
838 |
5.9 Images |
839 |
|
840 |
Images can be included as character like elements with text flowing |
841 |
around the image, e.g. |
842 |
|
843 |
[Picture missing] Before coming to CERN, Tim worked on, among other |
844 |
[in text version] things, document production and text processing. |
845 |
He developed his first hypertext system, |
846 |
"Enquire", in 1980 for his own use (although unaware of the existence |
847 |
of the term HyperText). With a background in text processing, |
848 |
real-time software and communications, Tim decided that high energy |
849 |
physics needed a networked hypertext system and CERN was an ideal |
850 |
site for the development of wide-area hypertext ideas. Tim started |
851 |
the WorldWideWeb project at CERN in 1989. He wrote the application |
852 |
on the NeXT along with most of the communications software. |
853 |
|
854 |
|
855 |
Internet Draft 15 November 1993 |
856 |
HTML+ Document Format Raggett |
857 |
|
858 |
|
859 |
|
860 |
This example is produced by the following piece of HTML+ |
861 |
|
862 |
<p><img align=top src="http://spoof.cern.ch/people/tbl.gif"> Before |
863 |
coming to CERN, Tim worked on, among other things, document |
864 |
production and text processing. He developed his first hypertext |
865 |
system, "Enquire", in 1980 for his own use (although unaware of |
866 |
the existence of the term HyperText). With a background in text |
867 |
processing, real-time software and communications, Tim decided |
868 |
that high energy physics needed a networked hypertext system and |
869 |
CERN was an ideal site for the development of wide-area hypertext |
870 |
ideas. Tim started the WorldWideWeb project at CERN in 1989. He |
871 |
wrote the application on the NeXT along with most of the |
872 |
communications software. |
873 |
|
874 |
The IMG element specifies an image via a URL. The ALIGN=TOP attribute |
875 |
ensures that the top of the image is level with the top of the current |
876 |
text line. You can also use ALIGN=MIDDLE to align the center of the |
877 |
image with that of the current text line, and ALIGN=BOTTOM to align the |
878 |
bottom of the image with the bottom of the current text line. Browsers |
879 |
are not expected to apply text flow retrospectively, so using |
880 |
ALIGN=MIDDLE and ALIGN=BOTTOM may overwrite previous lines of text. If |
881 |
the ALIGN attribute is missing then ALIGN=TOP is assumed. |
882 |
|
883 |
Not all display types can show images. The IMAGE element behaves in the |
884 |
same way as IMG but allows you to include descriptive text, which can |
885 |
be shown on text-only displays: |
886 |
|
887 |
<image align=top src="http://spoof.cern.ch/people/tbl.gif">A photo |
888 |
of Tim Berners-Lee</image> Before coming to CERN, Tim worked on, |
889 |
among other things, document production and text processing. etc. |
890 |
|
891 |
On text-only displays, the text within the IMAGE element can be shown |
892 |
in place of the image: |
893 |
|
894 |
[A photo of Tim Berners-Lee] Before coming to CERN, Tim worked on, |
895 |
among other things, document production and text processing. etc. |
896 |
|
897 |
The SEETHRU attribute can be used to designate a chromakey so that the |
898 |
image background matches the document background. This is an |
899 |
experimental feature and the format of the attribute's value has yet to |
900 |
be defined - suggestions are welcomed. |
901 |
|
902 |
Images can be made active in one of three ways |
903 |
|
904 |
o The whole image can be made into a hypertext link |
905 |
|
906 |
o Mouse/Pen clicks on the image can be passed to a WWW server |
907 |
|
908 |
o Shaped hypertext buttons can be overlayed on the image |
909 |
|
910 |
|
911 |
|
912 |
Internet Draft 16 November 1993 |
913 |
HTML+ Document Format Raggett |
914 |
|
915 |
|
916 |
Making the entire image into an iconic hypertext button is simple: |
917 |
|
918 |
<a href="bigpic.giff"><image src="smallpic.gif">Our house</image></a> |
919 |
|
920 |
In this example, readers can click on a small picture embedded in the |
921 |
document to see a larger version, which would take significantly longer |
922 |
to retrieve. When using images as hypertext links, don't forget to |
923 |
include a textual description. This is needed for the link caption for |
924 |
peo- ple using text-only displays. |
925 |
|
926 |
In some cases, servers can handle mouse clicks or drags on the image. |
927 |
This capability is signalled in the header information returned along |
928 |
with the image data. You can also use the ISMAP attribute. This |
929 |
mechanism and the ability to add shaped buttons are defined in detail |
930 |
in the description of figures. |
931 |
|
932 |
The delay in connecting to the server for each image in turn can be |
933 |
reduced by asking HTTP servers to include images with the HTML+ |
934 |
document as a MIME multipart message (include multipart/mixed with the |
935 |
Accept: header in the request message). |
936 |
|
937 |
5.10 Change Bars and Document Amendments |
938 |
|
939 |
Change bars are shown for parts of the document designated with the |
940 |
CHANGED element. This can appear anywhere that normal text is allowed |
941 |
(as shown by the %text; entity reference in the DTD): |
942 |
|
943 |
<changed id=z34>text including some changes<changed idref=z34> |
944 |
|
945 |
The same element is used to designate the start and end of changes, |
946 |
using matched ID and IDREF attribute values. This mechanism avoids |
947 |
syntactic problems that would arise from using a conventional start and |
948 |
end tag pair, as changes to a document can span different levels of the |
949 |
document's formal structure. Additional attributes may be used with the |
950 |
CHANGED element to hold related details, e.g. BY, WHEN, WHY, WHAT. |
951 |
|
952 |
In legal documents and amendments to proposed legislation, there is |
953 |
often the need to show parts of the text as being removed or added to |
954 |
the document. This is commonly shown using strike-through and |
955 |
underlining respectively. The REMOVED and ADDED tags are provided for |
956 |
this purpose: |
957 |
|
958 |
<P>This bill would require the Legislative Counsel, with the advice |
959 |
of the Joint Rules Committee of the Senate and Assembly, to make |
960 |
available to the public by means of access by way of |
961 |
<removed>computer modem</removed> <added>the largest nonproprietary, |
962 |
nonprofit cooperative public computer network,</added> specified |
963 |
information concerning bills, the proceedings of the houses and |
964 |
committees of the Legislature, statutory enactments, and the |
965 |
California Constitution. |
966 |
|
967 |
|
968 |
|
969 |
Internet Draft 17 November 1993 |
970 |
HTML+ Document Format Raggett |
971 |
|
972 |
|
973 |
Which might be displayed (on a dumb terminal) as: |
974 |
|
975 |
This bill would require the Legislative Counsel, with the advice of |
976 |
the Joint Rules Committee of the Senate and Assembly, to make |
977 |
available to the public by means of access by way of |
978 |
<removed>computer modem</removed> <added>the largest nonproprietary, |
979 |
nonprofit cooperative public computer network,</added> specified |
980 |
information concerning bills, the proceedings of the houses and |
981 |
committees of the Legislature, statutory enactments, and |
982 |
the California Constitution. |
983 |
|
984 |
Color enhancements may be used to further distinguish the amendments, |
985 |
e.g. red lines for strike-through. This mechanism is not intended for |
986 |
representing revision histories, which are better served by traditional |
987 |
change control mechanisms. |
988 |
|
989 |
5.11 Conditional Text |
990 |
|
991 |
It is often quite difficult to phrase the captions for hypertext |
992 |
buttons so that they make sense when printed out. The ONLINE and |
993 |
PRINTED elements can be used to define text which is for use only when |
994 |
read on-line or on the printed page respectively: |
995 |
|
996 |
<online>click <a href="info.html">here</a>for more information.</online> |
997 |
<printed>Further information can be found in [Higgins 84b].</printed> |
998 |
|
999 |
In many cases, you can find a way of phrasing the reference so that it |
1000 |
makes sense both ways. Browsers can help by referencing hypertext links |
1001 |
as footnotes when printed out. See the earlier description of the PRINT |
1002 |
attribute for the A tag. |
1003 |
|
1004 |
5.12 Explicit Line Breaks |
1005 |
|
1006 |
You can make individual lines explicit with the <L> element, which |
1007 |
contains the text of the line in the same way that <P> contains the |
1008 |
text of the paragraph. |
1009 |
|
1010 |
<P> |
1011 |
<L>22 The Avenue, |
1012 |
<L>Harrow, |
1013 |
<L>London, NW1 5ER |
1014 |
|
1015 |
An alternative is the <BR> element which acts as a forced line break. |
1016 |
|
1017 |
<P>22 The Avenue<BR> |
1018 |
Harrow,<BR>London, NW1 5ER |
1019 |
|
1020 |
The <L> element is useful when you want to name each line, e.g. <L |
1021 |
ID="L23">. You may also want to disable word wrap for the current |
1022 |
paragraph, as in <P WRAP=OFF>. |
1023 |
|
1024 |
|
1025 |
|
1026 |
Internet Draft 18 November 1993 |
1027 |
HTML+ Document Format Raggett |
1028 |
|
1029 |
|
1030 |
6 Different Paragraph Styles |
1031 |
|
1032 |
To avoid all text appearing in the same style, HTML+ provides distinct |
1033 |
styles for quotes, abstracts, bylines and admonishments. All these |
1034 |
elements can contain multiple paragraphs: |
1035 |
|
1036 |
6.1 Longer Quotations |
1037 |
|
1038 |
When you want to include a quotation that extends over more that one |
1039 |
paragraph, you should use the QUOTE element. Quoted text should |
1040 |
preferably be indented, and rendered using a distinctive font, e.g. |
1041 |
|
1042 |
<P>The following is a quotation from the forward by Yuri Rubinsky |
1043 |
to "The SGML Handbook" by Charles F. Goldfarb, published by the |
1044 |
Clarendon Press, Oxford, 1990. |
1045 |
|
1046 |
<QUOTE>The next five years will see a revolution in computing. Users |
1047 |
will no longer have to work at every computer task as if they had |
1048 |
no need or ability to share data with all their other computer tasks, |
1049 |
they will not need to act as if the computer is simply a replacement |
1050 |
for paper, nor will they have to appease computers or software |
1051 |
programs that seem to be at war with one another.</QUOTE> |
1052 |
|
1053 |
which might be rendered as: |
1054 |
|
1055 |
The following is a quotation from the forward by Yuri Rubinsky to |
1056 |
"The SGML Handbook" by Charles F. Goldfarb, published by the |
1057 |
Clarendon Press, Oxford, 1990. |
1058 |
|
1059 |
The next five years will see a revolution in computing. Users |
1060 |
will no longer have to work at every computer task as if they |
1061 |
had no need or ability to share data with all their other computer |
1062 |
tasks, they will not need to act as if the computer is simply a |
1063 |
replacement for paper, nor will they have to appease computers or |
1064 |
software programs that seem to be at war with one another. |
1065 |
|
1066 |
6.2 Abstracts |
1067 |
|
1068 |
The ABSTRACT element can be used to give an overview of a document and |
1069 |
typically follows a level one heading. It should be rendered in an |
1070 |
easily read font, distinct from normal text, and preferably indented. |
1071 |
An example is given in the next section. |
1072 |
|
1073 |
6.3 Bylines |
1074 |
|
1075 |
The BYLINE element is similar to QUOTE and is used for information |
1076 |
about the author, e.g. contact details and release date. A common |
1077 |
convention is to include a hypertext link to a node with more |
1078 |
information about the author. Bylines can occur at the beginning or end |
1079 |
of a document, e.g: |
1080 |
|
1081 |
|
1082 |
|
1083 |
Internet Draft 19 November 1993 |
1084 |
HTML+ Document Format Raggett |
1085 |
|
1086 |
|
1087 |
<H1>HTML+ (Hypertext markup format</H1> |
1088 |
|
1089 |
<ABSTRACT>A proposed standard for a light weight delivery format |
1090 |
for browsing and querying information in a web of globally |
1091 |
distributed hypertext accessible over the Internet |
1092 |
</ABSTRACT> |
1093 |
|
1094 |
<BYLINE>Editor: Dave Raggett dsr@hplb.hpl.hp.com</BYLINE> |
1095 |
|
1096 |
6.4 Notes and admonishments |
1097 |
|
1098 |
The NOTE element is used when you want to draw the readers attention to |
1099 |
some point or other. For example: |
1100 |
|
1101 |
<note role="NOTE" src="info.gif"> |
1102 |
The "partial-window-name" parameter must exactly match the beginning |
1103 |
characters of the window name (as it appears on the title bar), |
1104 |
including proper case (capital or lower letters) and any punctuation. |
1105 |
</note> |
1106 |
|
1107 |
This is typically rendered as: |
1108 |
|
1109 |
---------------------------------------------------------------------- |
1110 |
NOTE: The "partial-window-name" parameter must exactly match the |
1111 |
beginning characters of the window name (as it appears on the title |
1112 |
bar), including proper case (capital or lower letters) and any |
1113 |
punctuation. |
1114 |
---------------------------------------------------------------------- |
1115 |
|
1116 |
The text of the ROLE attribute (if given) is inserted at the start of |
1117 |
the note in a bold font and followed by a colon. Typical roles are TIP, |
1118 |
NOTE, WARNING and ERROR. The SRC attribute may be used to name a URL or |
1119 |
URN as an icon which is displayed in the left margin at the start of |
1120 |
the note. An upright hand icon is often used for tips; a warning road |
1121 |
sign for warnings and a stop sign for errors. Horizontal rules are |
1122 |
drawn automatically to help readers distinguish the note from the |
1123 |
surrounding text. You can place horizontal rules in other parts of your |
1124 |
document using the <HR> element which can appear anywhere a <P> element |
1125 |
is allowed. |
1126 |
|
1127 |
7 Lists |
1128 |
|
1129 |
There are three kinds of lists, which can be freely nested within one |
1130 |
another: |
1131 |
|
1132 |
o Ordered lists - the list items are automatically numbered |
1133 |
|
1134 |
o Unordered lists - bulleted or plain styles, in single or |
1135 |
multiple columns |
1136 |
|
1137 |
o Definition lists of terms and associated definitions |
1138 |
|
1139 |
|
1140 |
Internet Draft 20 November 1993 |
1141 |
HTML+ Document Format Raggett |
1142 |
|
1143 |
|
1144 |
|
1145 |
7.1 Ordered Lists |
1146 |
|
1147 |
The OL element is used with LI for each item to represent ordered |
1148 |
lists: |
1149 |
|
1150 |
<OL> |
1151 |
<LI>Wake up |
1152 |
<LI>Get dressed |
1153 |
<LI>Have breakfast |
1154 |
<LI>Drive to work |
1155 |
</OL> |
1156 |
|
1157 |
which is usually rendered as: |
1158 |
|
1159 |
1) Wake up |
1160 |
|
1161 |
2) Get dressed |
1162 |
|
1163 |
3) Have breakfast |
1164 |
|
1165 |
4) Drive to work |
1166 |
|
1167 |
The COMPACT attribute when present e.g. <OL COMPACT> has the effect of |
1168 |
reducing inter-item spacing. The numbering style is the responsibility |
1169 |
of the browser. Other styles use roman numerals or letters from the |
1170 |
alphabet in upper or lower case. One issue for browsers, is how to |
1171 |
render ordered lists, nested within a list of the same type. List item |
1172 |
text can't include headers, see the DTD in Appendix I for details. |
1173 |
|
1174 |
7.2 Bulleted Lists |
1175 |
|
1176 |
Bulleted lists are represented with the UL and LI elements: |
1177 |
|
1178 |
<UL> |
1179 |
<LI>Wake up |
1180 |
<LI>Get dressed |
1181 |
<LI>Have breakfast |
1182 |
<LI>Drive to work |
1183 |
</UL> |
1184 |
|
1185 |
which is usually rendered as: |
1186 |
|
1187 |
o Wake up |
1188 |
|
1189 |
o Get dressed |
1190 |
|
1191 |
o Have breakfast |
1192 |
|
1193 |
o Drive to work |
1194 |
|
1195 |
|
1196 |
|
1197 |
Internet Draft 21 November 1993 |
1198 |
HTML+ Document Format Raggett |
1199 |
|
1200 |
|
1201 |
The COMPACT attribute when present e.g. <UL COMPACT> has the effect of |
1202 |
reducing inter-item spacing. The bullet style is the responsibility of |
1203 |
the browser, and normally an unordered list nested within a list of the |
1204 |
same type is given a different style (bullet, dash, box or check). |
1205 |
Authors can instead use the SRC attribute for the LI element to specify |
1206 |
an icon with a URL or URN, e.g. <LI SRC="folder.gif">. List item text |
1207 |
can't include headers, see the HTML+ DTD in Appendix I for details. |
1208 |
|
1209 |
7.3 Plain Lists |
1210 |
|
1211 |
Plain lists without bullets are represented by the UL element together |
1212 |
with the PLAIN attribute, e.g. <UL PLAIN>. The WRAP attribute is used |
1213 |
for multi-column lists and should be WRAP=HORIZ for horizontally |
1214 |
wrapping of list items or WRAP=VERT for vertical wrapping of list |
1215 |
items, e.g. |
1216 |
|
1217 |
<UL PLAIN> |
1218 |
<LI>icons1/ |
1219 |
<LI>icons2/ |
1220 |
<LI>icons3/ |
1221 |
<LI>src/ |
1222 |
<LI>xpm-3-paper.ps |
1223 |
<LI>xpm-3.2-to-3.2a.patch |
1224 |
</UL> |
1225 |
|
1226 |
without the WRAP attribute, this is rendered as: |
1227 |
|
1228 |
icons1/ |
1229 |
icons2/ |
1230 |
icons3/ |
1231 |
src/ |
1232 |
xpm-3-paper.ps |
1233 |
xpm-3.2-to-3.2a.patch |
1234 |
|
1235 |
with <UL PLAIN WRAP=VERT> this would appear like: |
1236 |
|
1237 |
icons1/ icons3/ xpm-3-paper.ps |
1238 |
icons2/ src/ xpm-3.2-to-3.2a.patch |
1239 |
|
1240 |
with WRAP=HORIZ it would appear like: |
1241 |
|
1242 |
icons1/ icons2/ icons3/ |
1243 |
src/ xpm-3-paper.ps xpm-3.2-to-3.2a.patch |
1244 |
|
1245 |
Everyday familiarity with printed lists leads us to expect lists to be |
1246 |
organized into columns which are read top to bottom; horizontally |
1247 |
wrapped lists are seldom seen. Browsers are free to choose the number |
1248 |
of columns to match the current window size and item widths. If there |
1249 |
are N items and M columns then the longest column will have (N+M-1)/M |
1250 |
rows. This requires a prepass through the list to count the items (and |
1251 |
optionally their maximum width). However, this information can be |
1252 |
|
1253 |
|
1254 |
Internet Draft 22 November 1993 |
1255 |
HTML+ Document Format Raggett |
1256 |
|
1257 |
|
1258 |
cached to avoid speed penalties when resizing the window or refreshing |
1259 |
the screen. You can use the SRC attribute for the LI element to specify |
1260 |
an icon for each item in the list, e.g. to show the type of each |
1261 |
document in a directory listing. |
1262 |
|
1263 |
For convenience, the <MENU> and <DIR> elements can be used in place of |
1264 |
<UL PLAIN> and <UL PLAIN WRAP=VERT> respectively. |
1265 |
|
1266 |
7.4 Definition Lists |
1267 |
|
1268 |
These consist of pairs of terms and definitions, but can also be used |
1269 |
for plays as in: |
1270 |
|
1271 |
<DL> |
1272 |
<DT>King Henry |
1273 |
<DD>I myself heard the King say he would not be ransomed. |
1274 |
<DT>Williams |
1275 |
<DD>Ay, he said so, to make us fight cheerfully: but when our |
1276 |
throats are cut he may be ransomed, and we none the wiser. |
1277 |
<DT>King Henry |
1278 |
<DD>If I live to see it, I will never trust his word after. |
1279 |
<DT>Williams |
1280 |
<DD>You pay him then! That's a perilous shot out of an |
1281 |
elder-gun, that a poor and a private displeasure can do |
1282 |
against a monarch! You may as well go about to turn the sun |
1283 |
to ice, with fanning in his face with a peacock's feather. |
1284 |
You'll never trust his word after! Come `tis a foolish |
1285 |
saying. |
1286 |
</DL> |
1287 |
|
1288 |
This could be rendered as: |
1289 |
|
1290 |
King Henry: I myself heard the King say he would not be |
1291 |
ransomed. |
1292 |
|
1293 |
Williams: Ay, he said so, to make us fight cheerfully: but |
1294 |
when our throats are cut he may be ransomed, and we none |
1295 |
the wiser. |
1296 |
|
1297 |
King Henry: If I live to see it, I will never trust his word |
1298 |
after. |
1299 |
|
1300 |
Williams: You pay him then! That's a perilous shot out of an |
1301 |
elder-gun, that a poor and private displeasure can do |
1302 |
against a monarch! You may as well go about to turn the sun |
1303 |
to ice, with fanning his face with a peacock's feather. |
1304 |
You'll never trust his word after! Come `tis a foolish saying. |
1305 |
|
1306 |
or as: |
1307 |
|
1308 |
King Henry I myself heard the King say he would not be |
1309 |
|
1310 |
|
1311 |
Internet Draft 23 November 1993 |
1312 |
HTML+ Document Format Raggett |
1313 |
|
1314 |
|
1315 |
ransomed. |
1316 |
|
1317 |
Williams Ay, he said so, to make us fight cheerfully: but |
1318 |
when our throats are cut he may be ransomed, and |
1319 |
we none the wiser. |
1320 |
|
1321 |
King Henry If I live to see it, I will never trust his word |
1322 |
after. |
1323 |
|
1324 |
Williams You pay him then! That's a perilous shot out of an |
1325 |
elder-gun, that a poor and private displeasure can |
1326 |
do against a monarch! You may as well go about to |
1327 |
turn the sun to ice, with fanning his face with a |
1328 |
peacock's feather. You'll never trust his word |
1329 |
after! Come `tis a foolish saying. |
1330 |
|
1331 |
Browsers should make allowance for the infrequent case when the term |
1332 |
text (DT) is longer than the definition text (DD) and wraps onto |
1333 |
subsequent lines. Note that you are allowed to have several consecutive |
1334 |
DT elements followed by a DD element, but you can't have DD without an |
1335 |
associated DT element, The COMPACT attribute as in <DL COMPACT> forces |
1336 |
the browser to use the former more compact style. |
1337 |
|
1338 |
8 Figures |
1339 |
|
1340 |
The FIG element is similar to the IMAGE element, but acts as a |
1341 |
paragraph. The ALIGN attribute can be one of LEFT (the default), |
1342 |
CENTER, RIGHT or FLOAT. This determines whether the figure is flush |
1343 |
left, centered or flush right. If ALIGN=FLOAT the figure may float to |
1344 |
another more convenient location (and possibly zoomed or reduced in the |
1345 |
process). A caption can be defined with the CAPTION element and |
1346 |
followed by text describing the figure for readers using text only |
1347 |
displays: |
1348 |
|
1349 |
<FIG ALIGN=FLOAT SRC="cat.gif"> |
1350 |
<CAPTION>"Not curried fish again!"<CAPTION> |
1351 |
A cartoon of a scrawny cat with its tongue out saying ACK! |
1352 |
</FIG> |
1353 |
|
1354 |
<P>The text in the following paragraphs will flow around the figure |
1355 |
if there is enough room. The browser is free to position the caption at |
1356 |
the top, bottom or sides of the figure. |
1357 |
|
1358 |
which is rendered as: |
1359 |
|
1360 |
[ ] The text in the following paragraphs will |
1361 |
[ picture missing ] flow around the figure if there is enough |
1362 |
[ ] room. The browser is free to position the |
1363 |
[ ] caption at the top, bottom or sides of the |
1364 |
figure. |
1365 |
"Not curried fish again!" |
1366 |
|
1367 |
|
1368 |
Internet Draft 24 November 1993 |
1369 |
HTML+ Document Format Raggett |
1370 |
|
1371 |
|
1372 |
|
1373 |
Note that browsers can only support a limited range of image types. |
1374 |
Currently these are GIF and XBM (X bitmap format). This list will |
1375 |
evolve over time. |
1376 |
|
1377 |
8.1 Active Areas |
1378 |
|
1379 |
The uppe left of the image is designated as x,y = (0, 0), with x |
1380 |
increasing across the page and y down the page. This choice was made |
1381 |
for continuity with the IMG element in HTML, to ensure a simple |
1382 |
migration path to HTML+. If points are given in real numbers, the lower |
1383 |
right corner of the image is taken as being (1.0, 1.0), otherwise, with |
1384 |
integer values the coordinates are assumed to be in pixels. A simple |
1385 |
test to distinguish the two schemes is to check if a "." character |
1386 |
occurs anywhere in the list of points. Using scaled coordinates is much |
1387 |
safer as the pixel extent of an image may alter, e.g. as a result of |
1388 |
format negotiation with the server. |
1389 |
|
1390 |
For some images, HTTP servers will be able to handle mouse/pen clicks |
1391 |
or drags on the image. This is signalled in the header information |
1392 |
returned along with the image data. Alternatively, the ISMAP attribute |
1393 |
can be used to signal this capability. The mouse click is sent to the |
1394 |
server indicated by the URL in the SRC attribute, using the same URL |
1395 |
plus the suffix "?x=X&y=Y" where X and Y are the coordinates of the |
1396 |
click event. Mouse drags can be used |
1397 |
to designate a rectangular region of the image. In this case the suffix |
1398 |
takes the form: "?x=X&y=Y&w=W&h=H" where (X, Y) is the upper left of |
1399 |
the rectangle, and (W, H) define its width and height. The ISMAP |
1400 |
mechanism is useful when the active regions in the image change their |
1401 |
boundaries with time, e.g. |
1402 |
|
1403 |
<fig ismap src="weather.gif"> |
1404 |
<caption>Click on your area for a local forecast</caption> |
1405 |
Todays weather map for the US. |
1406 |
</fig> |
1407 |
|
1408 |
8.2 Placing Hypertext Buttons on Images |
1409 |
|
1410 |
The A element can be used to define shaped buttons on top of images. |
1411 |
The shape is defined by an arbitrary polygon and specified via the |
1412 |
SHAPE attribute, e.g. |
1413 |
|
1414 |
<FIG SRC="test.gif"> |
1415 |
<CAPTION>Click on the triangle or the rectangle</CAPTION> |
1416 |
A line drawing with a |
1417 |
<A SHAPE="0.35,0.1&0.1,0.8&0.35,0.8" HREF="button1.html"> |
1418 |
triangle</A> and a |
1419 |
<A SHAPE="0.5,0.25&0.5,0.5&0.8,0.5&0.8,0.25" HREF="button2.html"> |
1420 |
rectangle</A> |
1421 |
</FIG> |
1422 |
|
1423 |
|
1424 |
|
1425 |
Internet Draft 25 November 1993 |
1426 |
HTML+ Document Format Raggett |
1427 |
|
1428 |
|
1429 |
Which could be rendered as: |
1430 |
|
1431 |
[ Picture missing in text file ] |
1432 |
|
1433 |
The example uses scaled coordinates, and shows how you give the |
1434 |
vertices of the polygon defining the shape of the button. Like the |
1435 |
ISMAP mechanism, you can use pixel-based coordinates by using integer |
1436 |
numbers throughout. Note that clicks on shaped buttons take precedence |
1437 |
over the ISMAP mechanism for sending events to the server. An efficient |
1438 |
algorithm for testing if a mouse/pen click lies inside a polygon is |
1439 |
given as a C routine in Appendix III. |
1440 |
|
1441 |
8.3 Possible extensions |
1442 |
|
1443 |
In future, HTML+ may be extended to support simple drawings with |
1444 |
embedded hypertext links. One idea would be a line drawing primitive |
1445 |
using the SHAPE attribute. A better approach is to extend existing |
1446 |
drawing formats such as the ANSI Computer Graphics Metafile format |
1447 |
(CGM) or Adobe's PDF to include URL based hypertext links. This |
1448 |
extended format could then be used for figures within HTML+ documents. |
1449 |
|
1450 |
The use of the MIME multipart message format would also help to speed |
1451 |
up the display of figures by sending image data at the same time as the |
1452 |
HTML+ document. Another possibility would be to allow image data to be |
1453 |
embedded in the document using an EMBED element in place of the SRC |
1454 |
attribute. Binary data could be represented using the MIME character |
1455 |
encoding or the more compact ASCII base 85 encoding, as used in Adobe's |
1456 |
PDF. The drawback with this approach is the inability to use format |
1457 |
negotiation. As a result, the EMBED element has been dropped from the |
1458 |
current draft. |
1459 |
|
1460 |
9 Tables |
1461 |
|
1462 |
Tables are specified using the TABLE element. This allows you to define |
1463 |
a caption and to differentiate header and data cells. Cells may |
1464 |
contain, text, multiple paragraphs, lists and headers. Adjacent cells |
1465 |
can be merged, e.g. to define a header which spans two columns. A |
1466 |
simple table could look like: |
1467 |
|
1468 |
Table 1: A simple table |
1469 |
|
1470 |
------------------------------- |
1471 |
| Year | Month | Day | |
1472 |
------------------------------- |
1473 |
| 1972 | June | 23rd | |
1474 |
------------------------------- |
1475 |
| 1982 | October | 7th | |
1476 |
------------------------------- |
1477 |
|
1478 |
This is defined by the markup: |
1479 |
|
1480 |
|
1481 |
|
1482 |
Internet Draft 26 November 1993 |
1483 |
HTML+ Document Format Raggett |
1484 |
|
1485 |
|
1486 |
<table border> |
1487 |
<caption>A simple table</caption> |
1488 |
<th>Year <th>Month <th>Day <tr> |
1489 |
<td>1972 <td>June <td>23rd <tr> |
1490 |
<td>1982 <td>October <td>7th |
1491 |
</table> |
1492 |
|
1493 |
The BORDER attribute acts as a hint to the browser to draw lines |
1494 |
enclosing each cell. The TH ele- ment precedes header cell text and the |
1495 |
TD element precedes data cell text. The TR element is used to separate |
1496 |
table rows. By default text is centered in each cell. Header text |
1497 |
should be shown emphasised, e.g. the browser could use a bold sans |
1498 |
serif font for headers and a serif font for the data cells. The next |
1499 |
example shows how cells can be merged with their neighbors: |
1500 |
|
1501 |
Table 2: A more complex table |
1502 |
|
1503 |
average other |
1504 |
height weight category |
1505 |
|
1506 |
males 1.9 0.003 yyy |
1507 |
|
1508 |
females 1.7 0.002 xxx |
1509 |
|
1510 |
|
1511 |
This table is defined by the markup: |
1512 |
|
1513 |
<table> |
1514 |
<caption>A more complex table</caption> |
1515 |
<th rowspan=2><th colspan=2>average<th rowspan=2>other<br>category<tr> |
1516 |
<th>height <th>weight <tr> |
1517 |
<th align=left>males <td>1.9 <td>0.003 <td>yyy <tr> |
1518 |
<th align=left>females <td>1.7 <td>0.002 <td>xxx |
1519 |
</table> |
1520 |
|
1521 |
The first cell (a header cell) is merged with the cell below it: <th |
1522 |
rowspan=2>. Note that this merged cell is empty - the definition of the |
1523 |
next column for the first row starts immediately. Looking again at the |
1524 |
first row, the second column is merged with the third: <th colspan=2>. |
1525 |
The definition for the third column is skipped as it was covered by the |
1526 |
merged cell. The fourth column/first row is also merged, this time with |
1527 |
the next row: <th rowspan=2>. The <BR> element has been used here to |
1528 |
force a line break between other and category. The <TR> element |
1529 |
signifies the end of the first row and the beginning of the second. |
1530 |
Note that empty cells at the end of a row can be omitted as the <TR> |
1531 |
element unambiguously marks the end of the row. |
1532 |
|
1533 |
The second row only contains definitions for the second and third |
1534 |
columns since the others were merged with cells on the preceding row. |
1535 |
The general rule is to avoid defining any cell twice. The last two rows |
1536 |
start with headers and the align=left attribute ensures that the |
1537 |
|
1538 |
|
1539 |
Internet Draft 27 November 1993 |
1540 |
HTML+ Document Format Raggett |
1541 |
|
1542 |
|
1543 |
browser will align these headers to the left of their cells. The ALIGN |
1544 |
attribute can be one of LEFT, CENTER or RIGHT, with CENTER as the |
1545 |
default. It can be used with both TH and TD. |
1546 |
|
1547 |
9.1 Implementation Issues for Tables |
1548 |
|
1549 |
Browsers need a prepass through the table markup to count the number of |
1550 |
columns and determine their widths. A simple algorithm that takes |
1551 |
merged cells into account will suffice. Text fields wrap to fit their |
1552 |
columns, which should be sized to best match current window width. This |
1553 |
information should be cached to avoid speed penalties during subsequent |
1554 |
screen refresh/ window resize operations. Browsers can ignore alignment |
1555 |
hints if required, and using a fixed pitch font may speed up the sizing |
1556 |
step. |
1557 |
|
1558 |
The number of columns is given by the row with the largest number of |
1559 |
<TH> and <TD> elements, remembering to add in merged cells. The widths |
1560 |
of columns are evaluated by finding the minimum and maximum widths |
1561 |
needed for each cell, and hence the minimum and maximum width for the |
1562 |
column as a whole. All this can be done during a single pass through |
1563 |
the <TABLE> element. Caching these min/max values for each column then |
1564 |
permits the browser to instantly adjust the table when the window is |
1565 |
resized. |
1566 |
|
1567 |
10 Fill-out Forms and Input fields |
1568 |
|
1569 |
Forms are composed by placing input fields within paragraphs, |
1570 |
preformatted/literal text, lists and tables. This gives considerable |
1571 |
scope in designing the layout of forms. Each field is defined by an |
1572 |
INPUT element and must have an NAME attribute which uniquely names the |
1573 |
field in the document. Additional optional attributes can be used to |
1574 |
specify the type of the field (defaults to free text), its |
1575 |
size/precision, its initial value and whether the field is currently |
1576 |
disa- bled or in error: |
1577 |
|
1578 |
<FORM ACTION="mailto:www_admin@info.cern.ch"> |
1579 |
<MH HIDDEN>Subject: WWW Questionaire</MH> |
1580 |
|
1581 |
Please help up to improve the World Wide Web by filling in the |
1582 |
following questionaire: |
1583 |
<P>Your organization? <INPUT NAME="org" SIZE="48"> |
1584 |
<P>Commercial? <INPUT NAME="commerce" TYPE=checkbox> |
1585 |
How many users? <INPUT NAME="users" TYPE=int> |
1586 |
<P>Which browsers do you use? |
1587 |
<OL> |
1588 |
<LI>X Mosaic <INPUT NAME="browsers" TYPE=checkbox VALUE="xmosaic"> |
1589 |
<LI>Cello <INPUT NAME="browsers" TYPE=checkbox VALUE="cello"> |
1590 |
<LI>Others <TEXTAREA NAME="others" COLS=48 ROWS=4></TEXTAREA> |
1591 |
</OL> |
1592 |
A contact point for your site: <INPUT NAME="contact" SIZE="42"> |
1593 |
<P>Many thanks on behalf of the WWW central support team. |
1594 |
|
1595 |
|
1596 |
Internet Draft 28 November 1993 |
1597 |
HTML+ Document Format Raggett |
1598 |
|
1599 |
|
1600 |
|
1601 |
<P ALIGN=CENTER><INPUT TYPE=submit> <INPUT TYPE=reset> |
1602 |
</FORM> |
1603 |
|
1604 |
This fictitious example is a questionnaire that will be emailed to |
1605 |
www_admin@info.cern.ch. The FORM element is used to delimit the form. |
1606 |
There can be several forms in a single document, but the FORM element |
1607 |
can't be nested. The ACTION attribute specifies a URL that designates |
1608 |
an HTTP server or an email address. If missing, the URL for the |
1609 |
document itself will be assumed. The effect of the action can be |
1610 |
modified by including a method prefix, e.g. ACTION="POST http://....". |
1611 |
This prefix is used to select the HTTP method when sending the form's |
1612 |
contents to an HTTP server. Would it be cleaner to use a separate |
1613 |
attribute, e.g. METHOD? |
1614 |
|
1615 |
Servers can disable forms by sending an appropriate header or by an |
1616 |
attribute on the optional HTMLPLUS element at the very start of the |
1617 |
document, e.g. |
1618 |
|
1619 |
<htmlplus forms=off>. |
1620 |
|
1621 |
The MH element can be used to specify RFC 822 mail headers that are |
1622 |
included when sending the form's content either as an email message or |
1623 |
as a HTTP request, e.g. |
1624 |
|
1625 |
<MH HIDDEN> |
1626 |
Subject: WWW Questionnaire |
1627 |
Priority: Low |
1628 |
</MH> |
1629 |
|
1630 |
The MH element can contain several headers separated by line breaks. |
1631 |
The text within the MH element is transcribed directly, preserving |
1632 |
spaces, tabs and line breaks, with each line terminated by a CR LF pair |
1633 |
as per the RFC 822 guidelines. The preceding example of a form might be |
1634 |
rendered as: |
1635 |
|
1636 |
|
1637 |
|
1638 |
---------------------------------------------------------------------- |
1639 |
Please help us to improve the World Wide Web by filling in the |
1640 |
following questionnaire: |
1641 |
|
1642 |
Your organization: [ ] |
1643 |
Commercial [N] How many users? [ ] |
1644 |
|
1645 |
Which browsers do you use? |
1646 |
|
1647 |
1) X Mosaic [ ] |
1648 |
|
1649 |
2) Cello |
1650 |
|
1651 |
|
1652 |
|
1653 |
Internet Draft 29 November 1993 |
1654 |
HTML+ Document Format Raggett |
1655 |
|
1656 |
|
1657 |
3) Others [ ] |
1658 |
[ ] |
1659 |
[ ] |
1660 |
[ ] |
1661 |
|
1662 |
A contact point for your site? [ ] |
1663 |
|
1664 |
Many thanks on behalf of the WWW Central support team. |
1665 |
|
1666 |
(Submit) (Reset) |
1667 |
---------------------------------------------------------------------- |
1668 |
|
1669 |
Here, the <P> and <OL> elements have been used to lay out the text and |
1670 |
input fields. The browser has changed the background color within the |
1671 |
FORM element to distinguish the form from other parts of the document. |
1672 |
The browser is responsible for handling the input focus, i.e. which |
1673 |
field will currently get keyboard input. |
1674 |
|
1675 |
For many platforms there will be existing conventions for forms, e.g. |
1676 |
tab and shift-tab keys to move the keyboard focus forwards and |
1677 |
backwards between fields, while an Enter key submits the form. In the |
1678 |
example, the Submit and Reset buttons are specified explicitly with |
1679 |
special purpose fields. The Submit button is used to email the form or |
1680 |
send its contents to the server as specified by the ACTION attribute, |
1681 |
while the Reset button resets the fields to their initial values. When |
1682 |
the form consists of a single text field, it may be appropriate to |
1683 |
leave such buttons out and rely on the Enter key. |
1684 |
|
1685 |
The INPUT element has the following attributes: |
1686 |
|
1687 |
NAME Symbolic name used when transferring the form's |
1688 |
contents. This attribute is always needed and |
1689 |
should uniquely identify this field. |
1690 |
|
1691 |
TYPE Defines the type of data the field accepts. Defaults |
1692 |
to free text. |
1693 |
|
1694 |
SIZE Specifies the size or precision of the field according |
1695 |
to its type. |
1696 |
|
1697 |
MAXLENGTH The maximum number of characters that will be accepted |
1698 |
as input. This can be greater that specified by SIZE, |
1699 |
in which case the field will scroll appropriately. |
1700 |
The default is unlimited. |
1701 |
|
1702 |
VALUE The initial value for the field, or the value when |
1703 |
checked for checkboxes and radio buttons. This |
1704 |
attribute is required for radio buttons. |
1705 |
|
1706 |
CHECKED When present indicates that a checkbox or radio |
1707 |
button is selected. |
1708 |
|
1709 |
|
1710 |
Internet Draft 30 November 1993 |
1711 |
HTML+ Document Format Raggett |
1712 |
|
1713 |
|
1714 |
|
1715 |
DISABLED When present indicates that this field is temporarily |
1716 |
disabled. Browsers should show this by "greying it" |
1717 |
out in some manner. |
1718 |
|
1719 |
ERROR When present indicates that the field's initial value |
1720 |
is in error in some way, e.g. because it is |
1721 |
inconsistent with the values of other fields. Servers |
1722 |
should include an explanatory error message with the |
1723 |
form's text. |
1724 |
|
1725 |
SRC A URL or URN specifying an image - for use only with |
1726 |
TYPE=IMAGEMAP. |
1727 |
|
1728 |
ALIGN Vertical alignment of the image - for use only with |
1729 |
TYPE=IMAGEMAP. |
1730 |
|
1731 |
The following types of fields can be defined with the TYPE attribute |
1732 |
(upper or lower case): |
1733 |
|
1734 |
TEXT Single line text entry fields. Use the SIZE attribute |
1735 |
to specify the visible width in characters, e.g. |
1736 |
SIZE="24" for a 24 character field. The MAX attribute |
1737 |
can be used to specify an upper limit to the number of |
1738 |
characters that can be entered into a text field, e.g. |
1739 |
MAX=72. Use the TEXTAREA element for text fields which |
1740 |
can accept multiple lines (see below). |
1741 |
|
1742 |
INT For entering integer numbers, the maximum number of |
1743 |
digits can be specified with the SIZE attribute |
1744 |
(excluding the sign character), e.g. size=3 for a |
1745 |
three digit number. |
1746 |
|
1747 |
FLOAT For fields which can accept floating point numbers. |
1748 |
|
1749 |
DATE Fields which can accept a recognized date format. |
1750 |
|
1751 |
URL For fields which expect document references as URLs or |
1752 |
URNs. |
1753 |
|
1754 |
CHECKBOX Used for simple Boolean attributes, or for attributes |
1755 |
which can take multiple values at the same time. The |
1756 |
latter is represented by a number of checkbox fields |
1757 |
each of which has the same NAME. |
1758 |
|
1759 |
RADIO For attributes which can take a single value from a set |
1760 |
of alternatives. Each radio button field in the group |
1761 |
should be given the same NAME. |
1762 |
|
1763 |
RANGE This allows you to specify an integer range with the |
1764 |
MIN and MAX attributes, e.g. MIN=1 MAX=100. Users can |
1765 |
|
1766 |
|
1767 |
Internet Draft 31 November 1993 |
1768 |
HTML+ Document Format Raggett |
1769 |
|
1770 |
|
1771 |
select any value in this range. |
1772 |
|
1773 |
IMAGE This allows you to specify an image field upon which |
1774 |
you can click with a pointing device. The SRC and |
1775 |
ALIGN attributes are exactly the same as for the IMG |
1776 |
and IMAGE elements. The symbolic names for the x and |
1777 |
y coordinates of the click event are specified with |
1778 |
name.x and name.y for the name given with the NAME |
1779 |
attribute. The VALUE attribute is ignored. |
1780 |
|
1781 |
SCRIBBLE A field upon which you can write with a pen or mouse. |
1782 |
The size of the field in millimeters is given as |
1783 |
SIZE=width,height. The units are absolute as they |
1784 |
relate to the dimensions of the human hand, rather |
1785 |
than pixels of varying resolution. The scribble may |
1786 |
involve time and pressure data in addition to the basic |
1787 |
ink data. You can use scribble for signatures or |
1788 |
sketches. The field can be initialised by setting the |
1789 |
SRC attribute to a URL which contains the ink. The |
1790 |
VALUE attribute is ignored. |
1791 |
|
1792 |
AUDIO This provides a way of entering spoken messages into |
1793 |
a form. Browsers might show an icon which when clicked |
1794 |
pops-up a set of tape controls that you can use to |
1795 |
record and replay messages. The initial message can be |
1796 |
set by specifying a URL with the SRC attribute. The |
1797 |
VALUE attribute is ignored. |
1798 |
|
1799 |
SUBMIT This is a button that when pressed submits the form. It |
1800 |
is provided as a kind of field to offer authors some |
1801 |
control over the location of this button. You can use |
1802 |
an image as a submit button by specifying a URL with |
1803 |
the SRC attribute. |
1804 |
|
1805 |
RESET This is a button that when pressed resets the form's |
1806 |
fields to their initial values as specified by the |
1807 |
VALUE attribute. You can use an image as a reset |
1808 |
button by specifying a URL with the SRC attribute. |
1809 |
|
1810 |
When you need to let users enter more than one line of text, you should |
1811 |
use the TEXTAREA element, e.g. |
1812 |
|
1813 |
<TEXTAREA NAME="address" ROWS=64 COLS=6> |
1814 |
Hewlett Packard Laboratories |
1815 |
1501 Page Mill Road |
1816 |
Palo Alto, California 94304-1126 |
1817 |
</TEXTAREA> |
1818 |
|
1819 |
The text up to the end tag is used to initialize the field's value. |
1820 |
This end tag is always required even if the field is initially blank. |
1821 |
The ROWS and COLS attributes determine the visible dimension of the |
1822 |
|
1823 |
|
1824 |
Internet Draft 32 November 1993 |
1825 |
HTML+ Document Format Raggett |
1826 |
|
1827 |
|
1828 |
field in characters. Browsers are recommended to allow text to grow |
1829 |
beyond these limits by scrolling as needed. In the initial design for |
1830 |
forms, multi-line text fields were supported by the INPUT element with |
1831 |
TYPE=TEXT. Unfortunately, this causes problems for fields with long |
1832 |
text values as SGML limits the length of attribute literals. The HTML+ |
1833 |
DTD allows for up to 1024 characters (the SGML default is only 240 |
1834 |
characters!). |
1835 |
|
1836 |
The RADIO and CHECKBOX fields can be used to specify multiple choice |
1837 |
forms in which every alternative is visible as part of the form. An |
1838 |
alternative is to use the SELECT element which is generally rendered in |
1839 |
a more compact fashion as a pull down combo list. Every alternative is |
1840 |
represented by the OPTION element, e.g. |
1841 |
|
1842 |
<SELECT NAME="flavor"> |
1843 |
<OPTION>Vanilla |
1844 |
<OPTION>Strawberry |
1845 |
<OPTION>Rum and Raisin |
1846 |
<OPTION>Peach and Orange |
1847 |
</SELECT> |
1848 |
|
1849 |
The SEVERAL attribute is needed when users are allowed to make several |
1850 |
selections, e.g. <SELECT SEVERAL>. The ERROR attribute can be used to |
1851 |
indicate that the initial selection is in error in some way, e.g. |
1852 |
because it is inconsistent with the values of other fields. |
1853 |
|
1854 |
The OPTION element can take the following attributes: |
1855 |
|
1856 |
SELECTED Indicates that this option is initially selected. |
1857 |
|
1858 |
DISABLED When present indicates that this option is |
1859 |
temporarily disabled. Browsers should show this |
1860 |
by "greying it" out in some manner. |
1861 |
|
1862 |
10.1 Sending form data to an HTTP server |
1863 |
|
1864 |
The form contents are expressed as a property list of attribute names |
1865 |
and values. Radio buttons and checkboxes are left out of the list when |
1866 |
unchecked. This ensures that only the selected radio button contributes |
1867 |
a name=value pair. Omitting the VALUE attribute for a checkbox field |
1868 |
causes the field when checked to appear as a name without a value (this |
1869 |
is appropriate for Boolean attributes). Currently, there are two ways |
1870 |
of transferring form contents to an HTTP server: |
1871 |
|
1872 |
o As a suffix on the URL given by the ACTION attribute |
1873 |
|
1874 |
o As a multipart MIME message |
1875 |
|
1876 |
In the first approach, the property list is encoded as a sequence of |
1877 |
name=value elements separated by the "&" character. The values for the |
1878 |
form's fields are sent as a search string, e.g. |
1879 |
|
1880 |
|
1881 |
Internet Draft 33 November 1993 |
1882 |
HTML+ Document Format Raggett |
1883 |
|
1884 |
|
1885 |
|
1886 |
URL?org=Acme%20Foods&commerce&users=42 |
1887 |
|
1888 |
Note that "=", "&" and space characters in attribute names and values |
1889 |
should be escaped by "%" followed by the hexadecimal code for the |
1890 |
character in question, e.g. "%20" should be used in place of the space |
1891 |
character. IMAGE fields are only included in the list when clicked, and |
1892 |
give rise to something matching: |
1893 |
|
1894 |
URL?name.x=23&name.y=29 |
1895 |
|
1896 |
They can be used as iconic controls for other images or data. The |
1897 |
object-name.property-name notation paves the way for more complex input |
1898 |
controls in the future. In the near future, for- mat negotiation will |
1899 |
not change the number of pixels in an image, so using pixel based |
1900 |
coordi- nates is okay. In the longer term, scaled coordinates in the |
1901 |
range 0 to 1.0 may prove safer. |
1902 |
|
1903 |
Multipart MIME messages are necessary if the form contains scribble or |
1904 |
audio fields. Form data can be sent in the same name=value |
1905 |
representation as described above. For scribble and audio fields, the |
1906 |
value identifies a subsequent part in the multipart message, as |
1907 |
specified by the Content-ID: header for each part. Another approach is |
1908 |
to send just the SGML elements used to define form fields, i.e. the |
1909 |
INPUT, TEXTAREA and SELECT elements. The Content-ID: headers are used |
1910 |
to define dummy URLs. It may be possible for servers to use this |
1911 |
approach to update forms being viewed by a browser without having to |
1912 |
send the entire document. |
1913 |
|
1914 |
10.2 Sending a form via Electronic Mail |
1915 |
|
1916 |
In this case, the form needs to be viewable on ordinary mail readers. |
1917 |
The form should be converted to ASCII and mailed as a plain text |
1918 |
message, preceded by the headers as specified by the MH element. Each |
1919 |
INPUT field is copied as text and delimited by the "[" and "]" |
1920 |
characters. An longer term alternative is to send the HTML+ document |
1921 |
as a MIME message, along with the current values for each field. |
1922 |
|
1923 |
11 Literal and Preformatted Text |
1924 |
|
1925 |
Preformatted text started off in HTML with a simple mechanism for |
1926 |
showing computer output, for which the spaces and line breaks were |
1927 |
significant in determining the layout. The desire to offer Unix manual |
1928 |
pages as hypertext forced a rethink. The next version supported |
1929 |
character emphasis and embedded hypertext buttons. HTML+ adds the |
1930 |
capability to use variable pitch fonts and to set up tab stops. |
1931 |
|
1932 |
The LIT element is rendered in a proportional font, e.g. |
1933 |
|
1934 |
<LIT> |
1935 |
From Oberon in fairyland, |
1936 |
|
1937 |
|
1938 |
Internet Draft 34 November 1993 |
1939 |
HTML+ Document Format Raggett |
1940 |
|
1941 |
|
1942 |
The king of ghosts and shadows there, |
1943 |
Mad Robin I, at his command, |
1944 |
Am sent to view the night sports here. |
1945 |
What revel rout |
1946 |
is kept about, |
1947 |
In every corner where I go, |
1948 |
I will o'ersee |
1949 |
And merry be |
1950 |
And make good sport, with ho, ho, ho! |
1951 |
</LIT> |
1952 |
|
1953 |
This is rendered literally as: |
1954 |
|
1955 |
From Oberon in fairyland, |
1956 |
The king of ghosts and shadows there, |
1957 |
Mad Robin I, at his command, |
1958 |
Am sent to view the night sports here. |
1959 |
What revel rout |
1960 |
Is kept about, |
1961 |
In every corner where I go, |
1962 |
I will o'ersee |
1963 |
And merry be |
1964 |
And make good sport, with a ho, ho, ho! |
1965 |
|
1966 |
The ability to set tab stops in LITeral text makes it much easier to |
1967 |
write filters that convert documents written on word processors into |
1968 |
HTML+. Tab stops can be set by the TAB element and apply for the scope |
1969 |
of the LIT element, e.g. |
1970 |
|
1971 |
<tab at=40 align=right> |
1972 |
|
1973 |
The AT attribute specifies the position of the tab stop, as measured |
1974 |
from the left margin in terms of the width of a capital M. The ALIGN |
1975 |
attribute can be LEFT, CENTER or RIGHT, defaulting to LEFT. These have |
1976 |
the conventional meaning as used on most word processors. If greater |
1977 |
control over fonts and layout is needed then authors should make a |
1978 |
hypertext link to a document written in a page description format like |
1979 |
Adobe's PDF. |
1980 |
|
1981 |
For computer output or plain text files, you should use the PRE element |
1982 |
which is rendered in a fixed pitch font. The following is part of the |
1983 |
man page for the Unix ls command: |
1984 |
|
1985 |
<PRE> |
1986 |
The next 9 characters are interpreted as three sets of three |
1987 |
bits each which identify access permissions for owner, |
1988 |
group, and others as follows: |
1989 |
|
1990 |
+------------------ 0400 read by owner (<B>r</B> or <B>-</B>) |
1991 |
| +---------------- 0200 write by owner (<B>w</B> or <B>-</B>) |
1992 |
| | +-------------- 0100 execute (search directory) by owner |
1993 |
|
1994 |
|
1995 |
Internet Draft 35 November 1993 |
1996 |
HTML+ Document Format Raggett |
1997 |
|
1998 |
|
1999 |
| | | (<B>x</B>, <B>s</B>, <B>S</N>, or <B>-</B>) |
2000 |
| | | +------------ 0040 read by group (<B>r</B> or <B>-</B>) |
2001 |
| | | | +---------- 0020 write by group (<B>w</B> or <B>-</B>) |
2002 |
| | | | | +-------- 0010 execute/search by group |
2003 |
| | | | | | (<B>x</B>, <B>s</B>, <B>S</B>, or <B>-</B>) |
2004 |
| | | | | | +------ 0004 read by others (<B>r</B> or <B>-</B>) |
2005 |
| | | | | | | +---- 0002 write by others (<B>w</B> or <B>-</B>) |
2006 |
| | | | | | | | +-- 0001 execute/search by others |
2007 |
| | | | | | | | | (<B>x</B>, <B>t</B>, <B>T</B>, or <B>-</B>) |
2008 |
| | | | | | | | | |
2009 |
r w x r w x r w x |
2010 |
|
2011 |
</PRE> |
2012 |
|
2013 |
This is rendered as |
2014 |
|
2015 |
The next 9 characters are interpreted as three sets of three |
2016 |
bits each which identify access permissions for owner, |
2017 |
group, and others as follows: |
2018 |
|
2019 |
+------------------ 0400 read by owner (r or -) |
2020 |
| +---------------- 0200 write by owner (w or -) |
2021 |
| | +-------------- 0100 execute (search directory) by owner |
2022 |
| | | (x, s, S, or -) |
2023 |
| | | +------------ 0040 read by group (r or -) |
2024 |
| | | | +---------- 0020 write by group (w or -) |
2025 |
| | | | | +-------- 0010 execute/search by group |
2026 |
| | | | | | (x, s, S, or -) |
2027 |
| | | | | | +------ 0004 read by others (r or -) |
2028 |
| | | | | | | +---- 0002 write by others (w or -) |
2029 |
| | | | | | | | +-- 0001 execute/search by others |
2030 |
| | | | | | | | | (x, t, T, or -) |
2031 |
| | | | | | | | | |
2032 |
r w x r w x r w x |
2033 |
|
2034 |
|
2035 |
The SEE ALSO section of the Unix manual pages can be processed to make |
2036 |
references to other manual pages into hypertext buttons using the <A> |
2037 |
element (see section 5.2). The example shows how character emphasis can |
2038 |
be added to literal or preformatted text. |
2039 |
|
2040 |
12 Mathematical Equations |
2041 |
|
2042 |
Currently, the best way of including equations in HTML documents is to |
2043 |
first write the document in LaTeX and then use the latex2html filter to |
2044 |
create the corresponding HTML document, together with the equations as |
2045 |
a number of bitmap files. The previous draft of the HTML+ specification |
2046 |
described a way of embedding LaTeX equations in HTML+ documents. |
2047 |
Unfortunately, it now seems too cumbersome to form a practical |
2048 |
solution, and has been dropped. |
2049 |
|
2050 |
|
2051 |
|
2052 |
Internet Draft 36 November 1993 |
2053 |
HTML+ Document Format Raggett |
2054 |
|
2055 |
|
2056 |
The following is a preliminary proposal for representing equations |
2057 |
directly as HTML+ using an SGML-based notation, inspired by the |
2058 |
approach taken by LaTeX. It is intended to cover the majority of users |
2059 |
needs, rather than aiming for complete coverage. This makes it |
2060 |
practical to use a simplified notation compared with richer notations, |
2061 |
e.g. the ISO 12083 Maths DTD. An experimental browser supporting the |
2062 |
MATH element is being developed at CERN. |
2063 |
|
2064 |
Consider the equation: |
2065 |
-st |
2066 |
H(s) = integral from 0 to infinity of e h(t) dt |
2067 |
|
2068 |
This can be represented as: |
2069 |
|
2070 |
<math> |
2071 |
H(s) = ∫<sub>0</sub><sup>∞</sup> |
2072 |
e<sup>-st</sup> h(t) dt |
2073 |
</math> |
2074 |
|
2075 |
The mathematical symbols are given with their standard ISO entity |
2076 |
names. SUB and SUP are used to specify subscripts and superscripts. For |
2077 |
integral signs and related operators, the subscript/superscript text is |
2078 |
centered over the symbol, otherwise it appears to the right as shown in |
2079 |
the preceding example. The BOX and OVER elements allow you to define |
2080 |
more complex equations, as in: |
2081 |
|
2082 |
dV V - V |
2083 |
out ( Kappa ( in out)) |
2084 |
C ----- = I tanh( -------------------) |
2085 |
dt b ( 2 ) |
2086 |
|
2087 |
which is represented by: |
2088 |
|
2089 |
<math> |
2090 |
C <box>dV<sub>out</sub><over>dt</box> = I<sub>b</sub> |
2091 |
&tanh;(<box>κ(V<sub>in</sub> - V<sub>out</sub>) |
2092 |
<over>2</box>) |
2093 |
</math> |
2094 |
|
2095 |
The BOX element can be used to generally group items and can be thought |
2096 |
of as non-printing parentheses. The OVER element is optional and |
2097 |
divides the box into numerator and denomina- tor. The ARRAY element is |
2098 |
used to specify arrays for expressions like: |
2099 |
|
2100 |
( |x x | ) |
2101 |
( | 11 12| ) |
2102 |
( | | ) |
2103 |
( |x x | ) |
2104 |
( | 21 22| ) |
2105 |
( ) |
2106 |
( y ) |
2107 |
|
2108 |
|
2109 |
Internet Draft 37 November 1993 |
2110 |
HTML+ Document Format Raggett |
2111 |
|
2112 |
|
2113 |
( ) |
2114 |
( z ) |
2115 |
|
2116 |
The ARRAY element has a single attribute ALIGN which specifies the |
2117 |
number of columns and the alignment of items within the columns. For |
2118 |
each column there is a single letter that specifies how items in that |
2119 |
column should be positioned: c for centered, l for flush left or r for |
2120 |
flush right. Each item in the array must follow an <ITEM> element. |
2121 |
|
2122 |
The preceding example is represented by: |
2123 |
|
2124 |
<math> |
2125 |
(<array align="c"> <item> |
2126 |
&ldet;<array align="cc"> |
2127 |
<item>x<sub>11</sub> |
2128 |
<item>x<sub>12</sub> |
2129 |
<item>x<sub>21</sub> |
2130 |
<item>x<sub>22</sub> |
2131 |
</array><rd>&rdet; |
2132 |
<item> y <item> z |
2133 |
</array>) |
2134 |
</math> |
2135 |
|
2136 |
The browser is responsible for working out the vertical and horizontal |
2137 |
spacing required for the array. Parentheses are stretched to match the |
2138 |
size of the array. Arrays can be used only in the context of the MATH |
2139 |
element. The TABLE element should be used for other contexts. |
2140 |
|
2141 |
Spaces are significant within the MATH element, and used for |
2142 |
disambiguation, as can be seen in the following two examples: |
2143 |
|
2144 |
integral from i to j of x ∫<sub>i</sub>i<sup>j</sup> x |
2145 |
|
2146 |
j |
2147 |
integral of x ∫ <sub>i</sub>i<sup>j</sup>x |
2148 |
i |
2149 |
|
2150 |
Authors can adjust the default horizontal spacing with the ISO |
2151 |
entities:   for thin space (1/6 em) and   for hair space. |
2152 |
Horizontal, diagonal and vertical ellipsis are possible with … |
2153 |
&dellip; and ⋮ respectively. Common functions like sin, log and |
2154 |
tanh should be rendered in a non-italic font. These functions are |
2155 |
defined by their entity namesakes. Additional elements are needed to |
2156 |
represent roots and for over and under lining. |
2157 |
|
2158 |
An open question is how to render maths on dumb terminals. One approach |
2159 |
is to translate into an existing convention such as Mathematica. |
2160 |
Another is to write equations as they would be spoken aloud. For GUI |
2161 |
displays, browsers need to be able to show characters in at least two |
2162 |
point sizes as well as being able to stretch parentheses and integral |
2163 |
signs etc. to various sizes. The processing time needed to size and |
2164 |
|
2165 |
|
2166 |
Internet Draft 38 November 1993 |
2167 |
HTML+ Document Format Raggett |
2168 |
|
2169 |
|
2170 |
position symbols suggests that caching may be useful to speed up |
2171 |
subsequent scrolling and refresh operations. |
2172 |
|
2173 |
Comments from mathematicians are welcomed. Widespread support for |
2174 |
formulae is likely to be delayed until most platforms support the |
2175 |
relevant symbols fonts (or Unicode). |
2176 |
|
2177 |
13 Indexing |
2178 |
|
2179 |
A good index plays an important role in helping you find your way to |
2180 |
the material you need. It allows you to type in one or more keywords to |
2181 |
see a list of matching topics. The ability to view an index directly |
2182 |
allows you to gain a feeling for what is covered, and lets you dip in |
2183 |
and out of the associated document. Full text indexes like WAIS are |
2184 |
easy to create, but don't give you this flexibility since the index |
2185 |
itself cannot be viewed directly. |
2186 |
|
2187 |
Generating a conventional index for a document is a skilled task, and |
2188 |
HTML+ allows authors to include directives for automatically creating |
2189 |
hypertext indexes. These directives can be included in many HTML+ |
2190 |
elements, such as headers, paragraphs and character emphasis using the |
2191 |
INDEX attribute. This allows each such element to be referenced in the |
2192 |
index under primary or secondary keys, e.g. |
2193 |
|
2194 |
<h3 id="z23" index="Radiation damage/shielding from as difficult"> |
2195 |
Radiation shielding</h3> |
2196 |
|
2197 |
This can be used to generate an index like: |
2198 |
|
2199 |
Radiation damage |
2200 |
classical target theory |
2201 |
dominance of |
2202 |
in molecular mills |
2203 |
shielding from as difficult |
2204 |
simple lifetime model |
2205 |
track-structure lifetime model |
2206 |
|
2207 |
Radicals |
2208 |
and so on ... |
2209 |
|
2210 |
In many cases, a given key will be associated with more than one part |
2211 |
of the document. In this case you can either use secondary keys to |
2212 |
disambiguate the references, as shown above, or allow the indexing |
2213 |
program to generate its own names for each reference, e.g. (a), (b), |
2214 |
(c), ... |
2215 |
|
2216 |
The indexing program creates an HTML+ file that can then be linked to |
2217 |
the documents it was produced from. The program may also generate a |
2218 |
list of references from occurrences of the CITE element. These can be |
2219 |
simply ordered alphabetically. Sophisticated bibliographic references |
2220 |
are beyond the scope of HTML+ as they require a much richer system of |
2221 |
|
2222 |
|
2223 |
Internet Draft 39 November 1993 |
2224 |
HTML+ Document Format Raggett |
2225 |
|
2226 |
|
2227 |
markup. |
2228 |
|
2229 |
14 Document declarations |
2230 |
|
2231 |
It is recommended that HTML+ documents start with the following |
2232 |
external identifier, indicating that the document conforms to the HTML+ |
2233 |
DTD. This will ensure that other SGML parsers can process HTML+ |
2234 |
documents, without needing to include the DTD with each document. |
2235 |
|
2236 |
<!DOCTYPE htmlplus PUBLIC "-//Internet/RFC xxxx//EN"> |
2237 |
|
2238 |
There are several elements that can only occur at the start of the |
2239 |
document before any headers or text elements: |
2240 |
|
2241 |
14.1 HTMLPLUS |
2242 |
|
2243 |
This element if present must follow immediately after the DOCTYPE |
2244 |
declaration. It can be used to disable form filling: |
2245 |
|
2246 |
<htmplus forms=off> |
2247 |
|
2248 |
Another idea is to provide a VERSION attribute for specifying the |
2249 |
version number of HTML+ in used by this document. This would provide an |
2250 |
alternative to including the version number in the public name given |
2251 |
with the DOCTYPE element. |
2252 |
|
2253 |
14.2 The HEAD and BODY elements |
2254 |
|
2255 |
These may be used to delimit the document declarations and document |
2256 |
body with the HEAD and BODY elements respectively, e.g. |
2257 |
|
2258 |
<HEAD> |
2259 |
<ISINDEX> |
2260 |
<LINK REL="Next" HREF="..."> |
2261 |
etc. |
2262 |
</HEAD> |
2263 |
|
2264 |
<BODY> |
2265 |
body elements go here |
2266 |
</BODY> |
2267 |
|
2268 |
14.3 TITLE |
2269 |
|
2270 |
This element is used to define the title of the current document. and |
2271 |
is often used as the win- dow banner for window-based displays. There |
2272 |
may be only one title in any node, and it should identify the content |
2273 |
of the node in a fairly wide context. No markup is permitted within |
2274 |
title text, although character entity references may be used for |
2275 |
accented characters etc. |
2276 |
|
2277 |
14.4 ISINDEX |
2278 |
|
2279 |
|
2280 |
Internet Draft 40 November 1993 |
2281 |
HTML+ Document Format Raggett |
2282 |
|
2283 |
|
2284 |
|
2285 |
The ISINDEX element specifies that the URL given with the HREF |
2286 |
attribute is searchable, e.g. <ISINDEX HREF="glossary.html">. If the |
2287 |
HREF attribute is missing, the URL for this document is assumed. |
2288 |
Servers may also indicate that the current document is searchable via |
2289 |
the HTTP headers returned with the document. Browsers should allow |
2290 |
users to enter a search string of one or more keywords. When the user |
2291 |
presses the Return key, the browser maps any spaces to "+", and |
2292 |
appends this string to the designated URL and sends it to the server, |
2293 |
e.g. |
2294 |
|
2295 |
URL?word+word+word |
2296 |
|
2297 |
This mechanism has to a large extent been superseded by the FORM |
2298 |
element. There are still good reasons for keeping it in HTML+. In |
2299 |
particular, when reading a long document, having the search field |
2300 |
always visible, makes it much easier for people to enter search |
2301 |
strings, than if they first had to scroll to the part of the document |
2302 |
which included a search form. |
2303 |
|
2304 |
14.5 NEXTID |
2305 |
|
2306 |
The NEXTID element is used by browsers that automatically generate |
2307 |
identifiers for anchor points. It specifies the next identifier to use, |
2308 |
to avoid possible confusion with older (deleted) values, e.g. <nextid |
2309 |
n="id56">. The identifier should take the form of zero or more letters |
2310 |
followed by one or more digits. The numeric suffix should be |
2311 |
incremented to generate succes- sive identifiers. |
2312 |
|
2313 |
14.6 BASE |
2314 |
|
2315 |
The HREF attribute of the BASE element gives the full URL of the |
2316 |
document, and is added by the browser when the user makes a local copy. |
2317 |
Keeping the full URL is essential when subsequently viewing the copied |
2318 |
document as it allows relative URLs to be resolved to their original |
2319 |
references, e.g. <BASE HREF=URL>. |
2320 |
|
2321 |
14.7 LINK |
2322 |
|
2323 |
This provides a means of describing the relationship between this |
2324 |
document and other documents, and has the same attributes as the <A> |
2325 |
element (see section 5.2). A document can have multiple LINK elements. |
2326 |
Typical uses are to indicate authorship, related indexes and |
2327 |
glossaries, older or more recent versions etc. Another use is to |
2328 |
indicate a stylesheet that contains the author's layout preferences, |
2329 |
e.g. for headers and multi-columns displays. Links can also be used to |
2330 |
indicate a static tree structure of documents with relationships such |
2331 |
as "parent", "next" and "previous", e.g. <LINK HREF=URL REL="next"> |
2332 |
|
2333 |
The standard values for the REL attribute are (case insensitive): |
2334 |
|
2335 |
|
2336 |
|
2337 |
Internet Draft 41 November 1993 |
2338 |
HTML+ Document Format Raggett |
2339 |
|
2340 |
|
2341 |
UseIndex The linked document can be used as an index for |
2342 |
this document. There may be several such indexes. |
2343 |
The TITLE attribute should be used to name each |
2344 |
index, e.g. in menus and dialog boxes. This |
2345 |
relationship implies the document is searchable, |
2346 |
and the browser should provide a means for users |
2347 |
to type in one or more keywords. The index may be |
2348 |
a full text WAIS index or a conventional hypertext- |
2349 |
based index. |
2350 |
|
2351 |
UseGlossary The linked document can be used to answer glossary |
2352 |
queries for this document. Typically invoked by a |
2353 |
double click on a word, or by drag selection, |
2354 |
followed by clicking a menu item. There may be |
2355 |
several such indexes. The TITLE attribute should be |
2356 |
used to name each index, e.g. in menus and dialog |
2357 |
boxes. |
2358 |
|
2359 |
Contents The linked document acts as a contents page for a |
2360 |
number of related documents. The browser should make |
2361 |
this available as a button on a toolbar or as an |
2362 |
entry in a navigation menu. The TITLE attribute can |
2363 |
be used to override the default "Contents" name. |
2364 |
|
2365 |
Next The linked document is next on a path of documents. |
2366 |
Browsers should make this available as a button on a |
2367 |
toolbar or as an entry in a navigation menu. |
2368 |
|
2369 |
Previous The linked document is the previous one to the |
2370 |
current document on a path of documents. Browsers |
2371 |
should make this available as a button on a toolbar |
2372 |
or as an entry in a navigation menu. |
2373 |
|
2374 |
Parent The linked document is at the next level up in a |
2375 |
hierarchy of documents. Browsers should make this |
2376 |
available as a button on a toolbar or as an entry |
2377 |
in a navigation menu. There may be several such |
2378 |
parents. The TITLE attribute should be used to |
2379 |
name each such document. |
2380 |
|
2381 |
Bookmark The URL specified by the HREF attribute is a |
2382 |
bookmark, which is named by the TITLE attribute. |
2383 |
Browsers should make these available as buttons on |
2384 |
a toolbar or as entries in a navigation menu. |
2385 |
|
2386 |
Made Defines who is the "maker" of this document. The |
2387 |
HREF attribute should give an appropriate URL e.g. |
2388 |
"mailto:dsr@hplb.hpl.hp.com". Browsers can use |
2389 |
this to allow people to mail or post comments to |
2390 |
the author of the document. |
2391 |
|
2392 |
|
2393 |
|
2394 |
Internet Draft 42 November 1993 |
2395 |
HTML+ Document Format Raggett |
2396 |
|
2397 |
|
2398 |
Help Associates a help document with this node. |
2399 |
|
2400 |
Sometimes it may be useful to specify a hypertext link separately from |
2401 |
the text associated with the start of the link. For example a sidebar |
2402 |
could be associated with a given paragraph as follows: |
2403 |
|
2404 |
<LINK IDREF="z36" REL="Sidebar" HREF="sidebar.html"> |
2405 |
|
2406 |
The IDREF attribute localizes the link to an element in the current |
2407 |
document with a specific identifier (as defined with the ID attribute). |
2408 |
In the absence of the IDREF attribute, the link is associated with the |
2409 |
current document as a whole. |
2410 |
|
2411 |
Other suggestions for LINK currently lie outside this proposal, pending |
2412 |
further work. In some cases, LINK elements may be implied by the |
2413 |
context in which this document was reached. This is explained in |
2414 |
section 15. |
2415 |
|
2416 |
15 Dealing with Large Documents |
2417 |
|
2418 |
Many classic works are available over the Internet, now that their |
2419 |
copyright has expired. Downloading these as large documents is time |
2420 |
consuming, and a better strategy is to split them up into smaller |
2421 |
pieces. Other people have lots of paper documents and wish to make them |
2422 |
available electronically. While it is easy to scan these documents in, |
2423 |
the size of the images makes them tedious to transfer over the network. |
2424 |
Once again, time can be saved by avoiding the need to download the |
2425 |
whole document at once. HTML+ makes it easy to do this with explicit or |
2426 |
implicit links between the pieces that make up the complete document. |
2427 |
|
2428 |
A book might have the following pieces: |
2429 |
|
2430 |
o `Cover page' |
2431 |
|
2432 |
o About the author |
2433 |
|
2434 |
o Copyright and publishing details |
2435 |
|
2436 |
o Table of contents |
2437 |
|
2438 |
o Foreword |
2439 |
|
2440 |
o Preface |
2441 |
|
2442 |
o Acknowledgement |
2443 |
|
2444 |
o One or more chapters |
2445 |
|
2446 |
o One or more appendices |
2447 |
|
2448 |
o Bibliography |
2449 |
|
2450 |
|
2451 |
Internet Draft 43 November 1993 |
2452 |
HTML+ Document Format Raggett |
2453 |
|
2454 |
|
2455 |
|
2456 |
o Glossary |
2457 |
|
2458 |
o Index |
2459 |
|
2460 |
Each of these could be held as separate HTML+ subdocuments. The table |
2461 |
of contents should obviously include hypertext links to other parts of |
2462 |
the book rather than page numbers. You can define a linear sequence |
2463 |
through each of these subdocuments by including LINK elements with |
2464 |
REL=NEXT and REL=PREVIOUS. This will allow readers to read through each |
2465 |
part of the book in turn. You should also include LINKs to the table of |
2466 |
contents (REL=CONTENTS) and other key parts (using REL=BOOKMARK). |
2467 |
|
2468 |
Generating a hypertext version of the index may prove time consuming, |
2469 |
and it may be simpler to offer a full text search facility instead. The |
2470 |
INDEX attribute can be used with many HTML+ elements to facilitate |
2471 |
automatic generation of a conventional looking index, see section 13. |
2472 |
|
2473 |
Implicit links are useful when you want to reuse a given subdocument in |
2474 |
another independent book, and for non-HTML+ formats such as scanned |
2475 |
page images. To define implicit links, you need to first create a HTML+ |
2476 |
document such as a table of contents, and to make each entry into a |
2477 |
hypertext link using the <A> element with the attribute |
2478 |
REL="SUBDOCUMENT". When the user follows one of these links, the |
2479 |
browser scans the current document to locate the next <A> element with |
2480 |
the subdocument relationship. If it reaches the end of the document it |
2481 |
looks for a LINK element with REL=NEXT. This procedure is used to imply |
2482 |
a LINK element in the retrieved subdocument. A similar process is used |
2483 |
to imply a LINK element with REL=PREVIOUS. The other links for the |
2484 |
current document are simply inherited, i.e. any bookmarks, glossary or |
2485 |
index links that hold for the table of contents, also hold for the |
2486 |
subdocument. |
2487 |
|
2488 |
The browser then retrieves the subdocument and merges the implied LINKs |
2489 |
with any that are given explicitly. If the user now presses the "Next" |
2490 |
button on the toolbar (or menu), the browser follows the implicit link |
2491 |
to the next subdocument. The browser needs to look again at the parent |
2492 |
document to find the new next subdocument. This mechanism is difficult |
2493 |
to explain, but simple to write documents for. All that authors need to |
2494 |
do, is to remember to include the subdocument relationship when |
2495 |
defining hypertext links. |
2496 |
|
2497 |
For a hundred page scanned document where each page is held as a |
2498 |
separate file, the "table of contents" is going to be pretty dull, and |
2499 |
there is little point creating it as an HTML+ node. Instead, you should |
2500 |
use an HTTP server which passes the missing LINK elements as header |
2501 |
fields for each page image. The suggested representation for these |
2502 |
header fields uses the same attributes and syntax as the LINK element: |
2503 |
|
2504 |
WWW-Link: REL="Next" HREF="http://info.cern.ch/...." |
2505 |
|
2506 |
|
2507 |
|
2508 |
Internet Draft 44 November 1993 |
2509 |
HTML+ Document Format Raggett |
2510 |
|
2511 |
|
2512 |
There could be several WWW-Link: headers, one for each implied LINK. |
2513 |
This idea puts the burden on the server to supply such links as |
2514 |
appropriate to each requested document. |
2515 |
|
2516 |
16 Acknowledgements |
2517 |
|
2518 |
I would like to thank the many people on the www-talk mailing list who |
2519 |
have contributed to the design of HTML+ and to the management of HP |
2520 |
Labs for their support during this work. |
2521 |
|
2522 |
David Raggett, Hewlett Packard Laboratories, October 1993. |
2523 |
|
2524 |
17 References |
2525 |
|
2526 |
"Hypertext Markup Language (HTML)", Tim Berners-Lee, January 1993. |
2527 |
URL=ftp://info.cern.ch/pub/www/doc/html-spec.ps |
2528 |
or http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html |
2529 |
|
2530 |
"Uniform Resource Locators", Tim Berners-Lee, January 1992. |
2531 |
URL=ftp://info.cern.ch/pub/www/doc/url7a.ps |
2532 |
or http://info.cern.ch/hypertext/WWW/Addressing/Addressing.html |
2533 |
|
2534 |
"Protocol for the Retrieval and Manipulation of Texual and Hypermedia |
2535 |
Information", |
2536 |
Tim Berners-Lee, 1993. |
2537 |
URL=ftp://info.cern.ch/pub/www/doc/http-spec.ps |
2538 |
or http://info.cern.ch/hypertext/WWW/Protocols/HTTP/HTTP2.html |
2539 |
|
2540 |
"The SGML Handbook", Charles F. GoldFarb, pub. 1990 by the Clarendon |
2541 |
Press, Oxford. |
2542 |
|
2543 |
|
2544 |
|
2545 |
|
2546 |
|
2547 |
|
2548 |
|
2549 |
|
2550 |
|
2551 |
|
2552 |
|
2553 |
|
2554 |
|
2555 |
|
2556 |
|
2557 |
|
2558 |
|
2559 |
|
2560 |
|
2561 |
|
2562 |
|
2563 |
|
2564 |
|
2565 |
Internet Draft 45 November 1993 |
2566 |
HTML+ Document Format Raggett |
2567 |
|
2568 |
|
2569 |
Appendix I |
2570 |
========== |
2571 |
|
2572 |
The HTML+ Document Type Definition (DTD). The prelim- |
2573 |
inaries are taken from the HTML DTD and declares the |
2574 |
character set as Latin-1, disables markup minimisation |
2575 |
and sets limits for tag/attribute names to 34 characters, |
2576 |
and attribute values to a maximum of 1024 characters. |
2577 |
|
2578 |
<!SGML "ISO 8879:1986" -- Document Type Definition for the HyperText |
2579 |
Markup Language Plus for use with the World Wide Web application |
2580 |
(HTML+ DTD). These initial settings are take from the HTML DTD. |
2581 |
|
2582 |
NOTE: This is a definition of HTML with respect to |
2583 |
SGML, and assumes an understanding of SGML terms. |
2584 |
-- CHARSET |
2585 |
BASESET "ISO 646:1983//CHARSET |
2586 |
International Reference Version (IRV)//ESC 2/5 4/0" |
2587 |
DESCSET 0 9 UNUSED |
2588 |
9 2 9 |
2589 |
11 2 UNUSED |
2590 |
13 1 13 |
2591 |
14 18 UNUSED |
2592 |
32 95 32 |
2593 |
127 1 UNUSED |
2594 |
BASESET "ISO Registration Number 100//CHARSET |
2595 |
ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1" |
2596 |
DESCSET 128 32 UNUSED |
2597 |
160 95 32 |
2598 |
255 1 UNUSED |
2599 |
|
2600 |
CAPACITY SGMLREF |
2601 |
TOTALCAP 150000 |
2602 |
GRPCAP 150000 |
2603 |
|
2604 |
SCOPE DOCUMENT SYNTAX |
2605 |
SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
2606 |
19 20 21 22 23 24 25 26 27 28 29 30 31 127 255 |
2607 |
BASESET "ISO 646:1983//CHARSET |
2608 |
International Reference Version (IRV)//ESC 2/5 4/0" |
2609 |
DESCSET 0 128 0 |
2610 |
FUNCTION RE 13 |
2611 |
RS 10 |
2612 |
SPACE 32 |
2613 |
TAB SEPCHAR 9 |
2614 |
NAMING LCNMSTRT "" |
2615 |
UCNMSTRT "" |
2616 |
LCNMCHAR ".-" |
2617 |
UCNMCHAR ".-" |
2618 |
NAMECASE GENERAL YES |
2619 |
ENTITY NO |
2620 |
|
2621 |
|
2622 |
Internet Draft 46 November 1993 |
2623 |
HTML+ Document Format Raggett |
2624 |
|
2625 |
|
2626 |
DELIM GENERAL SGMLREF |
2627 |
SHORTREF SGMLREF |
2628 |
NAMES SGMLREF |
2629 |
QUANTITY SGMLREF |
2630 |
NAMELEN 34 |
2631 |
TAGLVL 100 |
2632 |
LITLEN 1024 |
2633 |
GRPGTCNT 150 |
2634 |
GRPCNT 64 |
2635 |
|
2636 |
FEATURES |
2637 |
MINIMIZE |
2638 |
DATATAG NO |
2639 |
OMITTAG NO |
2640 |
RANK NO |
2641 |
SHORTTAG NO |
2642 |
LINK |
2643 |
SIMPLE NO |
2644 |
IMPLICIT NO |
2645 |
EXPLICIT NO |
2646 |
OTHER |
2647 |
CONCUR NO |
2648 |
SUBDOC NO |
2649 |
FORMAL YES |
2650 |
APPINFO NONE |
2651 |
> |
2652 |
<!DOCTYPE HTMLPLUS [ |
2653 |
<!-- DTD for HTML+ |
2654 |
Markup minimisation should be avoided, otherwise the default <!SGML> |
2655 |
declaration is fine. Browsers should be forgiving of markup errors. |
2656 |
|
2657 |
Common Attributes: |
2658 |
|
2659 |
id the id attribute allows authors to name elements such as headers |
2660 |
and paragraphs as potential destinations for links. Note that |
2661 |
links don't specify points, but rather extended objects. |
2662 |
index allows authors to specify how given headers etc should be |
2663 |
indexed as primary or secondary keys, where "/" separates primary |
2664 |
from secondary keys, ";" separates multiple entries |
2665 |
--> |
2666 |
<!-- ENTITY DECLARATIONS |
2667 |
<!ENTITY % foo "X | Y | Z"> is a macro definition for parameters and |
2668 |
in subsequent statements, the string "%foo;" is expanded to "X | Y | Z" |
2669 |
|
2670 |
Various classes of SGML text types: |
2671 |
|
2672 |
#CDATA text which doesn't include markup or entity references |
2673 |
#RCDATA text with entity references but no markup |
2674 |
#PCDATA text occurring in a context in which markup and entity |
2675 |
references may occur. |
2676 |
--> |
2677 |
|
2678 |
|
2679 |
Internet Draft 47 November 1993 |
2680 |
HTML+ Document Format Raggett |
2681 |
|
2682 |
|
2683 |
<!ENTITY % URL "CDATA" -- a URL or URN designating a hypertext node --> |
2684 |
<!ENTITY % emph1 "I|B|U|S|SUP|SUB|TT"> |
2685 |
<!ENTITY % emph2 "Q|CITE|PERSON|ACRONYM|ABBREV|EM|STRONG"> |
2686 |
<!ENTITY % emph3 "CMD|ARG|KBD|VAR|DFN|CODE|SAMP|REMOVED|ADDED"> |
2687 |
<!ENTITY % emph "%emph1;|%emph2;|%emph3;"> |
2688 |
<!ENTITY % misc "RENDER|FOOTNOTE|MARGIN|INPUT|TEXTAREA|SELECT"> |
2689 |
<!ENTITY % text "#PCDATA|A|IMG|IMAGE|%emph;|%misc;|BR|CHANGED"> |
2690 |
<!ENTITY % paras "P|PRE|LIT|FIG"> |
2691 |
<!ENTITY % lists "UL|OL|DL|MENU|DIR"> |
2692 |
<!ENTITY % block "TABLE|FORM|MATH|NOTE|QUOTE|ABSTRACT|BYLINE|HR"> |
2693 |
<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> |
2694 |
<!ENTITY % table "%text;|P|%heading;|%lists;"> |
2695 |
<!ENTITY % math "BOX|%text;"> |
2696 |
<!ENTITY % main "%heading;|%block;|%lists;|%paras;|%text;"> |
2697 |
<!ENTITY % setup "(TITLE? & ISINDEX? & NEXTID? & LINK* & BASE?)"> |
2698 |
|
2699 |
<!-- Basic types of elements: |
2700 |
<!ELEMENT tagname - - CONTENT> elements needing end tags |
2701 |
<!ELEMENT tagname - O CONTENT> elements with optional end tags |
2702 |
<!ELEMENT tagname - O EMPTY> elements without content or end tags |
2703 |
|
2704 |
The content definition is: |
2705 |
- an entity definition as defined above |
2706 |
- a tagname |
2707 |
- (brackets enclosing the above) |
2708 |
These may be combined with the operators: |
2709 |
A* A occurs zero or more times |
2710 |
A+ A occurs one or more times |
2711 |
A|B implies either A or B |
2712 |
A? A occurs zero or one times |
2713 |
A,B implies first A then B |
2714 |
A&B either or both A and B (in either order) |
2715 |
--> |
2716 |
|
2717 |
<!ELEMENT HTMLPLUS O O ((HEAD, BODY) | ((%setup;), (%main;)*))> |
2718 |
<!ATTLIST HTMLPLUS |
2719 |
version CDATA #IMPLIED -- the HTML+ version number -- |
2720 |
forms (on|off) on -- used to disable form filling --> |
2721 |
|
2722 |
<!ELEMENT HEAD - - (%setup;) -- delimits document wide properties --> |
2723 |
<!ELEMENT BODY - - (%main;)* -- delimits the document's body --> |
2724 |
|
2725 |
<!-- Document title --> |
2726 |
<!ELEMENT TITLE - - (#PCDATA | %emph;)+> |
2727 |
<!ATTLIST TITLE |
2728 |
id ID #IMPLIED -- link destination -- |
2729 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2730 |
index CDATA #IMPLIED -- entries for index compilation --> |
2731 |
|
2732 |
<!-- Document headers --> |
2733 |
<!ELEMENT (%heading;) - - (#PCDATA | %emph;)+> |
2734 |
|
2735 |
|
2736 |
Internet Draft 48 November 1993 |
2737 |
HTML+ Document Format Raggett |
2738 |
|
2739 |
|
2740 |
<!ATTLIST (%heading;) |
2741 |
id ID #IMPLIED -- defines link destination -- |
2742 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2743 |
index CDATA #IMPLIED -- entries for index compilation --> |
2744 |
|
2745 |
<!-- character emphasis --> |
2746 |
<!ELEMENT (%emph;) - - (%text;)*> |
2747 |
<!ATTLIST (%emph;) |
2748 |
id ID #IMPLIED -- link destination -- |
2749 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2750 |
index CDATA #IMPLIED -- entries for index compilation --> |
2751 |
|
2752 |
<!ELEMENT (FOOTNOTE|MARGIN) - - (%text;)* -(FOOTNOTE|MARGIN)> |
2753 |
<!ATTLIST (FOOTNOTE|MARGIN) |
2754 |
id ID #IMPLIED -- link destination -- |
2755 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2756 |
index CDATA #IMPLIED -- entries for index compilation --> |
2757 |
|
2758 |
<!ELEMENT RENDER -O (EMPTY) -- how to render unknown elements --> |
2759 |
<!ATTLIST RENDER |
2760 |
tag CDATA #IMPLIED -- tag name -- |
2761 |
style CDATA #IMPLIED -- comma separated list of styles --> |
2762 |
|
2763 |
<!-- Paragraphs which act as containers for the following text --> |
2764 |
<!ELEMENT P - O (L|%text;)+> |
2765 |
<!ATTLIST P |
2766 |
id ID #IMPLIED -- link destination -- |
2767 |
align (left|indent|center|right|justify) left |
2768 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2769 |
index CDATA #IMPLIED -- entries for index compilation --> |
2770 |
<!ELEMENT L - O (%text;)+> |
2771 |
<!ATTLIST L |
2772 |
id ID #IMPLIED -- link destination -- |
2773 |
align (left|indent|center|right|justify) left |
2774 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2775 |
index CDATA #IMPLIED -- entries for index compilation --> |
2776 |
|
2777 |
<!ELEMENT HR - O EMPTY -- Horizontal Rule --> |
2778 |
<!ELEMENT BR - O EMPTY -- line break in normal text--> |
2779 |
|
2780 |
<!ELEMENT PRE - - (TAB|%text;)+ -- preformatted fixed pitch text --> |
2781 |
<!ATTLIST PRE |
2782 |
id ID #IMPLIED -- link destination -- |
2783 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2784 |
index CDATA #IMPLIED -- entries for index compilation --> |
2785 |
|
2786 |
<!ELEMENT LIT - - (TAB|%text;)+ -- literal variable pitch text --> |
2787 |
<!ATTLIST LIT |
2788 |
id ID #IMPLIED -- link destination -- |
2789 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2790 |
index CDATA #IMPLIED -- entries for index compilation --> |
2791 |
|
2792 |
|
2793 |
Internet Draft 49 November 1993 |
2794 |
HTML+ Document Format Raggett |
2795 |
|
2796 |
|
2797 |
|
2798 |
<!ELEMENT TAB - O EMPTY -- tabs for imported text --> |
2799 |
<!ATTLIST TAB |
2800 |
at NUMBER #IMPLIED -- measured in widths of an M -- |
2801 |
align (left|center|right|decimal) left -- tab alignment --> |
2802 |
|
2803 |
<!ELEMENT QUOTE - - (P|%text;)* -- block quote --> |
2804 |
<!ATTLIST QUOTE |
2805 |
id ID #IMPLIED -- link destination -- |
2806 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2807 |
index CDATA #IMPLIED -- entries for index compilation --> |
2808 |
|
2809 |
<!ELEMENT ABSTRACT - - (P|%text;)* -- document summary --> |
2810 |
<!ATTLIST ABSTRACT |
2811 |
id ID #IMPLIED -- link destination -- |
2812 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2813 |
index CDATA #IMPLIED -- entries for index compilation --> |
2814 |
<!ELEMENT BYLINE - - (P|%text;)* -- info on author --> |
2815 |
<!ATTLIST BYLINE |
2816 |
id ID #IMPLIED -- link destination -- |
2817 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2818 |
index CDATA #IMPLIED -- entries for index compilation --> |
2819 |
<!ELEMENT NOTE - - (P|%text;)* -- admonishment --> |
2820 |
<!ATTLIST NOTE |
2821 |
id ID #IMPLIED -- link destination -- |
2822 |
role CDATA #IMPLIED -- eg Tip, Note, Warning, or Error -- |
2823 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2824 |
index CDATA #IMPLIED -- entries for index compilation --> |
2825 |
|
2826 |
<!ELEMENT (ADDRESS|BLOCKQUOTE) - - (%text;|P)* -- needed by HTML --> |
2827 |
|
2828 |
<!-- Lists which can be nested --> |
2829 |
<!ELEMENT OL - - (LI | UL | OL)+ -- ordered list --> |
2830 |
<!ATTLIST OL |
2831 |
id ID #IMPLIED |
2832 |
compact (compact) #IMPLIED |
2833 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2834 |
index CDATA #IMPLIED -- entries for index compilation --> |
2835 |
<!ELEMENT UL - - (LI | UL | OL)+ -- unordered list --> |
2836 |
<!ATTLIST UL |
2837 |
id ID #IMPLIED -- link destination -- |
2838 |
compact (compact) #IMPLIED -- reduced interitem spacing -- |
2839 |
plain (plain) #IMPLIED -- suppress bullets -- |
2840 |
wrap (vert|horiz) vert -- multicolumn list wrap style -- |
2841 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2842 |
index CDATA #IMPLIED -- entries for index compilation --> |
2843 |
|
2844 |
<!-- List items for UL and OL lists --> |
2845 |
<!ELEMENT LI - O (DL|P|%text;)+> |
2846 |
<!ATTLIST LI |
2847 |
id ID #IMPLIED |
2848 |
|
2849 |
|
2850 |
Internet Draft 50 November 1993 |
2851 |
HTML+ Document Format Raggett |
2852 |
|
2853 |
|
2854 |
src %URL; #IMPLIED -- icon for use in place of bullet -- |
2855 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2856 |
index CDATA #IMPLIED -- entries for index compilation --> |
2857 |
|
2858 |
<!ELEMENT MENU - - (LI)* -- plain single column list --> |
2859 |
<!ATTLIST MENU |
2860 |
id ID #IMPLIED |
2861 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2862 |
index CDATA #IMPLIED -- entries for index compilation --> |
2863 |
<!ELEMENT DIR - - (LI)* -- plain multi column list --> |
2864 |
<!ATTLIST DIR |
2865 |
id ID #IMPLIED |
2866 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2867 |
index CDATA #IMPLIED -- entries for index compilation --> |
2868 |
|
2869 |
<!-- Definition Lists (terms + definitions) --> |
2870 |
<!ELEMENT DL - - (DT+,DD)+> |
2871 |
<!ATTLIST DL |
2872 |
id ID #IMPLIED |
2873 |
compact (compact) #IMPLIED |
2874 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2875 |
index CDATA #IMPLIED -- entries for index compilation --> |
2876 |
|
2877 |
<!ELEMENT DT - O (%text;)+ -- term text -- > |
2878 |
<!ELEMENT DD - O (P|UL|OL|DL|%text;)+ -- definition text -- > |
2879 |
<!ATTLIST (DT|DD) |
2880 |
id ID #IMPLIED |
2881 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2882 |
index CDATA #IMPLIED -- entries for index compilation --> |
2883 |
|
2884 |
<!ELEMENT CAPTION - - (%text;)+ -- table or figure caption --> |
2885 |
<!ATTLIST CAPTION |
2886 |
id ID #IMPLIED |
2887 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2888 |
index CDATA #IMPLIED -- entries for index compilation --> |
2889 |
|
2890 |
<!ELEMENT TABLE - - (CAPTION?, (TH|TD|TR)*) -- mixed headers & data --> |
2891 |
<!ATTLIST TABLE |
2892 |
id ID #IMPLIED |
2893 |
border (border) #IMPLIED -- draw borders -- |
2894 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2895 |
index CDATA #IMPLIED -- entries for index compilation --> |
2896 |
|
2897 |
<!ELEMENT TH - O (%table;)* -- a header cell --> |
2898 |
<!ATTLIST TH |
2899 |
colspan NUMBER 1 -- columns spanned -- |
2900 |
rowspan NUMBER 1 --. rows spanned -- |
2901 |
align (left|center|right) center -- alignment in cell -- |
2902 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
2903 |
<!ELEMENT TD - O (%table;)* -- a data cell --> |
2904 |
<!ATTLIST TD |
2905 |
|
2906 |
|
2907 |
Internet Draft 51 November 1993 |
2908 |
HTML+ Document Format Raggett |
2909 |
|
2910 |
|
2911 |
colspan NUMBER 1 -- columns spanned -- |
2912 |
rowspan NUMBER 1 --. rows spanned -- |
2913 |
align (left|center|right) center -- alignment in cell -- |
2914 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
2915 |
<!ELEMENT TR - O (EMPTY) -- row separator --> |
2916 |
<!ATTLIST TR id ID #IMPLIED> |
2917 |
|
2918 |
<!ELEMENT FORM - - (MH, (%main;)*) -(FORM) -- forms can't be nested --> |
2919 |
<!ATTLIST FORM |
2920 |
id ID #IMPLIED |
2921 |
action %URL; #IMPLIED -- defaults for URL for current doc -- |
2922 |
method CDATA #IMPLIED -- PUT, POST, DELETE etc. -- |
2923 |
lang CDATA #IMPLIED -- ISO language abbreviation -- |
2924 |
index CDATA #IMPLIED -- entries for index compilation --> |
2925 |
|
2926 |
<!ELEMENT MH - - CDATA -- one or more RFC 822 header fields --> |
2927 |
<!ATTLIST MH hidden (hidden) #IMPLIED -- hide mail headers from view --> |
2928 |
|
2929 |
<!ELEMENT INPUT - O EMPTY> |
2930 |
<!ATTLIST INPUT |
2931 |
name CDATA #IMPLIED -- attribute name -- |
2932 |
type CDATA #IMPLIED -- a wide variety of field types -- |
2933 |
size CDATA #IMPLIED -- visible size of text fields -- |
2934 |
min NUMBER #IMPLIED -- for range controls -- |
2935 |
max NUMBER #IMPLIED -- for range controls or text fields -- |
2936 |
value CDATA #IMPLIED -- attribute value (altered by user) -- |
2937 |
checked (checked) #IMPLIED -- check boxes and radio buttons -- |
2938 |
disabled (disabled) #IMPLIED -- if grayed out -- |
2939 |
error (error) #IMPLIED -- if in error -- |
2940 |
src %URL; #IMPLIED -- for certain fields e.g. IMAGEs -- |
2941 |
align (top|middle|bottom) top -- for IMAGE fields only -- |
2942 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
2943 |
|
2944 |
<!ELEMENT TEXTAREA - - CDATA -- multi-line text fields --> |
2945 |
<!ATTLIST TEXTAREA |
2946 |
name CDATA #IMPLIED -- attribute name -- |
2947 |
cols NUMBER #IMPLIED -- visible width in characters -- |
2948 |
rows NUMBER #IMPLIED -- visible height in characters -- |
2949 |
disabled (disabled) #IMPLIED -- if grayed out -- |
2950 |
error (error) #IMPLIED -- if in error -- |
2951 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
2952 |
|
2953 |
<!ELEMENT SELECT - - (OPTION+) -- combo style selection lists --> |
2954 |
<!ATTLIST SELECT |
2955 |
name CDATA #IMPLIED -- attribute name -- |
2956 |
several (several) #IMPLIED -- permits multiple selections -- |
2957 |
error (error) #IMPLIED -- if in error -- |
2958 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
2959 |
|
2960 |
<!ELEMENT OPTION - - CDATA> |
2961 |
<!ATTLIST OPTION |
2962 |
|
2963 |
|
2964 |
Internet Draft 52 November 1993 |
2965 |
HTML+ Document Format Raggett |
2966 |
|
2967 |
|
2968 |
selected (selected) #IMPLIED -- if initially selected -- |
2969 |
disabled (disabled) #IMPLIED -- if grayed out -- |
2970 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
2971 |
|
2972 |
<!ELEMENT FIG - - (CAPTION?,(%text;)*)> |
2973 |
<!ATTLIST FIG |
2974 |
id ID #IMPLIED |
2975 |
align (left|center|right|float) float -- position -- |
2976 |
ismap (ismap) #IMPLIED -- server handles mouse clicks/drags -- |
2977 |
src %URL; #IMPLIED -- link to image data -- |
2978 |
index CDATA #IMPLIED -- entries for index compilation -- |
2979 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
2980 |
<!ELEMENT IMG - O EMPTY> |
2981 |
<!ATTLIST IMG |
2982 |
src %URL; #REQUIRED -- where to get image data -- |
2983 |
align (top|middle|bottom) top -- top, middle or bottom -- |
2984 |
seethru CDATA #IMPLIED -- for chromakey -- |
2985 |
alt CDATA #IMPLIED -- description for text-only displays-- |
2986 |
ismap (ismap) #IMPLIED -- send mouse clicks/drags to server--> |
2987 |
<!ELEMENT IMAGE - - (A|%text;)*> |
2988 |
<!ATTLIST IMAGE |
2989 |
src %URL; #REQUIRED -- where to get image data -- |
2990 |
align (top|middle|bottom) top -- top, middle or bottom -- |
2991 |
seethru CDATA #IMPLIED -- for transparency -- |
2992 |
ismap (ismap) #IMPLIED -- send mouse clicks/drags to server-- |
2993 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
2994 |
|
2995 |
<!-- proposal for representing formulae --> |
2996 |
<!ELEMENT MATH - - (%math;)*> |
2997 |
<!ATTLIST MATH id ID #IMPLIED> |
2998 |
<!ELEMENT BOX - - ((%math;)*, OVER?, (%math;)*)> |
2999 |
<!ELEMENT OVER - O EMPTY> |
3000 |
|
3001 |
<!ELEMENT CHANGED - O EMPTY -- for change bars --> |
3002 |
<!ATTLIST CHANGED -- one of id and idref is always required -- |
3003 |
id ID #IMPLIED -- signals start of changes -- |
3004 |
idref IDREF #IMPLIED -- signals end of changes --> |
3005 |
|
3006 |
<!-- Hypertext Links from points within document nodes --> |
3007 |
<!ELEMENT A - - (#PCDATA | IMG | EM | EMBED)*> |
3008 |
<!ATTLIST A |
3009 |
id ID #IMPLIED -- as target of link -- |
3010 |
name CDATA #IMPLIED -- needed by HTML-- |
3011 |
shape CDATA #IMPLIED -- points for shaped buttons -- |
3012 |
href %URL; #IMPLIED -- destination node -- |
3013 |
rel CDATA #IMPLIED -- forward relationship type -- |
3014 |
rev CDATA #IMPLIED -- reverse relationship type -- |
3015 |
methods CDATA #IMPLIED -- supported public methods -- |
3016 |
effect CDATA #IMPLIED -- replace/new/overlay/embed -- |
3017 |
print CDATA #IMPLIED -- reference/footnote/section -- |
3018 |
title CDATA #IMPLIED -- when otherwise unavailable -- |
3019 |
|
3020 |
|
3021 |
Internet Draft 53 November 1993 |
3022 |
HTML+ Document Format Raggett |
3023 |
|
3024 |
|
3025 |
type CDATA #IMPLIED -- for presentation cues -- |
3026 |
size NAMES #IMPLIED -- for progress cues -- |
3027 |
lang CDATA #IMPLIED -- ISO language abbreviation --> |
3028 |
<!-- Other kinds of relationships between documents --> |
3029 |
<!ELEMENT LINK - O EMPTY> |
3030 |
|
3031 |
<!ATTLIST LINK |
3032 |
idref IDREF #IMPLIED -- starting point -- |
3033 |
href %URL; #IMPLIED -- destination node -- |
3034 |
rel CDATA #IMPLIED -- forward relationship type -- |
3035 |
rev CDATA #IMPLIED -- reverse relationship type -- |
3036 |
methods CDATA #IMPLIED -- supported public methods --> |
3037 |
|
3038 |
<!-- Original document URL for resolving relative URLs --> |
3039 |
<!ELEMENT BASE - O EMPTY> |
3040 |
<!ATTLIST BASE HREF %URL; #IMPLIED> |
3041 |
|
3042 |
<!-- Signifies the document's URL accepts queries --> |
3043 |
<!ELEMENT ISINDEX - O (EMPTY)> |
3044 |
<!ATTLIST ISINDEX href %URL; #IMPLIED |
3045 |
-- defaults to document's URL --> |
3046 |
|
3047 |
<!-- For use with autonumbering editors - don't reuse ids, |
3048 |
allocate next one starting from this one --> |
3049 |
<!ELEMENT NEXTID - O (EMPTY)> |
3050 |
<!ATTLIST NEXTID N NAME #REQUIRED> |
3051 |
|
3052 |
<!-- Mnemonic character entities for 8 bit ANSI Latin-1 |
3053 |
ignore when using other character sets --> |
3054 |
<!ENTITY iexcl "¡" -- inverted exclamation mark --> |
3055 |
<!ENTITY cent "¡" -- cent sign --> |
3056 |
<!ENTITY pound "£" -- pound sign --> |
3057 |
<!ENTITY yen "¥" -- yen sign --> |
3058 |
<!ENTITY brvbar "¦" -- broken vertical bar --> |
3059 |
<!ENTITY sect "§" -- section sign --> |
3060 |
<!ENTITY copy "©" -- copyright sign --> |
3061 |
<!ENTITY laquo "«" -- angle quotation mark, left --> |
3062 |
<!ENTITY raquo "»" -- angle quotation mark, right --> |
3063 |
<!ENTITY not "¬" -- negation sign --> |
3064 |
<!ENTITY reg "®" -- circled R registered sign --> |
3065 |
<!ENTITY deg "°" -- degree sign --> |
3066 |
<!ENTITY plusmn "±" -- plus or minus sign --> |
3067 |
<!ENTITY sup2 "²" -- superscript 2 --> |
3068 |
<!ENTITY sup3 "³" -- superscript 3 --> |
3069 |
<!ENTITY micro "µ" -- micro sign --> |
3070 |
<!ENTITY para "¶" -- paragraph sign --> |
3071 |
<!ENTITY sup1 "¹" -- superscript 1 --> |
3072 |
<!ENTITY middot "·" -- center dot --> |
3073 |
<!ENTITY frac14 "¼" -- fraction 1/4 --> |
3074 |
<!ENTITY frac12 "½" -- fraction 1/2 --> |
3075 |
<!ENTITY iquest "¿" -- inverted question mark --> |
3076 |
|
3077 |
|
3078 |
Internet Draft 54 November 1993 |
3079 |
HTML+ Document Format Raggett |
3080 |
|
3081 |
|
3082 |
<!ENTITY frac34 "¾" -- fraction 3/4 --> |
3083 |
<!ENTITY AElig "Æ" -- capital AE diphthong (ligature) --> |
3084 |
<!ENTITY Aacute "Á" -- capital A, acute accent --> |
3085 |
<!ENTITY Acirc "Â" -- capital A, circumflex accent --> |
3086 |
<!ENTITY Agrave "À" -- capital A, grave accent --> |
3087 |
<!ENTITY Aring "Å" -- capital A, ring --> |
3088 |
<!ENTITY Atilde "Ã" -- capital A, tilde --> |
3089 |
<!ENTITY Auml "Ä" -- capital A, dieresis or umlaut mark --> |
3090 |
<!ENTITY Ccedil "Ç" -- capital C, cedilla --> |
3091 |
<!ENTITY ETH "Ð" -- capital Eth, Icelandic --> |
3092 |
<!ENTITY Eacute "É" -- capital E, acute accent --> |
3093 |
<!ENTITY Ecirc "Ê" -- capital E, circumflex accent --> |
3094 |
<!ENTITY Egrave "È" -- capital E, grave accent --> |
3095 |
<!ENTITY Euml "Ë" -- capital E, dieresis or umlaut mark --> |
3096 |
<!ENTITY Iacute "Í" -- capital I, acute accent --> |
3097 |
<!ENTITY Icirc "Î" -- capital I, circumflex accent --> |
3098 |
<!ENTITY Igrave "Ì" -- capital I, grave accent --> |
3099 |
<!ENTITY Iuml "Ï" -- capital I, dieresis or umlaut mark --> |
3100 |
<!ENTITY Ntilde "Ñ" -- capital N, tilde --> |
3101 |
<!ENTITY Oacute "Ó" -- capital O, acute accent --> |
3102 |
<!ENTITY Ocirc "Ô" -- capital O, circumflex accent --> |
3103 |
<!ENTITY Ograve "Ò" -- capital O, grave accent --> |
3104 |
<!ENTITY Oslash "Ø" -- capital O, slash --> |
3105 |
<!ENTITY Otilde "Õ" -- capital O, tilde --> |
3106 |
<!ENTITY Ouml "Ö" -- capital O, dieresis or umlaut mark --> |
3107 |
<!ENTITY THORN "Þ" -- capital THORN, Icelandic --> |
3108 |
<!ENTITY Uacute "Ú" -- capital U, acute accent --> |
3109 |
<!ENTITY Ucirc "Û" -- capital U, circumflex accent --> |
3110 |
<!ENTITY Ugrave "Ù" -- capital U, grave accent --> |
3111 |
<!ENTITY Uuml "Ü" -- capital U, dieresis or umlaut mark --> |
3112 |
<!ENTITY Yacute "Ý" -- capital Y, acute accent --> |
3113 |
<!ENTITY aacute "á" -- small a, acute accent --> |
3114 |
<!ENTITY acirc "â" -- small a, circumflex accent --> |
3115 |
<!ENTITY aelig "æ" -- small ae diphthong (ligature) --> |
3116 |
<!ENTITY agrave "à" -- small a, grave accent --> |
3117 |
<!ENTITY amp "&" -- ampersand --> |
3118 |
<!ENTITY aring "å" -- small a, ring --> |
3119 |
<!ENTITY atilde "ã" -- small a, tilde --> |
3120 |
<!ENTITY auml "ä" -- small a, dieresis or umlaut mark --> |
3121 |
<!ENTITY ccedil "ç" -- small c, cedilla --> |
3122 |
<!ENTITY eacute "é" -- small e, acute accent --> |
3123 |
<!ENTITY ecirc "ê" -- small e, circumflex accent --> |
3124 |
<!ENTITY egrave "è" -- small e, grave accent --> |
3125 |
<!ENTITY eth "ð" -- small eth, Icelandic --> |
3126 |
<!ENTITY euml "ë" -- small e, dieresis or umlaut mark --> |
3127 |
<!ENTITY gt ">" -- greater than --> |
3128 |
<!ENTITY iacute "í" -- small i, acute accent --> |
3129 |
<!ENTITY icirc "î" -- small i, circumflex accent --> |
3130 |
<!ENTITY igrave "ì" -- small i, grave accent --> |
3131 |
<!ENTITY iuml "ï" -- small i, dieresis or umlaut mark --> |
3132 |
<!ENTITY lt "<" -- less than --> |
3133 |
|
3134 |
|
3135 |
Internet Draft 55 November 1993 |
3136 |
HTML+ Document Format Raggett |
3137 |
|
3138 |
|
3139 |
<!ENTITY ntilde "ñ" -- small n, tilde --> |
3140 |
<!ENTITY oacute "ó" -- small o, acute accent --> |
3141 |
<!ENTITY ocirc "ô" -- small o, circumflex accent --> |
3142 |
<!ENTITY ograve "ò" -- small o, grave accent --> |
3143 |
<!ENTITY oslash "ø" -- small o, slash --> |
3144 |
<!ENTITY otilde "õ" -- small o, tilde --> |
3145 |
<!ENTITY ouml "ö" -- small o, dieresis or umlaut mark --> |
3146 |
<!ENTITY szlig "ß" -- small sharp s, German (sz ligature) --> |
3147 |
<!ENTITY thorn "þ" -- small thorn, Icelandic --> |
3148 |
<!ENTITY uacute "ú" -- small u, acute accent --> |
3149 |
<!ENTITY ucirc "û" -- small u, circumflex accent --> |
3150 |
<!ENTITY ugrave "ù" -- small u, grave accent --> |
3151 |
<!ENTITY uuml "ü" -- small u, dieresis or umlaut mark --> |
3152 |
<!ENTITY yacute "ý" -- small y, acute accent --> |
3153 |
<!ENTITY yuml "ÿ" -- small y, dieresis or umlaut mark --> |
3154 |
|
3155 |
<!-- The END --> |
3156 |
]> |
3157 |
|
3158 |
|
3159 |
|
3160 |
|
3161 |
|
3162 |
|
3163 |
|
3164 |
|
3165 |
|
3166 |
|
3167 |
|
3168 |
|
3169 |
|
3170 |
|
3171 |
|
3172 |
|
3173 |
|
3174 |
|
3175 |
|
3176 |
|
3177 |
|
3178 |
|
3179 |
|
3180 |
|
3181 |
|
3182 |
|
3183 |
|
3184 |
|
3185 |
|
3186 |
|
3187 |
|
3188 |
|
3189 |
|
3190 |
|
3191 |
|
3192 |
Internet Draft 56 November 1993 |
3193 |
HTML+ Document Format Raggett |
3194 |
|
3195 |
|
3196 |
Appendix II |
3197 |
|
3198 |
The proposed character entities for HTML+ and their corresponding |
3199 |
character codes for Unicode and the Adobe Latin-1 & Symbol |
3200 |
character sets. |
3201 |
|
3202 |
[this table is only available in the <draft-raggett-www-html-00.ps> |
3203 |
version] |
3204 |
|
3205 |
Many thanks to Bob Stayton for volunteering his time and effort to |
3206 |
prepare this table. |
3207 |
|
3208 |
|
3209 |
|
3210 |
|
3211 |
|
3212 |
|
3213 |
|
3214 |
|
3215 |
|
3216 |
|
3217 |
|
3218 |
|
3219 |
|
3220 |
|
3221 |
|
3222 |
|
3223 |
|
3224 |
|
3225 |
|
3226 |
|
3227 |
|
3228 |
|
3229 |
|
3230 |
|
3231 |
|
3232 |
|
3233 |
|
3234 |
|
3235 |
|
3236 |
|
3237 |
|
3238 |
|
3239 |
|
3240 |
|
3241 |
|
3242 |
|
3243 |
|
3244 |
|
3245 |
|
3246 |
|
3247 |
|
3248 |
|
3249 |
Internet Draft 57 November 1993 |
3250 |
HTML+ Document Format Raggett |
3251 |
|
3252 |
|
3253 |
Appendix III |
3254 |
|
3255 |
ANSI C Code for testing if a point lies within a polygon. This may be |
3256 |
freely used provided the original copyright message is retained in |
3257 |
full. |
3258 |
|
3259 |
/* ** Reproduced with thanks from mapper 1.2 ** 7/26/93 Kevin Hughes, |
3260 |
kevinh@pulua.hcc.hawaii.edu ** polygon code copyright 1992 by Eric |
3261 |
Haines, erich@eye.com */ |
3262 |
|
3263 |
#include <stdio.h> |
3264 |
|
3265 |
#define MAXLINE 500 #define MAXVERTS 100 |
3266 |
|
3267 |
#define X 0 #define Y 1 |
3268 |
|
3269 |
int pointinpoly(double point[2], double pgon[MAXVERTS][2]) { |
3270 |
int i, numverts, inside_flag, xflag0; |
3271 |
int crossings; |
3272 |
double *p, *stop; |
3273 |
double tx, ty, y; |
3274 |
|
3275 |
for (i = 0; pgon[i][X] != -1 && i < MAXVERTS; i++) |
3276 |
; |
3277 |
numverts = i; |
3278 |
crossings = 0; |
3279 |
|
3280 |
tx = point[X]; |
3281 |
ty = point[Y]; |
3282 |
y = pgon[numverts - 1][Y]; |
3283 |
|
3284 |
p = (double *) pgon + 1; |
3285 |
if ((y >= ty) != (*p >= ty)) |
3286 |
{ |
3287 |
if ((xflag0 = (pgon[numverts - 1][X] >= tx)) == |
3288 |
(*(double *) pgon >= tx)) |
3289 |
{ |
3290 |
if (xflag0) |
3291 |
crossings++; |
3292 |
} |
3293 |
else |
3294 |
{ |
3295 |
crossings += (pgon[numverts - 1][X] - (y - ty) * |
3296 |
(*(double *) pgon - pgon[numverts - 1][X]) / |
3297 |
(*p - y)) >= tx; |
3298 |
} |
3299 |
} |
3300 |
|
3301 |
stop = pgon[numverts]; |
3302 |
|
3303 |
for (y = *p, p += 2; p < stop; y = *p, p += 2) |
3304 |
|
3305 |
|
3306 |
Internet Draft 58 November 1993 |
3307 |
HTML+ Document Format Raggett |
3308 |
|
3309 |
|
3310 |
{ |
3311 |
if (y >= ty) |
3312 |
{ |
3313 |
while ((p < stop) && (*p >= ty)) |
3314 |
p += 2; |
3315 |
if (p >= stop) |
3316 |
break; |
3317 |
if ((xflag0 = (*(p - 3) >= tx)) == (*(p - 1) >= tx)) |
3318 |
{ |
3319 |
if (xflag0) |
3320 |
crossings++; |
3321 |
} |
3322 |
else |
3323 |
{ |
3324 |
crossings += (*(p - 3) - (*(p - 2) - ty) * |
3325 |
(*(p - 1) - *(p - 3)) / (*p - *(p - 2))) >= tx; |
3326 |
} |
3327 |
} |
3328 |
else |
3329 |
{ |
3330 |
while ((p < stop) && (*p < ty)) |
3331 |
p += 2; |
3332 |
if (p >= stop) |
3333 |
break; |
3334 |
if ((xflag0 = (*(p - 3) >= tx)) == (*(p - 1) >= tx)) |
3335 |
{ |
3336 |
if (xflag0) |
3337 |
crossings++; |
3338 |
} |
3339 |
else |
3340 |
{ |
3341 |
crossings += (*(p - 3) - (*(p - 2) - ty) * |
3342 |
(*(p - 1) - *(p - 3)) / (*p - *(p - 2))) >= tx; |
3343 |
} |
3344 |
} |
3345 |
} |
3346 |
inside_flag = crossings & 0x01; |
3347 |
return (inside_flag); |
3348 |
} |
3349 |
|
3350 |
|
3351 |
|
3352 |
|
3353 |
|
3354 |
|
3355 |
|
3356 |
|
3357 |
|
3358 |
|
3359 |
|
3360 |
|
3361 |
|
3362 |
|
3363 |
Internet Draft 59 November 1993 |
3364 |
HTML+ Document Format Raggett |
3365 |
|
3366 |
|
3367 |
Appendix IV |
3368 |
=========== |
3369 |
|
3370 |
Alphabetically sorted list of HTML+ tags and their |
3371 |
associated attribute names. |
3372 |
|
3373 |
A id, name, shape, href, rel, rev, methods, |
3374 |
effect, print, title, type, size, lang |
3375 |
ABBREV id, lang, index |
3376 |
ABSTRACT id, lang, index |
3377 |
ACRONYM id, lang, index |
3378 |
ADDED id, lang, index |
3379 |
ADDRESS |
3380 |
ARG id, lang, index |
3381 |
B id, lang, index |
3382 |
BASE href |
3383 |
BLOCKQUOTE |
3384 |
BODY |
3385 |
BOX |
3386 |
BR |
3387 |
BYLINE id, lang, index |
3388 |
CAPTION id, lang, index |
3389 |
CHANGED id, idref |
3390 |
CITE id, lang, index |
3391 |
CMD id, lang, index |
3392 |
CODE id, lang, index |
3393 |
DD id, lang, index |
3394 |
DFN id, lang, index |
3395 |
DIR id, lang, index |
3396 |
DL id, compact, lang, index |
3397 |
DT id, lang, index |
3398 |
EM id, lang, index |
3399 |
FIG id, align, ismap, src, index, lang |
3400 |
FOOTNOTE id, lang, index |
3401 |
FORM id, action, method, lang, index |
3402 |
H1 id, lang, index |
3403 |
H2 id, lang, index |
3404 |
H3 id, lang, index |
3405 |
H4 id, lang, index |
3406 |
H5 id, lang, index |
3407 |
H6 id, lang, index |
3408 |
HEAD |
3409 |
HTMLPLUS version, forms |
3410 |
I id, lang, index |
3411 |
IMAGE src, align, seethru, ismap, lang |
3412 |
IMG src, align, seethru, alt, ismap |
3413 |
INPUT name, type, size, min, max, value, checked, |
3414 |
disabled, error, src, align, lang |
3415 |
ISINDEX href |
3416 |
KBD id, lang, index |
3417 |
L id, align, lang, index |
3418 |
|
3419 |
|
3420 |
Internet Draft 60 November 1993 |
3421 |
HTML+ Document Format Raggett |
3422 |
|
3423 |
|
3424 |
LI id, src, lang, index |
3425 |
LINK idref, href, rel, rev, methods |
3426 |
LIT id, lang, index |
3427 |
MARGIN id, lang, index |
3428 |
MATH id |
3429 |
MENU id, lang, index |
3430 |
NEXTID n |
3431 |
NOTE id, role, lang, index |
3432 |
OL id, compact, lang, index |
3433 |
OPTION selected, disabled, lang |
3434 |
OVER |
3435 |
P id, align, lang, index |
3436 |
PERSON id, lang, index |
3437 |
PRE id, lang, index |
3438 |
Q id, lang, index |
3439 |
QUOTE id, lang, index |
3440 |
RENDER tag, style |
3441 |
REMOVED id, lang, index |
3442 |
S id, lang, index |
3443 |
SAMP id, lang, index |
3444 |
SELECT name, several, error, lang |
3445 |
STRONG id, lang, index |
3446 |
SUB id, lang, index |
3447 |
SUP id, lang, index |
3448 |
TAB at, align |
3449 |
TABLE id, border, lang, index |
3450 |
TD colspan, rowspan, align, lang |
3451 |
TEXTAREA name, cols, rows, disabled, error, lang |
3452 |
TH colspan, rowspan, align, lang |
3453 |
TITLE id, lang, index |
3454 |
TR id |
3455 |
TT id, lang, index |
3456 |
U id, lang, index |
3457 |
UL id, compact, plain, wrap, lang, index |
3458 |
VAR id, lang, index |
3459 |
|
3460 |
|
3461 |
|
3462 |
|
3463 |
|
3464 |
|
3465 |
|
3466 |
|
3467 |
|
3468 |
|
3469 |
|
3470 |
|
3471 |
|
3472 |
|
3473 |
|
3474 |
|
3475 |
|
3476 |
|
3477 |
Internet Draft 61 November 1993 |
3478 |
|