Hypertext Markup Language (HTML) Tim Berners-Lee, CERN
Internet Draft Daniel Connolly, Atrium
IIIR Working Group June 1993
Hypertext Markup Language (HTML)
A Representation of Textual Information and MetaInformation
for Retrieval and Interchange
Status of this Document
This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.
Internet Drafts are working documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet
Drafts as reference material or to cite them other than as a
"working draft" or "work in progress".
Distribution of this document is unlimited. The document is a
draft form of a standard for interchange of information on the
network which is proposed to be registered as a MIME (RFC1341)
content type. Please send comments to timbl@info.cern.ch or the
discussion list www-talk@info.cern.ch.
This is version 1.2 of this draft. This document is available in
hypertext on the World-Wide Web as
http://info.cern.ch/hypertext/WWW/MarkUp/HTML.html
Abstract
HyperText Markup Language (HTML) can be used to represent
Hypertext news, mail, online documentation, and collaborative
hypermedia;
Menus of options;
Database query results;
Simple structured documents with inlined graphics.
Hypertext views of existing bodies of information
The World Wide Web (W3) initiative links related information
throughout the globe. HTML provides one simple format for
providing linked information, and all W3 compatible programs are
required to be capable of handling HTML. W3 uses an Internet
Berners-Lee and Connolly 1
protocol (Hypertext Transfer Protocol, HTTP), which allows transfer
representations to be negotiated between client and server, the
result being returned in an extended MIME message. HTML is
therefore just one, but an important one, of the representations
used with W3.
HTML is proposed as a MIME content type.
HTML refers to the URL specification of RFCxxxx.
Implementations of HTML parsers and generators can be found in the
various W3 servers and browsers, in the public domain W3 code, and
may also be built using various public domain SGML parsers such as
[SGMLS] . HTML is an SGML document type with fairly generic
semantics appropriate for representing information from a wide
range of applications. It is more generic than many specific SGML
applications, but is still completely device-independent.
IN THIS DOCUMENT
This document contains the following parts:
Vocabulary used in this document, degrees of imperative.
HTML and MIME with discussion of character sets.
HTML and SGML and the relationship between them, and
Structured text : an introduction for
beginners to SGML.
HTML Elements A list with description, example, and
typical rendering.
HTML Entities Entities used to describe characters.
The HTML DTD The text of the SGML DTD for HTML
Link relationship values .
A provisional list. Not part of the
standard.
Registration Authority
The authority for extending lists of valid
vales.
References to related documents
Authors addresses Contact information.
table of contents
Vocabulary
Berners-Lee and Connolly 2
This specification uses the words below with the precise meaning
given.
Representation The encoding of information for interchange.
For example, HTML is a representation of
hypertext.
Rendering The form of presentation to information to
the human reader.
IMPERATIVES
may The implementation is not obliged to follow
this in any way.
must If this is not followed, the implementation
does not conform to this specification.
shall as "must"
should If this is not followed, though the
implementation officially conforms to the
standard, undesirable results may occur in
practice.
typical Typical rendering is described for many
elements. This is not a mandatory part of the
standard but is given as guidance for
designers and to help explain the uses for
which the elements were intended.
NOTES
Sections marked "Note:" are not mandatory parts of the
specification but for guidance only.
STATUS OF FEATURES
Mainstream All parsers must recognize these features.
Features are mainstream unless otherwise
mentioned.
Extra Standard HTML features which may safely be
ignored by parsers. It is legal to ignore
these, treat the contents as though the tags
were not there. (e.g. EM, and any undefined
elements)
Obsolete Not standard HTML. Parsers should implement
these features as far as possible in order to
preserve back-compatibility with previous
versions of this specification.
Berners-Lee and Connolly 3
HTML AND MIME
The definition of the HTML content subtype is
MIME Type name text
MIME subtype name: html
Required parameters: none
Optional parameters: charset
Character sets
The base character set (the SGML BASESET) for HTML is ISO Latin-1.
This is the set referred to by any numeric character references .
The actual character set used in the representation of an HTML
document may be ISO Latin 1, or its 7-bit subset which is ASCII.
There is no obligation for an HTML document to contain any
characters above decimal 127. It is possible that a transport
medium such as electronic mail imposes constraints on the number of
bits in a representation of a document, though the HTTP access
protocol used by W3 always allows 8 bit transfer.
When an HTML document is encoded using 7-bit characters, then the
mechanisms of character references and entity references may be
used to encode characters in the upper half of the ISO Latin-1 set.
In this way, documents may be prepared which are suitable for
mailing through 7-bit limited systems.
INTRODUCTION
The HyperText Markup Language is defined in terms of the ISO
Standard Generalized Markup Language []. SGML is a system for
defining structured document types and markup languages to
represent instances of those document types.
Every SGML document has three parts:
An SGML declaration, which binds SGML processing quantities and
syntax token names to specific values. For example, the SGML
declaration in the HTML DTD specifies that the string that opens
a tag is and the maximum length of a name is 40 characters.
A prologue including one or more document type declarations,
which specifiy the element types, element relationships and
attributes, and references that can be represented by markup.
The HTML DTD specifies, for example, that the HEAD element
contains at most one TITLE element.
An instance, which contains the data and markup of the document.
We use the term HTML to mean both the document type and the markup
Berners-Lee and Connolly 4
language for representing instances of that document type.
All HTML documents share the same SGML declaration an prologue.
Hence implementations of the WorldWide Web generally only transmit
and store the instance part of an HTML document. To construct an
SGML document entity for processing by an SGML parser, it is
necessary to prefix the text from ``HTML DTD'' on page 10 to the
HTML instance.
Conversely, to implement an HTML parser, one need only implement
those parts of an SGML parser that are needed to parse an instance
after parsing the HTML DTD.
Structured Text
An HTML instance is like a text file, except that some of the
characters are interpreted as markup. The markup gives structure to
the document.
The instance represents a hierarchy of elements. Each element has a
name , some attributes , and some content. Most elements are
represented in the document as a start tag, which gives the name
and attributes, followed by the content, followed by the end tag.
For example:
NAME
cat -- concatenatefiles
EXAMPLE
cat
The content of the above PRE element is:
A B element
The string `` cat -- concatenate''
An A element
The string ``\n''
Another B element
The string ``\n cat . After the comment
delimiter, all text up to the next occurrence of -- is ignored.
Hence comments cannot be nested. Whitespace is allowed between the
closing -- and >. (But not between the opening
HTML Guide: Recommended Usage
There are a few other SGML markup constructs that are deprecated or
illegal.
Delimiter Signals...
Processing instruction. Terminated by >.
.
LINE BREAKS
A line break character is considered markup (and ignored) if it is
the first or last piece of content in an element. This allows you
to write either
some example text
or
some example text
and these will be processed identically.
Also, a line that's not empty but contains no content will be
ignored altogether. For example, the element
first line
third line
fourth line
contains only the strings
first line
third line
fourth line.
SPACES AND TABS
Space characters must be rendered as horizontal white space. In
HTML, multiple spaces should be rendered as proportionally larger
spaces.
The rendering of a horizontal tab (HT) character is not defined,
and HT should therefore not be used, except within a PRE (or
obsolete XMP, LISTING or PLAINTEXT) element.
Neither spaces nor tabs should be used to make SGML source layout
more attractive or easier to read.
SUMMARY OF MARKUP SIGNALS
Berners-Lee and Connolly 10
The following delimiters may signal markup, depending on context.
Delimiter Signals
Berners-Lee and Connolly 32
Berners-Lee and Connolly 33
Berners-Lee and Connolly 35
]>
Berners-Lee and Connolly 36
LINK RELATIONSHIP VALUES
Status: This list is not part of the standard. It is intended to
illustrate the use of link relationships and to provide a framework
for further development.
Additions to this list will be controlled by the HTML registration
authority . Experimental values may be used on the condition that
they begin with "X-".
These values of the REL attribute of hypertext links have a
significance defined here, and may be treated in special ways by
HTML applications.
These relationships relate whole documents (objects), rather than
particular anchors within them. If the relationship value is used
with a link between anchors rather than whole documents, the
semantics are considered to apply to the documents.
In the explanations which follows, A is the source document of the
link and B is the destination document specified by the HREF
attribute.
A relationship marked "Acyclic" has the property that no sequence
of links with that relationship may be followed from any document
back to itself. These types of links may therefore be used to
define trees.
Relationships between documents
These relationships are between the documents themselves rather
than the subjects of the documents.
USEINDEX
B is a related index for a search by a user reading this document
who asks for an index search function.
A document may have any number of index links, causing several
indexes top be searched in a client-defined manner.
B must support SEARCH operations under its access protocol.
USEGLOSSARY
B is an index which should be used to resolve glossary queries in
the document. (Typically, a double-click on a word which is not
within an anchor).
A document may have any number of glossary links.
ANNOTATION
Berners-Lee and Connolly 37
The information in B is additional to and subsidiary to that in A.
Annotation is used by one person to write the equivalent of "margin
notes" or other criticism on another's document, for example.
Example: The relationship between a newsgroup and its articles.
Acyclic.
REPLY
Similar to Annotation, but there is no suggestion that B is
subsidiary to A: A and B are on equal footings.
Example: The relationship between a mail message and its reply, a
news article and its reply.
Acyclic.
EMBED
If this link is followed, the node at the end of it is embedded
into the display of the source document.
Acyclic.
PRECEDES
In an ordered structure defined by the author, A precedes B, B is
followed by A.
Acyclic.
Any document may only have one link of this relationship, and/or
one link of the reverse relationship.
Note: May be used to control navigational aids, generate printed
material, etc. In conjunction with " subdocument ", may be used to
define a tree such as a printed book made of hypertext document.
The document can only have one such tree.
SUBDOCUMENT
B is a lower part in the author's hierarchy to A. Acyclic. See
also Precedes .
PRESENT
Whenever A is presented, B must also be presented. This implies
that whenever A is retrieved, B must also be retrieved.
SEARCH
Berners-Lee and Connolly 38
When the link is followed, the node B should be searched rather
than presented. That is, where the client software allows it, the
user should immediately be presented with a search panel and
prompted for text. The search is then performed without an
intermediate retrieval or presentation of the node B
SUPERSEDES
B is a previous version of A.
Acyclic.
HISTORY
B is a list of versions of A
A link reverse link must exist from B to A and to all other known
versions of A.
Relationships about subjects of documents
These relationships convey semantics about objects described by
documents, rather than the documents themselves.
INCLUDES
A includes B, B is part of A. For example, a person described by
document A is a part of the group described by document B.
Acyclic.
MADE
Person (etc) described by node A is author of, or is responsible
for B
This information can be used for protection, and informing authors
of interest, for sending mail to authors, etc.
INTERESTED
Person (etc) described by A is interested in node B.
This information can be used for notification of changes.
Typically, this is a request that, when object B changes in some
way, a new link is made to object A.
The phrase "object B changes" may be interpreted narrowly (as "B
itself changes") or widely (as "B or anythink linked to it or
related to it closely changes"). The amount of change considered
worth notifying people about is also subject to interpretation,
varying from bit changes in the source to a "new edition" statement
Berners-Lee and Connolly 39
by the publisher.
REGISTRATION AUTHORITY
The HTTP Registration Authority is responsible for maintaining
lists of:
Relationship names for link and anchor elements
It is proposed that the Internet Assigned Numbers Authority or
their successors take this role.
Unregistered values may be used for experimental purposes if they
are start with "X-".
REFERENCES
SGML ISO 8879:1986, Information Processing Text
and Office Systems Standard Generalized
Markup Language (SGML).
sgmls an SGML parser by James Clark
derived from the ARCSGML
parser materials which were written by
Charles F. Goldfarb. The source is available
on the ifi.uio.no FTP server in the directory
/pub/SGML/SGMLS .
WWW The World-Wide Web , a global information
initiative. For bootstrap information, telnet
info.cern.ch or find documents by
ftp://info.cern.ch/pub/www/doc
URL Universal Resource Locators. RFCxxx.
Currently available by anonymous FTP from
info.cern.ch in /pub/ietf.
AUTHOR'S ADDRESSES
This document was prepared with the help and advice of many people
across the net. Dan Connolly prepared the DTD and the section on
HTML and SGML whilst with Convex Computer Corporation of 3000
Waterview Parkway Richardson, TX 75083. He is now with Atrium
Technology Inc., and is not a current editor of the document.
Tim Berners-Lee
Address CERN
1211 Geneva 23
Switzerland
Telephone: +41(22)767 3755
Fax: +41(22)767 7155
email: timbl@info.cern.ch
Berners-Lee and Connolly 40
Daniel Connolly
Address: Atrium Technologies, Inc.
5000 Plaza on the Lake, Suite 275
Austin, TX 78746
USA
email: connolly@atrium.com
Berners-Lee and Connolly 41