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