diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1866.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1866.txt')
-rw-r--r-- | doc/rfc/rfc1866.txt | 4315 |
1 files changed, 4315 insertions, 0 deletions
diff --git a/doc/rfc/rfc1866.txt b/doc/rfc/rfc1866.txt new file mode 100644 index 0000000..6d04425 --- /dev/null +++ b/doc/rfc/rfc1866.txt @@ -0,0 +1,4315 @@ + + + + + + +Network Working Group T. Berners-Lee +Request for Comments: 1866 MIT/W3C +Category: Standards Track D. Connolly + November 1995 + + + Hypertext Markup Language - 2.0 + +Status of this Memo + + This document specifies an Internet standards track protocol for the + Internet community, and requests discussion and suggestions for + improvements. Please refer to the current edition of the "Internet + Official Protocol Standards" (STD 1) for the standardization state + and status of this protocol. Distribution of this memo is unlimited. + +Abstract + + The Hypertext Markup Language (HTML) is a simple markup language used + to create hypertext documents that are platform independent. HTML + documents are SGML documents with generic semantics that are + appropriate for representing information from a wide range of + domains. HTML markup can represent hypertext news, mail, + documentation, and hypermedia; menus of options; database query + results; simple structured documents with in-lined graphics; and + hypertext views of existing bodies of information. + + HTML has been in use by the World Wide Web (WWW) global information + initiative since 1990. This specification roughly corresponds to the + capabilities of HTML in common use prior to June 1994. HTML is an + application of ISO Standard 8879:1986 Information Processing Text and + Office Systems; Standard Generalized Markup Language (SGML). + + The "text/html" Internet Media Type (RFC 1590) and MIME Content Type + (RFC 1521) is defined by this specification. + +Table of Contents + + 1. Introduction ........................................... 2 + 1.1 Scope .................................................. 3 + 1.2 Conformance ............................................ 3 + 2. Terms .................................................. 6 + 3. HTML as an Application of SGML .........................10 + 3.1 SGML Documents .........................................10 + 3.2 HTML Lexical Syntax ................................... 12 + 3.3 HTML Public Text Identifiers .......................... 17 + 3.4 Example HTML Document ................................. 17 + 4. HTML as an Internet Media Type ........................ 18 + + + +Berners-Lee & Connolly Standards Track [Page 1] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + 4.1 text/html media type .................................. 18 + 4.2 HTML Document Representation .......................... 19 + 5. Document Structure .................................... 20 + 5.1 Document Element: HTML ................................ 21 + 5.2 Head: HEAD ............................................ 21 + 5.3 Body: BODY ............................................ 24 + 5.4 Headings: H1 ... H6 ................................... 24 + 5.5 Block Structuring Elements ............................ 25 + 5.6 List Elements ......................................... 28 + 5.7 Phrase Markup ......................................... 30 + 5.8 Line Break: BR ........................................ 34 + 5.9 Horizontal Rule: HR ................................... 34 + 5.10 Image: IMG ............................................ 34 + 6. Characters, Words, and Paragraphs ..................... 35 + 6.1 The HTML Document Character Set ....................... 36 + 7. Hyperlinks ............................................ 36 + 7.1 Accessing Resources ................................... 37 + 7.2 Activation of Hyperlinks .............................. 38 + 7.3 Simultaneous Presentation of Image Resources .......... 38 + 7.4 Fragment Identifiers .................................. 38 + 7.5 Queries and Indexes ................................... 39 + 7.6 Image Maps ............................................ 39 + 8. Forms ................................................. 40 + 8.1 Form Elements ......................................... 40 + 8.2 Form Submission ....................................... 45 + 9. HTML Public Text ...................................... 49 + 9.1 HTML DTD .............................................. 49 + 9.2 Strict HTML DTD ....................................... 61 + 9.3 Level 1 HTML DTD ...................................... 62 + 9.4 Strict Level 1 HTML DTD ............................... 63 + 9.5 SGML Declaration for HTML ............................. 64 + 9.6 Sample SGML Open Entity Catalog for HTML .............. 65 + 9.7 Character Entity Sets ................................. 66 + 10. Security Considerations ............................... 69 + 11. References ............................................ 69 + 12. Acknowledgments ....................................... 71 + 12.1 Authors' Addresses .................................... 71 + 13. The HTML Coded Character Set .......................... 72 + 14. Proposed Entities ..................................... 75 + +1. Introduction + + The HyperText Markup Language (HTML) is a simple data format used to + create hypertext documents that are portable from one platform to + another. HTML documents are SGML documents with generic semantics + that are appropriate for representing information from a wide range + of domains. + + + + +Berners-Lee & Connolly Standards Track [Page 2] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + As HTML is an application of SGML, this specification assumes a + working knowledge of [SGML]. + +1.1. Scope + + HTML has been in use by the World-Wide Web (WWW) global information + initiative since 1990. Previously, informal documentation on HTML has + been available from a number of sources on the Internet. This + specification brings together, clarifies, and formalizes a set of + features that roughly corresponds to the capabilities of HTML in + common use prior to June 1994. A number of new features to HTML are + being proposed and experimented in the Internet community. + + This document thus defines a HTML 2.0 (to distinguish it from the + previous informal specifications). Future (generally upwardly + compatible) versions of HTML with new features will be released with + higher version numbers. + + HTML is an application of ISO Standard 8879:1986, "Information + Processing Text and Office Systems; Standard Generalized Markup + Language" (SGML). The HTML Document Type Definition (DTD) is a formal + definition of the HTML syntax in terms of SGML. + + This specification also defines HTML as an Internet Media + Type[IMEDIA] and MIME Content Type[MIME] called `text/html'. As such, + it defines the semantics of the HTML syntax and how that syntax + should be interpreted by user agents. + +1.2. Conformance + + This specification governs the syntax of HTML documents and aspects + of the behavior of HTML user agents. + +1.2.1. Documents + + A document is a conforming HTML document if: + + * It is a conforming SGML document, and it conforms to the + HTML DTD (see 9.1, "HTML DTD"). + + NOTE - There are a number of syntactic idioms that + are not supported or are supported inconsistently in + some historical user agent implementations. These + idioms are identified in notes like this throughout + this specification. + + * It conforms to the application conventions in this + specification. For example, the value of the HREF attribute + + + +Berners-Lee & Connolly Standards Track [Page 3] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + of the <A> element must conform to the URI syntax. + + * Its document character set includes [ISO-8859-1] and + agrees with [ISO-10646]; that is, each code position listed + in 13, "The HTML Coded Character Set" is included, and each + code position in the document character set is mapped to the + same character as [ISO-10646] designates for that code + position. + + NOTE - The document character set is somewhat + independent of the character encoding scheme used to + represent a document. For example, the `ISO-2022-JP' + character encoding scheme can be used for HTML + documents, since its repertoire is a subset of the + [ISO-10646] repertoire. The critical distinction is + that numeric character references agree with + [ISO-10646] regardless of how the document is + encoded. + +1.2.2. Feature Test Entities + + The HTML DTD defines a standard HTML document type and several + variations, by way of feature test entities. Feature test entities + are declarations in the HTML DTD that control the inclusion or + exclusion of portions of the DTD. + + HTML.Recommended + Certain features of the language are necessary for + compatibility with widespread usage, but they may + compromise the structural integrity of a document. This + feature test entity selects a more prescriptive document + type definition that eliminates those features. It is + set to `IGNORE' by default. + + For example, in order to preserve the structure of a + document, an editing user agent may translate HTML + documents to the recommended subset, or it may require + that the documents be in the recommended subset for + import. + + HTML.Deprecated + Certain features of the language are necessary for + compatibility with earlier versions of the + specification, but they tend to be used and implemented + inconsistently, and their use is deprecated. This + feature test entity enables a document type definition + that allows these features. It is set to `INCLUDE' by + default. + + + +Berners-Lee & Connolly Standards Track [Page 4] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + Documents generated by translation software or editing + software should not contain deprecated idioms. + +1.2.3. User Agents + + An HTML user agent conforms to this specification if: + + * It parses the characters of an HTML document into data + characters and markup according to [SGML]. + + NOTE - In the interest of robustness and + extensibility, there are a number of widely deployed + conventions for handling non-conforming documents. + See 4.2.1, "Undeclared Markup Error Handling" for + details. + + * It supports the `ISO-8859-1' character encoding scheme and + processes each character in the ISO Latin Alphabet No. 1 as + specified in 6.1, "The HTML Document Character Set". + + NOTE - To support non-western writing systems, HTML + user agents are encouraged to support + `ISO-10646-UCS-2' or similar character encoding + schemes and as much of the character repertoire of + [ISO-10646] as is practical. + + * It behaves identically for documents whose parsed token + sequences are identical. + + For example, comments and the whitespace in tags disappear + during tokenization, and hence they do not influence the + behavior of conforming user agents. + + * It allows the user to traverse (or at least attempt to + traverse, resources permitting) all hyperlinks from <A> + elements in an HTML document. + + An HTML user agent is a level 2 user agent if, additionally: + + * It allows the user to express all form field values + specified in an HTML document and to (attempt to) submit the + values as requests to information services. + + + + + + + + + +Berners-Lee & Connolly Standards Track [Page 5] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +2. Terms + + absolute URI + a URI in absolute form; for example, as per [URL] + + anchor + one of two ends of a hyperlink; typically, a phrase + marked as an <A> element. + + base URI + an absolute URI used in combination with a relative URI + to determine another absolute URI. + + character + An atom of information, for example a letter or a digit. + Graphic characters have associated glyphs, whereas + control characters have associated processing semantics. + + character encoding + scheme + A function whose domain is the set of sequences of + octets, and whose range is the set of sequences of + characters from a character repertoire; that is, a + sequence of octets and a character encoding scheme + determines a sequence of characters. + + character repertoire + A finite set of characters; e.g. the range of a coded + character set. + + code position + An integer. A coded character set and a code position + from its domain determine a character. + + coded character set + A function whose domain is a subset of the integers and + whose range is a character repertoire. That is, for some + set of integers (usually of the form {0, 1, 2, ..., N} + ), a coded character set and an integer in that set + determine a character. Conversely, a character and a + coded character set determine the character's code + position (or, in rare cases, a few code positions). + + conforming HTML user + agent + A user agent that conforms to this specification in its + processing of the Internet Media Type `text/html'. + + + + +Berners-Lee & Connolly Standards Track [Page 6] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + data character + Characters other than markup, which make up the content + of elements. + + document character set + a coded character set whose range includes all + characters used in a document. Every SGML document has + exactly one document character set. Numeric character + references are resolved via the document character set. + + DTD + document type definition. Rules that apply SGML to the + markup of documents of a particular type, including a + set of element and entity declarations. [SGML] + + element + A component of the hierarchical structure defined by a + document type definition; it is identified in a document + instance by descriptive markup, usually a start-tag and + end-tag. [SGML] + + end-tag + Descriptive markup that identifies the end of an + element. [SGML] + + entity + data with an associated notation or interpretation; for + example, a sequence of octets associated with an + Internet Media Type. [SGML] + + fragment identifier + the portion of an HREF attribute value following the `#' + character which modifies the presentation of the + destination of a hyperlink. + + form data set + a sequence of name/value pairs; the names are given by + an HTML document and the values are given by a user. + + HTML document + An SGML document conforming to this document type + definition. + + hyperlink + a relationship between two anchors, called the head and + the tail. The link goes from the tail to the head. The + head and tail are also known as destination and source, + respectively. + + + +Berners-Lee & Connolly Standards Track [Page 7] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + markup + Syntactically delimited characters added to the data of + a document to represent its structure. There are four + different kinds of markup: descriptive markup (tags), + references, markup declarations, and processing + instructions. [SGML] + + may + A document or user interface is conforming whether this + statement applies or not. + + media type + an Internet Media Type, as per [IMEDIA]. + + message entity + a head and body. The head is a collection of name/value + fields, and the body is a sequence of octets. The head + defines the content type and content transfer encoding + of the body. [MIME] + + minimally conforming + HTML user agent + A user agent that conforms to this specification except + for form processing. It may only process level 1 HTML + documents. + + must + Documents or user agents in conflict with this statement + are not conforming. + + numeric character + reference + markup that refers to a character by its code position + in the document character set. + + SGML document + A sequence of characters organized physically as a set + of entities and logically into a hierarchy of elements. + An SGML document consists of data characters and markup; + the markup describes the structure of the information + and an instance of that structure. [SGML] + + shall + If a document or user agent conflicts with this + statement, it does not conform to this specification. + + + + + + +Berners-Lee & Connolly Standards Track [Page 8] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + should + If a document or user agent conflicts with this + statement, undesirable results may occur in practice + even though it conforms to this specification. + + start-tag + Descriptive markup that identifies the start of an + element and specifies its generic identifier and + attributes. [SGML] + + syntax-reference + character set + A coded character set whose range includes all + characters used for markup; e.g. name characters and + delimiter characters. + + tag + Markup that delimits an element. A tag includes a name + which refers to an element declaration in the DTD, and + may include attributes. [SGML] + + text entity + A finite sequence of characters. A text entity typically + takes the form of a sequence of octets with some + associated character encoding scheme, transmitted over + the network or stored in a file. [SGML] + + typical + Typical processing is described for many elements. This + is not a mandatory part of the specification but is + given as guidance for designers and to help explain the + uses for which the elements were intended. + + URI + A Uniform Resource Identifier is a formatted string that + serves as an identifier for a resource, typically on the + Internet. URIs are used in HTML to identify the anchors + of hyperlinks. URIs in common practice include Uniform + Resource Locators (URLs)[URL] and Relative URLs + [RELURL]. + + user agent + A component of a distributed system that presents an + interface and processes requests on behalf of a user; + for example, a www browser or a mail user agent. + + + + + + +Berners-Lee & Connolly Standards Track [Page 9] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + WWW + The World-Wide Web is a hypertext-based, distributed + information system created by researchers at CERN in + Switzerland. <URL:http://www.w3.org/> + +3. HTML as an Application of SGML + + HTML is an application of ISO 8879:1986 -- Standard Generalized + Markup Language (SGML). SGML is a system for defining structured + document types and markup languages to represent instances of those + document types[SGML]. The public text -- DTD and SGML declaration -- + of the HTML document type definition are provided in 9, "HTML Public + Text". + + The term "HTML" refers to both the document type defined here and the + markup language for representing instances of this document type. + +3.1. SGML Documents + + An HTML document is an SGML document; that is, a sequence of + characters organized physically into a set of entities, and logically + as a hierarchy of elements. + + In the SGML specification, the first production of the SGML syntax + grammar separates an SGML document into three parts: an SGML + declaration, a prologue, and an instance. For the purposes of this + specification, the prologue is a DTD. This DTD describes another + grammar: the start symbol is given in the doctype declaration, the + terminals are data characters and tags, and the productions are + determined by the element declarations. The instance must conform to + the DTD, that is, it must be in the language defined by this grammar. + + The SGML declaration determines the lexicon of the grammar. It + specifies the document character set, which determines a character + repertoire that contains all characters that occur in all text + entities in the document, and the code positions associated with + those characters. + + The SGML declaration also specifies the syntax-reference character + set of the document, and a few other parameters that bind the + abstract syntax of SGML to a concrete syntax. This concrete syntax + determines how the sequence of characters of the document is mapped + to a sequence of terminals in the grammar of the prologue. + + + + + + + + +Berners-Lee & Connolly Standards Track [Page 10] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + For example, consider the following document: + + <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> + <title>Parsing Example</title> + <p>Some text. <em>*wow*</em></p> + + An HTML user agent should use the SGML declaration that is given in + 9.5, "SGML Declaration for HTML". According to its document character + set, `*' refers to an asterisk character, `*'. + + The instance above is regarded as the following sequence of + terminals: + + 1. start-tag: TITLE + + 2. data characters: "Parsing Example" + + 3. end-tag: TITLE + + 4. start-tag: P + + 5. data characters "Some text." + + 6. start-tag: EM + + 7. data characters: "*wow*" + + 8. end-tag: EM + + 9. end-tag: P + + + + + + + + + + + + + + + + + + + + + +Berners-Lee & Connolly Standards Track [Page 11] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + The start symbol of the DTD grammar is HTML, and the productions are + given in the public text identified by `-//IETF//DTD HTML 2.0//EN' + (9.1, "HTML DTD"). The terminals above parse as: + + HTML + | + \-HEAD + | | + | \-TITLE + | | + | \-<TITLE> + | | + | \-"Parsing Example" + | | + | \-</TITLE> + | + \-BODY + | + \-P + | + \-<P> + | + \-"Some text. " + | + \-EM + | | + | \-<EM> + | | + | \-"*wow*" + | | + | \-</EM> + | + \-</P> + + Some of the elements are delimited explicitly by tags, while the + boundaries of others are inferred. The <HTML> element contains a + <HEAD> element and a <BODY> element. The <HEAD> contains <TITLE>, + which is explicitly delimited by start- and end-tags. + +3.2. HTML Lexical Syntax + + SGML specifies an abstract syntax and a reference concrete syntax. + Aside from certain quantities and capacities (e.g. the limit on the + length of a name), all HTML documents use the reference concrete + syntax. In particular, all markup characters are in the repertoire of + [ISO-646]. Data characters are drawn from the document character set + (see 6, "Characters, Words, and Paragraphs"). + + + + +Berners-Lee & Connolly Standards Track [Page 12] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + A complete discussion of SGML parsing, e.g. the mapping of a sequence + of characters to a sequence of tags and data, is left to the SGML + standard[SGML]. This section is only a summary. + +3.2.1. Data Characters + + Any sequence of characters that do not constitute markup (see 9.6 + "Delimiter Recognition" of [SGML]) are mapped directly to strings of + data characters. Some markup also maps to data character strings. + Numeric character references map to single-character strings, via the + document character set. Each reference to one of the general entities + defined in the HTML DTD maps to a single-character string. + + For example, + + abc<def => "abc","<","def" + abc<def => "abc","<","def" + + The terminating semicolon on entity or numeric character references + is only necessary when the character following the reference would + otherwise be recognized as part of the name (see 9.4.5 "Reference + End" in [SGML]). + + abc < def => "abc ","<"," def" + abc < def => "abc ","<"," def" + + An ampersand is only recognized as markup when it is followed by a + letter or a `#' and a digit: + + abc & lt def => "abc & lt def" + abc &# 60 def => "abc &# 60 def" + + A useful technique for translating plain text to HTML is to replace + each '<', '&', and '>' by an entity reference or numeric character + reference as follows: + + ENTITY NUMERIC + CHARACTER REFERENCE CHAR REF CHARACTER DESCRIPTION + --------- ---------- ----------- --------------------- + & & & Ampersand + < < < Less than + > > > Greater than + + NOTE - There are SGML mechanisms, CDATA and RCDATA + declared content, that allow most `<', `>', and `&' + characters to be entered without the use of entity + references. Because these mechanisms tend to be used and + implemented inconsistently, and because they conflict + + + +Berners-Lee & Connolly Standards Track [Page 13] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + with techniques for reducing HTML to 7 bit ASCII for + transport, they are deprecated in this version of HTML. + See 5.5.2.1, "Example and Listing: XMP, LISTING". + +3.2.2. Tags + + Tags delimit elements such as headings, paragraphs, lists, character + highlighting, and links. Most HTML elements are identified in a + document as a start-tag, which gives the element name and attributes, + followed by the content, followed by the end tag. Start-tags are + delimited by `<' and `>'; end tags are delimited by `</' and `>'. An + example is: + + <H1>This is a Heading</H1> + + Some elements only have a start-tag without an end-tag. For example, + to create a line break, use the `<BR>' tag. Additionally, the end + tags of some other elements, such as Paragraph (`</P>'), List Item + (`</LI>'), Definition Term (`</DT>'), and Definition Description + (`</DD>') elements, may be omitted. + + The content of an element is a sequence of data character strings and + nested elements. Some elements, such as anchors, cannot be nested. + Anchors and character highlighting may be put inside other + constructs. See the HTML DTD, 9.1, "HTML DTD" for full details. + + NOTE - The SGML declaration for HTML specifies SHORTTAG YES, which + means that there are other valid syntaxes for tags, such as NET + tags, `<EM/.../'; empty start tags, `<>'; and empty end-tags, + `</>'. Until support for these idioms is widely deployed, their + use is strongly discouraged. + +3.2.3. Names + + A name consists of a letter followed by letters, digits, periods, or + hyphens. The length of a name is limited to 72 characters by the + `NAMELEN' parameter in the SGML declaration for HTML, 9.5, "SGML + Declaration for HTML". Element and attribute names are not case + sensitive, but entity names are. For example, `<BLOCKQUOTE>', + `<BlockQuote>', and `<blockquote>' are equivalent, whereas `&' is + different from `&'. + + In a start-tag, the element name must immediately follow the tag open + delimiter `<'. + + + + + + + +Berners-Lee & Connolly Standards Track [Page 14] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +3.2.4. Attributes + + In a start-tag, white space and attributes are allowed between the + element name and the closing delimiter. An attribute specification + typically consists of an attribute name, an equal sign, and a value, + though some attribute specifications may be just a name token. White + space is allowed around the equal sign. + + The value of the attribute may be either: + + * A string literal, delimited by single quotes or double + quotes and not containing any occurrences of the delimiting + character. + + NOTE - Some historical implementations consider any + occurrence of the `>' character to signal the end of + a tag. For compatibility with such implementations, + when `>' appears in an attribute value, it should be + represented with a numeric character reference. For + example, `<IMG SRC="eq1.jpg" alt="a>b">' should be + written `<IMG SRC="eq1.jpg" alt="a>b">' or `<IMG + SRC="eq1.jpg" alt="a>b">'. + + * A name token (a sequence of letters, digits, periods, or + hyphens). Name tokens are not case sensitive. + + NOTE - Some historical implementations allow any + character except space or `>' in a name token. + + In this example, <img> is the element name, src is the attribute + name, and `http://host/dir/file.gif' is the attribute value: + + <img src='http://host/dir/file.gif'> + + A useful technique for computing an attribute value literal for a + given string is to replace each quote and white space character by an + entity reference or numeric character reference as follows: + + ENTITY NUMERIC + CHARACTER REFERENCE CHAR REF CHARACTER DESCRIPTION + --------- ---------- ----------- --------------------- + HT 	 Tab + LF Line Feed + CR Carriage Return + SP   Space + " " " Quotation mark + & & & Ampersand + + + + +Berners-Lee & Connolly Standards Track [Page 15] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + For example: + + <IMG SRC="image.jpg" alt="First "real" example"> + + The `NAMELEN' parameter in the SGML declaration (9.5, "SGML + Declaration for HTML") limits the length of an attribute value to + 1024 characters. + + Attributes such as ISMAP and COMPACT may be written using a minimized + syntax (see 7.9.1.2 "Omitted Attribute Name" in [SGML]). The markup: + + <UL COMPACT="compact"> + + can be written using a minimized syntax: + + <UL COMPACT> + + NOTE - Some historical implementations only understand the minimized + syntax. + +3.2.5. Comments + + To include comments in an HTML document, use a comment declaration. A + comment declaration consists of `<!' followed by zero or more + comments followed by `>'. Each comment starts with `--' and includes + all text up to and including the next occurrence of `--'. In a + comment declaration, white space is allowed after each comment, but + not before the first comment. The entire comment declaration is + ignored. + + NOTE - Some historical HTML implementations incorrectly consider + any `>' character to be the termination of a comment. + + For example: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> + <HEAD> + <TITLE>HTML Comment Example</TITLE> + <!-- Id: html-sgml.sgm,v 1.5 1995/05/26 21:29:50 connolly Exp --> + <!-- another -- -- comment --> + <!> + </HEAD> + <BODY> + <p> <!- not a comment, just regular old data characters -> + + + + + + + +Berners-Lee & Connolly Standards Track [Page 16] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +3.3. HTML Public Text Identifiers + + To identify information as an HTML document conforming to this + specification, each document must start with one of the following + document type declarations. + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> + + This document type declaration refers to the HTML DTD in 9.1, "HTML + DTD". + + NOTE - If the body of a `text/html' message entity does not begin + with a document type declaration, an HTML user agent should infer + the above document type declaration. + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0 Level 2//EN"> + + This document type declaration also refers to the HTML DTD which + appears in 9.1, "HTML DTD". + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0 Level 1//EN"> + + This document type declaration refers to the level 1 HTML DTD in 9.3, + "Level 1 HTML DTD". Form elements must not occur in level 1 + documents. + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0 Strict//EN"> + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0 Strict Level 1//EN"> + + These two document type declarations refer to the HTML DTD in 9.2, + "Strict HTML DTD" and 9.4, "Strict Level 1 HTML DTD". They refer to + the more structurally rigid definition of HTML. + + HTML user agents may support other document types. In particular, + they may support other formal public identifiers, or other document + types altogether. They may support an internal declaration subset + with supplemental entity, element, and other markup declarations. + +3.4. Example HTML Document + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> + <HTML> + <!-- Here's a good place to put a comment. --> + <HEAD> + <TITLE>Structural Example</TITLE> + </HEAD><BODY> + <H1>First Header</H1> + <P>This is a paragraph in the example HTML file. Keep in mind + + + +Berners-Lee & Connolly Standards Track [Page 17] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + that the title does not appear in the document text, but that + the header (defined by H1) does.</P> + <OL> + <LI>First item in an ordered list. + <LI>Second item in an ordered list. + <UL COMPACT> + <LI> Note that lists can be nested; + <LI> Whitespace may be used to assist in reading the + HTML source. + </UL> + <LI>Third item in an ordered list. + </OL> + <P>This is an additional paragraph. Technically, end tags are + not required for paragraphs, although they are allowed. You can + include character highlighting in a paragraph. <EM>This sentence + of the paragraph is emphasized.</EM> Note that the </P> + end tag has been omitted. + <P> + <IMG SRC ="triangle.xbm" alt="Warning: "> + Be sure to read these <b>bold instructions</b>. + </BODY></HTML> + +4. HTML as an Internet Media Type + + An HTML user agent allows users to interact with resources which have + HTML representations. At a minimum, it must allow users to examine + and navigate the content of HTML level 1 documents. HTML user agents + should be able to preserve all formatting distinctions represented in + an HTML document, and be able to simultaneously present resources + referred to by IMG elements (they may ignore some formatting + distinctions or IMG resources at the request of the user). Level 2 + HTML user agents should support form entry and submission. + +4.1. text/html media type + + This specification defines the Internet Media Type [IMEDIA] (formerly + referred to as the Content Type [MIME]) called `text/html'. The + following is to be registered with [IANA]. + + Media Type name + text + + Media subtype name + html + + Required parameters + none + + + + +Berners-Lee & Connolly Standards Track [Page 18] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + Optional parameters + level, charset + + Encoding considerations + any encoding is allowed + + Security considerations + see 10, "Security Considerations" + + The optional parameters are defined as follows: + + Level + The level parameter specifies the feature set used in + the document. The level is an integer number, implying + that any features of same or lower level may be present + in the document. Level 1 is all features defined in this + specification except those that require the <FORM> + element. Level 2 includes form processing. Level 2 is + the default. + + Charset + The charset parameter (as defined in section 7.1.1 of + RFC 1521[MIME]) may be given to specify the character + encoding scheme used to represent the HTML document as a + sequence of octets. The default value is outside the + scope of this specification; but for example, the + default is `US-ASCII' in the context of MIME mail, and + `ISO-8859-1' in the context of HTTP [HTTP]. + +4.2. HTML Document Representation + + A message entity with a content type of `text/html' represents an + HTML document, consisting of a single text entity. The `charset' + parameter (whether implicit or explicit) identifies a character + encoding scheme. The text entity consists of the characters + determined by this character encoding scheme and the octets of the + body of the message entity. + +4.2.1. Undeclared Markup Error Handling + + To facilitate experimentation and interoperability between + implementations of various versions of HTML, the installed base of + HTML user agents supports a superset of the HTML 2.0 language by + reducing it to HTML 2.0: markup in the form of a start-tag or end- + tag, whose generic identifier is not declared is mapped to nothing + during tokenization. Undeclared attributes are treated similarly. The + entire attribute specification of an unknown attribute (i.e., the + unknown attribute and its value, if any) should be ignored. On the + + + +Berners-Lee & Connolly Standards Track [Page 19] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + other hand, references to undeclared entities should be treated as + data characters. + + For example: + + <div class=chapter><h1>foo</h1><p>...</div> + => <H1>,"foo",</H1>,<P>,"..." + xxx <P ID=z23> yyy + => "xxx ",<P>," yyy + Let α & β be finite sets. + => "Let α & β be finite sets." + + Support for notifying the user of such errors is encouraged. + + Information providers are warned that this convention is not binding: + unspecified behavior may result, as such markup does not conform to + this specification. + +4.2.2. Conventional Representation of Newlines + + SGML specifies that a text entity is a sequence of records, each + beginning with a record start character and ending with a record end + character (code positions 10 and 13 respectively) (section 7.6.1, + "Record Boundaries" in [SGML]). + + [MIME] specifies that a body of type `text/*' is a sequence of lines, + each terminated by CRLF, that is, octets 13, 10. + + In practice, HTML documents are frequently represented and + transmitted using an end of line convention that depends on the + conventions of the source of the document; frequently, that + representation consists of CR only, LF only, or a CR LF sequence. + Hence the decoding of the octets will often result in a text entity + with some missing record start and record end characters. + + Since there is no ambiguity, HTML user agents are encouraged to infer + the missing record start and end characters. + + An HTML user agent should treat end of line in any of its variations + as a word space in all contexts except preformatted text. Within + preformatted text, an HTML user agent should treat any of the three + common representations of end-of-line as starting a new line. + +5. Document Structure + + An HTML document is a tree of elements, including a head and body, + headings, paragraphs, lists, etc. Form elements are discussed in 8, + "Forms". + + + +Berners-Lee & Connolly Standards Track [Page 20] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +5.1. Document Element: HTML + + The HTML document element consists of a head and a body, much like a + memo or a mail message. The head contains the title and optional + elements. The body is a text flow consisting of paragraphs, lists, + and other elements. + +5.2. Head: HEAD + + The head of an HTML document is an unordered collection of + information about the document. For example: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> + <HEAD> + <TITLE>Introduction to HTML</TITLE> + </HEAD> + ... + +5.2.1. Title: TITLE + + Every HTML document must contain a <TITLE> element. + + The title should identify the contents of the document in a global + context. A short title, such as "Introduction" may be meaningless out + of context. A title such as "Introduction to HTML Elements" is more + appropriate. + + NOTE - The length of a title is not limited; however, long titles + may be truncated in some applications. To minimize this + possibility, titles should be fewer than 64 characters. + + A user agent may display the title of a document in a history list or + as a label for the window displaying the document. This differs from + headings (5.4, "Headings: H1 ... H6"), which are typically displayed + within the body text flow. + +5.2.2. Base Address: BASE + + The optional <BASE> element provides a base address for interpreting + relative URLs when the document is read out of context (see 7, + "Hyperlinks"). The value of the HREF attribute must be an absolute + URI. + +5.2.3. Keyword Index: ISINDEX + + The <ISINDEX> element indicates that the user agent should allow the + user to search an index by giving keywords. See 7.5, "Queries and + Indexes" for details. + + + +Berners-Lee & Connolly Standards Track [Page 21] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +5.2.4. Link: LINK + + The <LINK> element represents a hyperlink (see 7, "Hyperlinks"). Any + number of LINK elements may occur in the <HEAD> element of an HTML + document. It has the same attributes as the <A> element (see 5.7.3, + "Anchor: A"). + + The <LINK> element is typically used to indicate authorship, related + indexes and glossaries, older or more recent versions, document + hierarchy, associated resources such as style sheets, etc. + +5.2.5. Associated Meta-information: META + + The <META> element is an extensible container for use in identifying + specialized document meta-information. Meta-information has two main + functions: + + * to provide a means to discover that the data set exists + and how it might be obtained or accessed; and + + * to document the content, quality, and features of a data + set, indicating its fitness for use. + + Each <META> element specifies a name/value pair. If multiple META + elements are provided with the same name, their combined contents-- + concatenated as a comma-separated list--is the value associated with + that name. + + NOTE - The <META> element should not be used where a + specific element, such as <TITLE>, would be more + appropriate. Rather than a <META> element with a URI as + the value of the CONTENT attribute, use a <LINK> + element. + + HTTP servers may read the content of the document <HEAD> to generate + header fields corresponding to any elements defining a value for the + attribute HTTP-EQUIV. + + NOTE - The method by which the server extracts document + meta-information is unspecified and not mandatory. The + <META> element only provides an extensible mechanism for + identifying and embedding document meta-information -- + how it may be used is up to the individual server + implementation and the HTML user agent. + + + + + + + +Berners-Lee & Connolly Standards Track [Page 22] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + Attributes of the META element: + + HTTP-EQUIV + binds the element to an HTTP header field. An HTTP + server may use this information to process the document. + In particular, it may include a header field in the + responses to requests for this document: the header name + is taken from the HTTP-EQUIV attribute value, and the + header value is taken from the value of the CONTENT + attribute. HTTP header names are not case sensitive. + + NAME + specifies the name of the name/value pair. If not + present, HTTP-EQUIV gives the name. + + CONTENT + specifies the value of the name/value pair. + + Examples + + If the document contains: + + <META HTTP-EQUIV="Expires" + CONTENT="Tue, 04 Dec 1993 21:29:02 GMT"> + <meta http-equiv="Keywords" CONTENT="Fred"> + <META HTTP-EQUIV="Reply-to" + content="fielding@ics.uci.edu (Roy Fielding)"> + <Meta Http-equiv="Keywords" CONTENT="Barney"> + + then the server may include the following header fields: + + Expires: Tue, 04 Dec 1993 21:29:02 GMT + Keywords: Fred, Barney + Reply-to: fielding@ics.uci.edu (Roy Fielding) + + as part of the HTTP response to a `GET' or `HEAD' request for + that document. + + An HTTP server must not use the <META> element to form an HTTP + response header unless the HTTP-EQUIV attribute is present. + + An HTTP server may disregard any <META> elements that specify + information controlled by the HTTP server, for example `Server', + + `Date', and `Last-modified'. + + + + + + +Berners-Lee & Connolly Standards Track [Page 23] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +5.2.6. Next Id: NEXTID + + The <NEXTID> element is included for historical reasons only. HTML + documents should not contain <NEXTID> elements. + + The <NEXTID> element gives a hint for the name to use for a new <A> + element when editing an HTML document. It should be distinct from all + NAME attribute values on <A> elements. For example: + + <NEXTID N=Z27> + +5.3. Body: BODY + + The <BODY> element contains the text flow of the document, including + headings, paragraphs, lists, etc. + + For example: + + <BODY> + <h1>Important Stuff</h1> + <p>Explanation about important stuff... + </BODY> + +5.4. Headings: H1 ... H6 + + The six heading elements, <H1> through <H6>, denote section headings. + Although the order and occurrence of headings is not constrained by + the HTML DTD, documents should not skip levels (for example, from H1 + to H3), as converting such documents to other representations is + often problematic. + + Example of use: + + <H1>This is a heading</H1> + Here is some text + <H2>Second level heading</H2> + Here is some more text. + + Typical renderings are: + + H1 + Bold, very-large font, centered. One or two blank lines + above and below. + + H2 + Bold, large font, flush-left. One or two blank lines + above and below. + + + + +Berners-Lee & Connolly Standards Track [Page 24] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + H3 + Italic, large font, slightly indented from the left + margin. One or two blank lines above and below. + + H4 + Bold, normal font, indented more than H3. One blank line + above and below. + + H5 + Italic, normal font, indented as H4. One blank line + above. + + H6 + Bold, indented same as normal text, more than H5. One + blank line above. + +5.5. Block Structuring Elements + + Block structuring elements include paragraphs, lists, and block + quotes. They must not contain heading elements, but they may contain + phrase markup, and in some cases, they may be nested. + +5.5.1. Paragraph: P + + The <P> element indicates a paragraph. The exact indentation, leading + space, etc. of a paragraph is not specified and may be a function of + other tags, style sheets, etc. + + Typically, paragraphs are surrounded by a vertical space of one line + or half a line. The first line in a paragraph is indented in some + cases. + + Example of use: + + <H1>This Heading Precedes the Paragraph</H1> + <P>This is the text of the first paragraph. + <P>This is the text of the second paragraph. Although you do not + need to start paragraphs on new lines, maintaining this + convention facilitates document maintenance.</P> + <P>This is the text of a third paragraph.</P> + +5.5.2. Preformatted Text: PRE + + The <PRE> element represents a character cell block of text and is + suitable for text that has been formatted for a monospaced font. + + The <PRE> tag may be used with the optional WIDTH attribute. The + WIDTH attribute specifies the maximum number of characters for a line + + + +Berners-Lee & Connolly Standards Track [Page 25] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + and allows the HTML user agent to select a suitable font and + indentation. + + Within preformatted text: + + * Line breaks within the text are rendered as a move to the + beginning of the next line. + + NOTE - References to the "beginning of a new line" + do not imply that the renderer is forbidden from + using a constant left indent for rendering + preformatted text. The left indent may be + constrained by the width required. + + * Anchor elements and phrase markup may be used. + + NOTE - Constraints on the processing of <PRE> + content may limit or prevent the ability of the HTML + user agent to faithfully render phrase markup. + + * Elements that define paragraph formatting (headings, + address, etc.) must not be used. + + NOTE - Some historical documents contain <P> tags in + <PRE> elements. User agents are encouraged to treat + this as a line break. A <P> tag followed by a + newline character should produce only one line + break, not a line break plus a blank line. + + * The horizontal tab character (code position 9 in the HTML + document character set) must be interpreted as the smallest + positive nonzero number of spaces which will leave the + number of characters so far on the line as a multiple of 8. + Documents should not contain tab characters, as they are not + supported consistently. + + Example of use: + + <PRE> + Line 1. + Line 2 is to the right of line 1. <a href="abc">abc</a> + Line 3 aligns with line 2. <a href="def">def</a> + </PRE> + + + + + + + + +Berners-Lee & Connolly Standards Track [Page 26] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +5.5.2.1. Example and Listing: XMP, LISTING + + The <XMP> and <LISTING> elements are similar to the <PRE> element, + but they have a different syntax. Their content is declared as CDATA, + which means that no markup except the end-tag open delimiter-in- + context is recognized (see 9.6 "Delimiter Recognition" of [SGML]). + + NOTE - In a previous draft of the HTML specification, the syntax + of <XMP> and <LISTING> elements allowed closing tags to be treated + as data characters, as long as the tag name was not <XMP> or + <LISTING>, respectively. + + Since CDATA declared content has a number of unfortunate interactions + with processing techniques and tends to be used and implemented + inconsistently, HTML documents should not contain <XMP> nor <LISTING> + elements -- the <PRE> tag is more expressive and more consistently + supported. + + The <LISTING> element should be rendered so that at least 132 + characters fit on a line. The <XMP> element should be rendered so + that at least 80 characters fit on a line but is otherwise identical + to the <LISTING> element. + + NOTE - In a previous draft, HTML included a <PLAINTEXT> element + that is similar to the <LISTING> element, except that there is no + closing tag: all characters after the <PLAINTEXT> start-tag are + data. + +5.5.3. Address: ADDRESS + + The <ADDRESS> element contains such information as address, signature + and authorship, often at the beginning or end of the body of a + document. + + Typically, the <ADDRESS> element is rendered in an italic typeface + and may be indented. + + Example of use: + + <ADDRESS> + Newsletter editor<BR> + J.R. Brown<BR> + JimquickPost News, Jimquick, CT 01234<BR> + Tel (123) 456 7890 + </ADDRESS> + + + + + + +Berners-Lee & Connolly Standards Track [Page 27] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +5.5.4. Block Quote: BLOCKQUOTE + + The <BLOCKQUOTE> element contains text quoted from another source. + + A typical rendering might be a slight extra left and right indent, + and/or italic font. The <BLOCKQUOTE> typically provides space above + and below the quote. + + Single-font rendition may reflect the quotation style of Internet + mail by putting a vertical line of graphic characters, such as the + greater than symbol (>), in the left margin. + + Example of use: + + I think the play ends + <BLOCKQUOTE> + <P>Soft you now, the fair Ophelia. Nymph, in thy orisons, be all + my sins remembered. + </BLOCKQUOTE> + but I am not sure. + +5.6. List Elements + + HTML includes a number of list elements. They may be used in + combination; for example, a <OL> may be nested in an <LI> element of + a <UL>. + + The COMPACT attribute suggests that a compact rendering be used. + +5.6.1. Unordered List: UL, LI + + The <UL> represents a list of items -- typically rendered as a + bulleted list. + + The content of a <UL> element is a sequence of <LI> elements. For + example: + + <UL> + <LI>First list item + <LI>Second list item + <p>second paragraph of second item + <LI>Third list item + </UL> + +5.6.2. Ordered List: OL + + The <OL> element represents an ordered list of items, sorted by + sequence or order of importance. It is typically rendered as a + + + +Berners-Lee & Connolly Standards Track [Page 28] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + numbered list. + + The content of a <OL> element is a sequence of <LI> elements. For + example: + + <OL> + <LI>Click the Web button to open URI window. + <LI>Enter the URI number in the text field of the Open URI + window. The Web document you specified is displayed. + <ol> + <li>substep 1 + <li>substep 2 + </ol> + <LI>Click highlighted text to move from one link to another. + </OL> + +5.6.3. Directory List: DIR + + The <DIR> element is similar to the <UL> element. It represents a + list of short items, typically up to 20 characters each. Items in a + directory list may be arranged in columns, typically 24 characters + wide. + + The content of a <DIR> element is a sequence of <LI> elements. + Nested block elements are not allowed in the content of <DIR> + elements. For example: + + <DIR> + <LI>A-H<LI>I-M + <LI>M-R<LI>S-Z + </DIR> + +5.6.4. Menu List: MENU + + The <MENU> element is a list of items with typically one line per + item. The menu list style is typically more compact than the style of + an unordered list. + + The content of a <MENU> element is a sequence of <LI> elements. + Nested block elements are not allowed in the content of <MENU> + elements. For example: + + <MENU> + <LI>First item in the list. + <LI>Second item in the list. + <LI>Third item in the list. + </MENU> + + + + +Berners-Lee & Connolly Standards Track [Page 29] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +5.6.5. Definition List: DL, DT, DD + + A definition list is a list of terms and corresponding definitions. + Definition lists are typically formatted with the term flush-left and + the definition, formatted paragraph style, indented after the term. + + The content of a <DL> element is a sequence of <DT> elements and/or + <DD> elements, usually in pairs. Multiple <DT> may be paired with a + single <DD> element. Documents should not contain multiple + consecutive <DD> elements. + + Example of use: + + <DL> + <DT>Term<DD>This is the definition of the first term. + <DT>Term<DD>This is the definition of the second term. + </DL> + + If the DT term does not fit in the DT column (typically one third of + the display area), it may be extended across the page with the DD + section moved to the next line, or it may be wrapped onto successive + lines of the left hand column. + + The optional COMPACT attribute suggests that a compact rendering be + used, because the list items are small and/or the entire list is + large. + + Unless the COMPACT attribute is present, an HTML user agent may leave + white space between successive DT, DD pairs. The COMPACT attribute + may also reduce the width of the left-hand (DT) column. + + <DL COMPACT> + <DT>Term<DD>This is the first definition in compact format. + <DT>Term<DD>This is the second definition in compact format. + </DL> + +5.7. Phrase Markup + + Phrases may be marked up according to idiomatic usage, typographic + appearance, or for use as hyperlink anchors. + + User agents must render highlighted phrases distinctly from plain + text. Additionally, <EM> content must be rendered as distinct from + <STRONG> content, and <B> content must rendered as distinct from <I> + content. + + Phrase elements may be nested within the content of other phrase + elements; however, HTML user agents may render nested phrase elements + + + +Berners-Lee & Connolly Standards Track [Page 30] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + indistinctly from non-nested elements: + + plain <B>bold <I>italic</I></B> may be rendered + the same as plain <B>bold </B><I>italic</I> + +5.7.1. Idiomatic Elements + + Phrases may be marked up to indicate certain idioms. + + NOTE - User agents may support the <DFN> element, not included in + this specification, as it has been deployed to some extent. It is + used to indicate the defining instance of a term, and it is + typically rendered in italic or bold italic. + +5.7.1.1. Citation: CITE + + The <CITE> element is used to indicate the title of a book or + other citation. It is typically rendered as italics. For example: + + He just couldn't get enough of <cite>The Grapes of Wrath</cite>. + +5.7.1.2. Code: CODE + + The <CODE> element indicates an example of code, typically + rendered in a mono-spaced font. The <CODE> element is intended for + short words or phrases of code; the <PRE> block structuring + element (5.5.2, "Preformatted Text: PRE") is more appropriate + for multiple-line listings. For example: + + The expression <code>x += 1</code> + is short for <code>x = x + 1</code>. + +5.7.1.3. Emphasis: EM + + The <EM> element indicates an emphasized phrase, typically + rendered as italics. For example: + + A singular subject <em>always</em> takes a singular verb. + +5.7.1.4. Keyboard: KBD + + The <KBD> element indicates text typed by a user, typically + rendered in a mono-spaced font. This is commonly used in + instruction manuals. For example: + + Enter <kbd>FIND IT</kbd> to search the database. + + + + + +Berners-Lee & Connolly Standards Track [Page 31] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +5.7.1.5. Sample: SAMP + + The <SAMP> element indicates a sequence of literal characters, + typically rendered in a mono-spaced font. For example: + + The only word containing the letters <samp>mt</samp> is dreamt. + +5.7.1.6. Strong Emphasis: STRONG + + The <STRONG> element indicates strong emphasis, typically rendered + in bold. For example: + + <strong>STOP</strong>, or I'll say "<strong>STOP</strong>" again! + +5.7.1.7. Variable: VAR + + The <VAR> element indicates a placeholder variable, typically + rendered as italic. For example: + + Type <SAMP>html-check <VAR>file</VAR> | more</SAMP> + to check <VAR>file</VAR> for markup errors. + +5.7.2. Typographic Elements + + Typographic elements are used to specify the format of marked + text. + + Typical renderings for idiomatic elements may vary between user + agents. If a specific rendering is necessary -- for example, when + referring to a specific text attribute as in "The italic parts are + mandatory" -- a typographic element can be used to ensure that the + intended typography is used where possible. + + NOTE - User agents may support some typographic elements not + included in this specification, as they have been deployed to some + extent. The <STRIKE> element indicates horizontal line through the + characters, and the <U> element indicates an underline. + +5.7.2.1. Bold: B + + The <B> element indicates bold text. Where bold typography is + unavailable, an alternative representation may be used. + +5.7.2.2. Italic: I + + The <I> element indicates italic text. Where italic typography is + unavailable, an alternative representation may be used. + + + + +Berners-Lee & Connolly Standards Track [Page 32] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +5.7.2.3. Teletype: TT + + The <TT> element indicates teletype (monospaced )text. Where a + teletype font is unavailable, an alternative representation may be + used. + +5.7.3. Anchor: A + + The <A> element indicates a hyperlink anchor (see 7, "Hyperlinks"). + At least one of the NAME and HREF attributes should be present. + Attributes of the <A> element: + + HREF + gives the URI of the head anchor of a hyperlink. + + NAME + gives the name of the anchor, and makes it available as + a head of a hyperlink. + + TITLE + suggests a title for the destination resource -- + advisory only. The TITLE attribute may be used: + + * for display prior to accessing the destination + resource, for example, as a margin note or on a + small box while the mouse is over the anchor, or + while the document is being loaded; + + * for resources that do not include a title, such as + graphics, plain text and Gopher menus, for use as a + window title. + + REL + The REL attribute gives the relationship(s) described by + the hyperlink. The value is a whitespace separated list + of relationship names. The semantics of link + relationships are not specified in this document. + + REV + same as the REL attribute, but the semantics of the + relationship are in the reverse direction. A link from A + to B with REL="X" expresses the same relationship as a + link from B to A with REV="X". An anchor may have both + REL and REV attributes. + + URN + specifies a preferred, more persistent identifier for + the head anchor of the hyperlink. The syntax and + + + +Berners-Lee & Connolly Standards Track [Page 33] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + semantics of the URN attribute are not yet specified. + + METHODS + specifies methods to be used in accessing the + destination, as a whitespace-separated list of names. + The set of applicable names is a function of the scheme + of the URI in the HREF attribute. For similar reasons as + for the TITLE attribute, it may be useful to include the + information in advance in the link. For example, the + HTML user agent may chose a different rendering as a + function of the methods allowed; for example, something + that is searchable may get a different icon. + +5.8. Line Break: BR + + The <BR> element specifies a line break between words (see 6, + "Characters, Words, and Paragraphs"). For example: + + <P> Pease porridge hot<BR> + Pease porridge cold<BR> + Pease porridge in the pot<BR> + Nine days old. + +5.9. Horizontal Rule: HR + + The <HR> element is a divider between sections of text; typically a + full width horizontal rule or equivalent graphic. For example: + + <HR> + <ADDRESS>February 8, 1995, CERN</ADDRESS> + </BODY> + +5.10. Image: IMG + + The <IMG> element refers to an image or icon via a hyperlink (see + 7.3, "Simultaneous Presentation of Image Resources"). + + HTML user agents may process the value of the ALT attribute as an + alternative to processing the image resource indicated by the SRC + attribute. + + NOTE - Some HTML user agents can process graphics linked via + anchors, but not <IMG> graphics. If a graphic is essential, it + should be referenced from an <A> element rather than an <IMG> + element. If the graphic is not essential, then the <IMG> element + is appropriate. + + Attributes of the <IMG> element: + + + +Berners-Lee & Connolly Standards Track [Page 34] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + ALIGN + alignment of the image with respect to the text + baseline. + + * `TOP' specifies that the top of the image aligns + with the tallest item on the line containing the + image. + + * `MIDDLE' specifies that the center of the image + aligns with the baseline of the line containing the + image. + + * `BOTTOM' specifies that the bottom of the image + aligns with the baseline of the line containing the + image. + + ALT + text to use in place of the referenced image resource, + for example due to processing constraints or user + preference. + + ISMAP + indicates an image map (see 7.6, "Image Maps"). + + SRC + specifies the URI of the image resource. + + NOTE - In practice, the media types of image + resources are limited to a few raster graphic + formats: typically `image/gif', `image/jpeg'. In + particular, `text/html' resources are not + intended to be used as image resources. + + Examples of use: + + <IMG SRC="triangle.xbm" ALT="Warning:"> Be sure + to read these instructions. + + <a href="http://machine/htbin/imagemap/sample"> + <IMG SRC="sample.xbm" ISMAP> + </a> + +6. Characters, Words, and Paragraphs + + An HTML user agent should present the body of an HTML document as a + collection of typeset paragraphs and preformatted text. Except for + preformatted elements (<PRE>, <XMP>, <LISTING>, <TEXTAREA>), each + block structuring element is regarded as a paragraph by taking the + + + +Berners-Lee & Connolly Standards Track [Page 35] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + data characters in its content and the content of its descendant + elements, concatenating them, and splitting the result into words, + separated by space, tab, or record end characters (and perhaps hyphen + characters). The sequence of words is typeset as a paragraph by + breaking it into lines. + +6.1. The HTML Document Character Set + + The document character set specified in 9.5, "SGML Declaration for + HTML" must be supported by HTML user agents. It includes the graphic + characters of Latin Alphabet No. 1, or simply Latin-1. Latin-1 + comprises 191 graphic characters, including the alphabets of most + Western European languages. + + NOTE - Use of the non-breaking space and soft hyphen indicator + characters is discouraged because support for them is not widely + deployed. + + NOTE - To support non-western writing systems, a larger character + repertoire will be specified in a future version of HTML. The + document character set will be [ISO-10646], or some subset that + agrees with [ISO-10646]; in particular, all numeric character + references must use code positions assigned by [ISO-10646]. + + In SGML applications, the use of control characters is limited in + order to maximize the chance of successful interchange over + heterogeneous networks and operating systems. In the HTML document + character set only three control characters are allowed: Horizontal + Tab, Carriage Return, and Line Feed (code positions 9, 13, and 10). + + The HTML DTD references the Added Latin 1 entity set, to allow + mnemonic representation of selected Latin 1 characters using only the + widely supported ASCII character repertoire. For example: + + Kurt Gödel was a famous logician and mathematician. + + See 9.7.2, "ISO Latin 1 Character Entity Set" for a table of the + "Added Latin 1" entities, and 13, "The HTML Coded Character Set" for + a table of the code positions of [ISO 8859-1] and the control + characters in the HTML document character set. + +7. Hyperlinks + + In addition to general purpose elements such as paragraphs and lists, + HTML documents can express hyperlinks. An HTML user agent allows the + user to navigate these hyperlinks. + + + + + +Berners-Lee & Connolly Standards Track [Page 36] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + A hyperlink is a relationship between two anchors, called the head + and the tail of the hyperlink[DEXTER]. Anchors are identified by an + anchor address: an absolute Uniform Resource Identifier (URI), + optionally followed by a '#' and a sequence of characters called a + fragment identifier. For example: + + http://www.w3.org/hypertext/WWW/TheProject.html + http://www.w3.org/hypertext/WWW/TheProject.html#z31 + + In an anchor address, the URI refers to a resource; it may be used in + a variety of information retrieval protocols to obtain an entity that + represents the resource, such as an HTML document. The fragment + identifier, if present, refers to some view on, or portion of the + resource. + + Each of the following markup constructs indicates the tail anchor of + a hyperlink or set of hyperlinks: + + * <A> elements with HREF present. + + * <LINK> elements. + + * <IMG> elements. + + * <INPUT> elements with the SRC attribute present. + + * <ISINDEX> elements. + + * <FORM> elements with `METHOD=GET'. + + These markup constructs refer to head anchors by a URI, either + absolute or relative, or a fragment identifier, or both. + + In the case of a relative URI, the absolute URI in the address of the + head anchor is the result of combining the relative URI with a base + absolute URI as in [RELURL]. The base document is taken from the + document's <BASE> element, if present; else, it is determined as in + [RELURL]. + +7.1. Accessing Resources + + Once the address of the head anchor is determined, the user agent may + obtain a representation of the resource. + + For example, if the base URI is `http://host/x/y.html' and the + document contains: + + <img src="../icons/abc.gif"> + + + +Berners-Lee & Connolly Standards Track [Page 37] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + then the user agent uses the URI `http://host/icons/abc.gif' to + access the resource, as in [URL].. + +7.2. Activation of Hyperlinks + + An HTML user agent allows the user to navigate the content of the + document and request activation of hyperlinks denoted by <A> + elements. HTML user agents should also allow activation of <LINK> + element hyperlinks. + + To activate a link, the user agent obtains a representation of the + resource identified in the address of the head anchor. If the + representation is another HTML document, navigation may begin again + with this new document. + +7.3. Simultaneous Presentation of Image Resources + + An HTML user agent may activate hyperlinks indicated by <IMG> and + <INPUT> elements concurrently with processing the document; that is, + image hyperlinks may be processed without explicit request by the + user. Image resources should be embedded in the presentation at the + point of the tail anchor, that is the <IMG> or <INPUT> element. + + <LINK> hyperlinks may also be processed without explicit user + request; for example, style sheet resources may be processed before + or during the processing of the document. + +7.4. Fragment Identifiers + + Any characters following a `#' character in a hypertext address + constitute a fragment identifier. In particular, an address of the + form `#fragment' refers to an anchor in the same document. + + The meaning of fragment identifiers depends on the media type of the + representation of the anchor's resource. For `text/html' + representations, it refers to the <A> element with a NAME attribute + whose value is the same as the fragment identifier. The matching is + case sensitive. The document should have exactly one such element. + The user agent should indicate the anchor element, for example by + scrolling to and/or highlighting the phrase. + + For example, if the base URI is `http://host/x/y.html' and the user + activated the link denoted by the following markup: + + <p> See: <a href="app1.html#bananas">appendix 1</a> + for more detail on bananas. + + + + + +Berners-Lee & Connolly Standards Track [Page 38] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + Then the user agent accesses the resource identified by + `http://host/x/app1.html'. Assuming the resource is represented using + the `text/html' media type, the user agent must locate the <A> + element whose NAME attribute is `bananas' and begin navigation there. + +7.5. Queries and Indexes + + The <ISINDEX> element represents a set of hyperlinks. The user can + choose from the set by providing keywords to the user agent. The + user agent computes the head URI by appending `?' and the keywords to + the base URI. The keywords are escaped according to [URL] and joined + by `+'. For example, if a document contains: + + <BASE HREF="http://host/index"> + <ISINDEX> + + and the user provides the keywords `apple' and `berry', then the + user agent must access the resource + `http://host/index?apple+berry'. + + <FORM> elements with `METHOD=GET' also represent sets of + hyperlinks. See 8.2.2, "Query Forms: METHOD=GET" for details. + +7.6. Image Maps + + If the ISMAP attribute is present on an <IMG> element, the <IMG> + element must be contained in an <A> element with an HREF present. + This construct represents a set of hyperlinks. The user can choose + from the set by choosing a pixel of the image. The user agent + computes the head URI by appending `?' and the x and y coordinates of + the pixel to the URI given in the <A> element. For example, if a + document contains: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> + <head><title>ImageMap Example</title> + <BASE HREF="http://host/index"></head> + <body> + <p> Choose any of these icons:<br> + <a href="/cgi-bin/imagemap"><img ismap src="icons.gif"></a> + + and the user chooses the upper-leftmost pixel, the chosen + hyperlink is the one with the URI + `http://host/cgi-bin/imagemap?0,0'. + + + + + + + + +Berners-Lee & Connolly Standards Track [Page 39] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +8. Forms + + A form is a template for a form data set and an associated + method and action URI. A form data set is a sequence of + name/value pair fields. The names are specified on the NAME + attributes of form input elements, and the values are given + initial values by various forms of markup and edited by the + user. The resulting form data set is used to access an + information service as a function of the action and method. + + Forms elements can be mixed in with document structuring + elements. For example, a <PRE> element may contain a <FORM> + element, or a <FORM> element may contain lists which contain + <INPUT> elements. This gives considerable flexibility in + designing the layout of forms. + + Form processing is a level 2 feature. + +8.1. Form Elements + +8.1.1. Form: FORM + + The <FORM> element contains a sequence of input elements, along + with document structuring elements. The attributes are: + + ACTION + specifies the action URI for the form. The action URI of + a form defaults to the base URI of the document (see 7, + "Hyperlinks"). + + METHOD + selects a method of accessing the action URI. The set of + applicable methods is a function of the scheme of the + action URI of the form. See 8.2.2, "Query Forms: + METHOD=GET" and 8.2.3, "Forms with Side-Effects: + METHOD=POST". + + ENCTYPE + specifies the media type used to encode the name/value + pairs for transport, in case the protocol does not + itself impose a format. See 8.2.1, "The form-urlencoded + Media Type". + +8.1.2. Input Field: INPUT + + The <INPUT> element represents a field for user input. The TYPE + attribute discriminates between several variations of fields. + + + + +Berners-Lee & Connolly Standards Track [Page 40] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + The <INPUT> element has a number of attributes. The set of applicable + attributes depends on the value of the TYPE attribute. + +8.1.2.1. Text Field: INPUT TYPE=TEXT + + The default value of the TYPE attribute is `TEXT', indicating a + single line text entry field. (Use the <TEXTAREA> element for multi- + line text fields.) + + Required attributes are: + + NAME + name for the form field corresponding to this element. + + The optional attributes are: + + MAXLENGTH + constrains the number of characters that can be entered + into a text input field. If the value of MAXLENGTH is + greater the the value of the SIZE attribute, the field + should scroll appropriately. The default number of + characters is unlimited. + + SIZE + specifies the amount of display space allocated to this + input field according to its type. The default depends + on the user agent. + + VALUE + The initial value of the field. + + For example: + +<p>Street Address: <input name=street><br> +Postal City code: <input name=city size=16 maxlength=16><br> +Zip Code: <input name=zip size=10 maxlength=10 value="99999-9999"><br> + +8.1.2.2. Password Field: INPUT TYPE=PASSWORD + + An <INPUT> element with `TYPE=PASSWORD' is a text field as above, + except that the value is obscured as it is entered. (see also: 10, + "Security Considerations"). + + For example: + +<p>Name: <input name=login> Password: <input type=password name=passwd> + + + + + +Berners-Lee & Connolly Standards Track [Page 41] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +8.1.2.3. Check Box: INPUT TYPE=CHECKBOX + + An <INPUT> element with `TYPE=CHECKBOX' represents a boolean choice. + A set of such elements with the same name represents an n-of-many + choice field. Required attributes are: + + NAME + symbolic name for the form field corresponding to this + element or group of elements. + + VALUE + The portion of the value of the field contributed by + this element. + + Optional attributes are: + + CHECKED + indicates that the initial state is on. + + For example: + + <p>What flavors do you like? + <input type=checkbox name=flavor value=vanilla>Vanilla<br> + <input type=checkbox name=flavor value=strawberry>Strawberry<br> + <input type=checkbox name=flavor value=chocolate checked>Chocolate<br> + +8.1.2.4. Radio Button: INPUT TYPE=RADIO + + An <INPUT> element with `TYPE=RADIO' represents a boolean choice. A + set of such elements with the same name represents a 1-of-many choice + field. The NAME and VALUE attributes are required as for check boxes. + Optional attributes are: + + CHECKED + indicates that the initial state is on. + At all times, exactly one of the radio buttons in a set is checked. + If none of the <INPUT> elements of a set of radio buttons specifies + `CHECKED', then the user agent must check the first radio button of + the set initially. + + For example: + + <p>Which is your favorite? + <input type=radio name=flavor value=vanilla>Vanilla<br> + <input type=radio name=flavor value=strawberry>Strawberry<br> + <input type=radio name=flavor value=chocolate>Chocolate<br> + + + + + +Berners-Lee & Connolly Standards Track [Page 42] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +8.1.2.5. Image Pixel: INPUT TYPE=IMAGE + + An <INPUT> element with `TYPE=IMAGE' specifies an image resource to + display, and allows input of two form fields: the x and y coordinate + of a pixel chosen from the image. The names of the fields are the + name of the field with `.x' and `.y' appended. `TYPE=IMAGE' implies + `TYPE=SUBMIT' processing; that is, when a pixel is chosen, the form + as a whole is submitted. + + The NAME attribute is required as for other input fields. The SRC + attribute is required and the ALIGN is optional as for the <IMG> + element (see 5.10, "Image: IMG"). + + For example: + + <p>Choose a point on the map: + <input type=image name=point src="map.gif"> + +8.1.2.6. Hidden Field: INPUT TYPE=HIDDEN + + An <INPUT> element with `TYPE=HIDDEN' represents a hidden field.The + user does not interact with this field; instead, the VALUE attribute + specifies the value of the field. The NAME and VALUE attributes are + required. + + For example: + + <input type=hidden name=context value="l2k3j4l2k3j4l2k3j4lk23"> + +8.1.2.7. Submit Button: INPUT TYPE=SUBMIT + + An <INPUT> element with `TYPE=SUBMIT' represents an input option, + typically a button, that instructs the user agent to submit the form. + Optional attributes are: + + NAME + indicates that this element contributes a form field + whose value is given by the VALUE attribute. If the NAME + attribute is not present, this element does not + contribute a form field. + + VALUE + indicates a label for the input (button). + + You may submit this request internally: + <input type=submit name=recipient value=internal><br> + or to the external world: + <input type=submit name=recipient value=world> + + + +Berners-Lee & Connolly Standards Track [Page 43] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +8.1.2.8. Reset Button: INPUT TYPE=RESET + + An <INPUT> element with `TYPE=RESET' represents an input option, + typically a button, that instructs the user agent to reset the form's + fields to their initial states. The VALUE attribute, if present, + indicates a label for the input (button). + + When you are finished, you may submit this request: + <input type=submit><br> + You may clear the form and start over at any time: <input type=reset> + +8.1.3. Selection: SELECT + + The <SELECT> element constrains the form field to an enumerated list + of values. The values are given in <OPTION> elements. Attributes + are: + + MULTIPLE + indicates that more than one option may be included in + the value. + + NAME + specifies the name of the form field. + + SIZE + specifies the number of visible items. Select fields of + size one are typically pop-down menus, whereas select + fields with size greater than one are typically lists. + + For example: + + <SELECT NAME="flavor"> + <OPTION>Vanilla + <OPTION>Strawberry + <OPTION value="RumRasin">Rum and Raisin + <OPTION selected>Peach and Orange + </SELECT> + + The initial state has the first option selected, unless a SELECTED + attribute is present on any of the <OPTION> elements. + +8.1.3.1. Option: OPTION + + The Option element can only occur within a Select element. It + represents one choice, and has the following attributes: + + SELECTED + Indicates that this option is initially selected. + + + +Berners-Lee & Connolly Standards Track [Page 44] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + VALUE + indicates the value to be returned if this option is + chosen. The field value defaults to the content of the + <OPTION> element. + + The content of the <OPTION> element is presented to the user to + represent the option. It is used as a returned value if the VALUE + attribute is not present. + +8.1.4. Text Area: TEXTAREA + + The <TEXTAREA> element represents a multi-line text field. + Attributes are: + + COLS + the number of visible columns to display for the text + area, in characters. + + NAME + Specifies the name of the form field. + + ROWS + The number of visible rows to display for the text area, + in characters. + + For example: + + <TEXTAREA NAME="address" ROWS=6 COLS=64> + HaL Computer Systems + 1315 Dell Avenue + Campbell, California 95008 + </TEXTAREA> + + The content of the <TEXTAREA> element is the field's initial value. + + Typically, the ROWS and COLS attributes determine the visible + dimension of the field in characters. The field is typically rendered + in a fixed-width font. HTML user agents should allow text to extend + beyond these limits by scrolling as needed. + +8.2. Form Submission + + An HTML user agent begins processing a form by presenting the + document with the fields in their initial state. The user is allowed + to modify the fields, constrained by the field type etc. When the + user indicates that the form should be submitted (using a submit + button or image input), the form data set is processed according to + its method, action URI and enctype. + + + +Berners-Lee & Connolly Standards Track [Page 45] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + When there is only one single-line text input field in a form, the + user agent should accept Enter in that field as a request to submit + the form. + +8.2.1. The form-urlencoded Media Type + + The default encoding for all forms is `application/x-www-form- + urlencoded'. A form data set is represented in this media type as + follows: + + 1. The form field names and values are escaped: space + characters are replaced by `+', and then reserved characters + are escaped as per [URL]; that is, non-alphanumeric + characters are replaced by `%HH', a percent sign and two + hexadecimal digits representing the ASCII code of the + character. Line breaks, as in multi-line text field values, + are represented as CR LF pairs, i.e. `%0D%0A'. + + 2. The fields are listed in the order they appear in the + document with the name separated from the value by `=' and + the pairs separated from each other by `&'. Fields with null + values may be omitted. In particular, unselected radio + buttons and checkboxes should not appear in the encoded + data, but hidden fields with VALUE attributes present + should. + + NOTE - The URI from a query form submission can be + used in a normal anchor style hyperlink. + Unfortunately, the use of the `&' character to + separate form fields interacts with its use in SGML + attribute values as an entity reference delimiter. + For example, the URI `http://host/?x=1&y=2' must be + written `<a href="http://host/?x=1&y=2"' or `<a + href="http://host/?x=1&y=2">'. + + HTTP server implementors, and in particular, CGI + implementors are encouraged to support the use of + `;' in place of `&' to save users the trouble of + escaping `&' characters this way. + +8.2.2. Query Forms: METHOD=GET + + If the processing of a form is idempotent (i.e. it has no lasting + observable effect on the state of the world), then the form method + should be `GET'. Many database searches have no visible side-effects + and make ideal applications of query forms. + + + + + +Berners-Lee & Connolly Standards Track [Page 46] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + To process a form whose action URL is an HTTP URL and whose method is + `GET', the user agent starts with the action URI and appends a `?' + and the form data set, in `application/x-www-form-urlencoded' format + as above. The user agent then traverses the link to this URI just as + if it were an anchor (see 7.2, "Activation of Hyperlinks"). + + NOTE - The URL encoding may result in very long URIs, which cause + some historical HTTP server implementations to exhibit defective + behavior. As a result, some HTML forms are written using + `METHOD=POST' even though the form submission has no side-effects. + +8.2.3. Forms with Side-Effects: METHOD=POST + + If the service associated with the processing of a form has side + effects (for example, modification of a database or subscription to a + service), the method should be `POST'. + + To process a form whose action URL is an HTTP URL and whose method is + `POST', the user agent conducts an HTTP POST transaction using the + action URI, and a message body of type `application/x-www-form- + urlencoded' format as above. The user agent should display the + response from the HTTP POST interaction just as it would display the + response from an HTTP GET above. + +8.2.4. Example Form Submission: Questionnaire Form + + Consider the following document: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> + <title>Sample of HTML Form Submission</title> + <H1>Sample Questionnaire</H1> + <P>Please fill out this questionnaire: + <FORM METHOD="POST" ACTION="http://www.w3.org/sample"> + <P>Your name: <INPUT NAME="name" size="48"> + <P>Male <INPUT NAME="gender" TYPE=RADIO VALUE="male"> + <P>Female <INPUT NAME="gender" TYPE=RADIO VALUE="female"> + <P>Number in family: <INPUT NAME="family" TYPE=text> + <P>Cities in which you maintain a residence: + <UL> + <LI>Kent <INPUT NAME="city" TYPE=checkbox VALUE="kent"> + <LI>Miami <INPUT NAME="city" TYPE=checkbox VALUE="miami"> + <LI>Other <TEXTAREA NAME="other" cols=48 rows=4></textarea> + </UL> + Nickname: <INPUT NAME="nickname" SIZE="42"> + <P>Thank you for responding to this questionnaire. + <P><INPUT TYPE=SUBMIT> <INPUT TYPE=RESET> + </FORM> + + + + +Berners-Lee & Connolly Standards Track [Page 47] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + The initial state of the form data set is: + + name + "" + + gender + "male" + + family + "" + + other + "" + + nickname + "" + + Note that the radio input has an initial value, while the + checkbox has none. + + The user might edit the fields and request that the form be + submitted. At that point, suppose the values are: + + name + "John Doe" + + gender + "male" + + family + "5" + + city + "kent" + + city + "miami" + + other + "abc\ndefk" + + nickname + "J&D" + + The user agent then conducts an HTTP POST transaction using the URI + `http://www.w3.org/sample'. The message body would be (ignore the + line break): + + + + +Berners-Lee & Connolly Standards Track [Page 48] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + name=John+Doe&gender=male&family=5&city=kent&city=miami& + other=abc%0D%0Adef&nickname=J%26D + +9. HTML Public Text + +9.1. HTML DTD + + This is the Document Type Definition for the HyperText Markup + Language, level 2. + +<!-- html.dtd + + Document Type Definition for the HyperText Markup Language + (HTML DTD) + + $Id: html.dtd,v 1.30 1995/09/21 23:30:19 connolly Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: html.decl, html-1.dtd + http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.0//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> + <html> + ... + </html> + -- + > + + +<!--============ Feature Test Entities ========================--> + +<!ENTITY % HTML.Recommended "IGNORE" + -- Certain features of the language are necessary for + compatibility with widespread usage, but they may + compromise the structural integrity of a document. + This feature test entity enables a more prescriptive + document type definition that eliminates + those features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> + + + +Berners-Lee & Connolly Standards Track [Page 49] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for + compatibility with earlier versions of the specification, + but they tend to be used and implemented inconsistently, + and their use is deprecated. This feature test entity + enables a document type definition that eliminates + these features. + --> + +<!ENTITY % HTML.Highlighting "INCLUDE" + -- Use this feature test entity to validate that a + document uses no highlighting tags, which may be + ignored on minimal implementations. + --> + +<!ENTITY % HTML.Forms "INCLUDE" + -- Use this feature test entity to validate that a document + contains no forms, which may not be supported in minimal + implementations + --> + +<!--============== Imported Names ==============================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning an internet media type + (aka MIME content type, as per RFC1521) + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification, in progress + --> + +<!--========= DTD "Macros" =====================--> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list " UL | OL | DIR | MENU " > + + +<!--======= Character mnemonic entities =================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!ENTITY amp CDATA "&" -- ampersand --> + + + +Berners-Lee & Connolly Standards Track [Page 50] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> + + +<!--========= SGML Document Access (SDA) Parameter Entities =====--> + +<!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes +in support of easy transformation to the International Committee +for Accessible Document Design (ICADD) DTD + "-//EC-USA-CDA/ICADD//DTD ICADD22//EN". +ICADD applications are designed to support usable access to +structured information by print-impaired individuals through +Braille, large print and voice synthesis. For more information on +SDA & ICADD: + - ISO 12083:1993, Annex A.8, Facilities for Braille, + large print and computer voice + - ICADD ListServ + <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu> + - Usenet news group bit.listserv.easi + - Recording for the Blind, +1 800 221 4792 +--> + +<!ENTITY % SDAFORM "SDAFORM CDATA #FIXED" + -- one to one mapping --> +<!ENTITY % SDARULE "SDARULE CDATA #FIXED" + -- context-sensitive mapping --> +<!ENTITY % SDAPREF "SDAPREF CDATA #FIXED" + -- generated text prefix --> +<!ENTITY % SDASUFF "SDASUFF CDATA #FIXED" + -- generated text suffix --> +<!ENTITY % SDASUSP "SDASUSP NAME #FIXED" + -- suspend transform process --> + + +<!--========== Text Markup =====================--> + +<![ %HTML.Highlighting [ + +<!ENTITY % font " TT | B | I "> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE "> + +<!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font"> + +<!ELEMENT (%font;|%phrase) - - (%text)*> +<!ATTLIST ( TT | CODE | SAMP | KBD | VAR ) + %SDAFORM; "Lit" + + + +Berners-Lee & Connolly Standards Track [Page 51] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + > +<!ATTLIST ( B | STRONG ) + %SDAFORM; "B" + > +<!ATTLIST ( I | EM | CITE ) + %SDAFORM; "It" + > + +<!-- <TT> Typewriter text --> +<!-- <B> Bold text --> +<!-- <I> Italic text --> + +<!-- <EM> Emphasized phrase --> +<!-- <STRONG> Strong emphasis --> +<!-- <CODE> Source code phrase --> +<!-- <SAMP> Sample text or characters --> +<!-- <KBD> Keyboard phrase, e.g. user input --> +<!-- <VAR> Variable phrase or substitutable --> +<!-- <CITE> Name or title of cited work --> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase"> + +]]> + +<!ENTITY % text "#PCDATA | A | IMG | BR"> + +<!ELEMENT BR - O EMPTY> +<!ATTLIST BR + %SDAPREF; "&#RE;" + > + +<!-- <BR> Line break --> + + +<!--========= Link Markup ======================--> + +<!ENTITY % linkType "NAMES"> + +<!ENTITY % linkExtraAttributes + "REL %linkType #IMPLIED + REV %linkType #IMPLIED + URN CDATA #IMPLIED + TITLE CDATA #IMPLIED + METHODS NAMES #IMPLIED + "> + +<![ %HTML.Recommended [ + <!ENTITY % A.content "(%text)*" + + + +Berners-Lee & Connolly Standards Track [Page 52] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + -- <H1><a name="xxx">Heading</a></H1> + is preferred to + <a name="xxx"><H1>Heading</H1></a> + --> +]]> + +<!ENTITY % A.content "(%heading|%text)*"> + +<!ELEMENT A - - %A.content -(A)> +<!ATTLIST A + HREF CDATA #IMPLIED + NAME CDATA #IMPLIED + %linkExtraAttributes; + %SDAPREF; "<Anchor: #AttList>" + > +<!-- <A> Anchor; source/destination of link --> +<!-- <A NAME="..."> Name of this anchor --> +<!-- <A HREF="..."> Address of link destination --> +<!-- <A URN="..."> Permanent address of destination --> +<!-- <A REL=...> Relationship to destination --> +<!-- <A REV=...> Relationship of destination to this --> +<!-- <A TITLE="..."> Title of destination (advisory) --> +<!-- <A METHODS="..."> Operations on destination (advisory) --> + + +<!--========== Images ==========================--> + +<!ELEMENT IMG - O EMPTY> +<!ATTLIST IMG + SRC CDATA #REQUIRED + ALT CDATA #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + ISMAP (ISMAP) #IMPLIED + %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>" + > + +<!-- <IMG> Image; icon, glyph or illustration --> +<!-- <IMG SRC="..."> Address of image object --> +<!-- <IMG ALT="..."> Textual alternative --> +<!-- <IMG ALIGN=...> Position relative to text --> +<!-- <IMG ISMAP> Each pixel can be a link --> + +<!--========== Paragraphs=======================--> + +<!ELEMENT P - O (%text)*> +<!ATTLIST P + %SDAFORM; "Para" + > + + + +Berners-Lee & Connolly Standards Track [Page 53] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<!-- <P> Paragraph --> + + +<!--========== Headings, Titles, Sections ===============--> + +<!ELEMENT HR - O EMPTY> +<!ATTLIST HR + %SDAPREF; "&#RE;&#RE;" + > + +<!-- <HR> Horizontal rule --> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!ATTLIST H1 + %SDAFORM; "H1" + > +<!ATTLIST H2 + %SDAFORM; "H2" + > +<!ATTLIST H3 + %SDAFORM; "H3" + > +<!ATTLIST H4 + %SDAFORM; "H4" + > +<!ATTLIST H5 + %SDAFORM; "H5" + > +<!ATTLIST H6 + %SDAFORM; "H6" + > + +<!-- <H1> Heading, level 1 --> +<!-- <H2> Heading, level 2 --> +<!-- <H3> Heading, level 3 --> +<!-- <H4> Heading, level 4 --> +<!-- <H5> Heading, level 5 --> +<!-- <H6> Heading, level 6 --> + + +<!--========== Text Flows ======================--> + +<![ %HTML.Forms [ + <!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX"> +]]> + +<!ENTITY % block.forms "BLOCKQUOTE"> + + + + +Berners-Lee & Connolly Standards Track [Page 54] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!ENTITY % block "P | %list | DL + | %preformatted + | %block.forms"> + +<!ENTITY % flow "(%text|%block)*"> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR"> +<!ELEMENT PRE - - (%pre.content)*> +<!ATTLIST PRE + WIDTH NUMBER #implied + %SDAFORM; "Lit" + > + +<!-- <PRE> Preformatted text --> +<!-- <PRE WIDTH=...> Maximum characters per line --> + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ATTLIST XMP + %SDAFORM; "Lit" + %SDAPREF; "Example:&#RE;" + > +<!ATTLIST LISTING + %SDAFORM; "Lit" + %SDAPREF; "Listing:&#RE;" + > + +<!-- <XMP> Example section --> +<!-- <LISTING> Computer listing --> + +<!ELEMENT PLAINTEXT - O %literal> +<!-- <PLAINTEXT> Plain text passage --> + +<!ATTLIST PLAINTEXT + %SDAFORM; "Lit" + + + +Berners-Lee & Connolly Standards Track [Page 55] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + > +]]> + +<!--========== Lists ==================--> + +<!ELEMENT DL - - (DT | DD)+> +<!ATTLIST DL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "Definition List:" + > + +<!ELEMENT DT - O (%text)*> +<!ATTLIST DT + %SDAFORM; "Term" + > + +<!ELEMENT DD - O %flow> +<!ATTLIST DD + %SDAFORM; "LItem" + > + +<!-- <DL> Definition list, or glossary --> +<!-- <DL COMPACT> Compact style list --> +<!-- <DT> Term in definition list --> +<!-- <DD> Definition of term --> + +<!ELEMENT (OL|UL) - - (LI)+> +<!ATTLIST OL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + > +<!ATTLIST UL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + > +<!-- <UL> Unordered list --> +<!-- <UL COMPACT> Compact list style --> +<!-- <OL> Ordered, or numbered list --> +<!-- <OL COMPACT> Compact list style --> + + +<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> +<!ATTLIST DIR + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "<LHead>Directory</LHead>" + > + + + +Berners-Lee & Connolly Standards Track [Page 56] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<!ATTLIST MENU + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "<LHead>Menu</LHead>" + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!ELEMENT LI - O %flow> +<!ATTLIST LI + %SDAFORM; "LItem" + > + +<!-- <LI> List item --> + +<!--========== Document Body ===================--> + +<![ %HTML.Recommended [ + <!ENTITY % body.content "(%heading|%block|HR|ADDRESS|IMG)*" + -- <h1>Heading</h1> + <p>Text ... + is preferred to + <h1>Heading</h1> + Text ... + --> +]]> + +<!ENTITY % body.content "(%heading | %text | %block | + HR | ADDRESS)*"> + +<!ELEMENT BODY O O %body.content> + +<!-- <BODY> Document body --> + +<!ELEMENT BLOCKQUOTE - - %body.content> +<!ATTLIST BLOCKQUOTE + %SDAFORM; "BQ" + > + +<!-- <BLOCKQUOTE> Quoted passage --> + +<!ELEMENT ADDRESS - - (%text|P)*> +<!ATTLIST ADDRESS + %SDAFORM; "Lit" + %SDAPREF; "Address:&#RE;" + + + +Berners-Lee & Connolly Standards Track [Page 57] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + > + +<!-- <ADDRESS> Address, signature, or byline --> + + +<!--======= Forms ====================--> + +<![ %HTML.Forms [ + +<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> +<!ATTLIST FORM + ACTION CDATA #IMPLIED + METHOD (%HTTP-Method) GET + ENCTYPE %Content-Type; "application/x-www-form-urlencoded" + %SDAPREF; "<Para>Form:</Para>" + %SDASUFF; "<Para>Form End.</Para>" + > + +<!-- <FORM> Fill-out or data-entry form --> +<!-- <FORM ACTION="..."> Address for completed form --> +<!-- <FORM METHOD=...> Method of submitting form --> +<!-- <FORM ENCTYPE="..."> Representation of form data --> + +<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + IMAGE | HIDDEN )"> +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + TYPE %InputType TEXT + NAME CDATA #IMPLIED + VALUE CDATA #IMPLIED + SRC CDATA #IMPLIED + CHECKED (CHECKED) #IMPLIED + SIZE CDATA #IMPLIED + MAXLENGTH NUMBER #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + %SDAPREF; "Input: " + > + +<!-- <INPUT> Form input datum --> +<!-- <INPUT TYPE=...> Type of input interaction --> +<!-- <INPUT NAME=...> Name of form datum --> +<!-- <INPUT VALUE="..."> Default/initial/selected value --> +<!-- <INPUT SRC="..."> Address of image --> +<!-- <INPUT CHECKED> Initial state is "on" --> +<!-- <INPUT SIZE=...> Field size hint --> +<!-- <INPUT MAXLENGTH=...> Data length maximum --> +<!-- <INPUT ALIGN=...> Image alignment --> + + + +Berners-Lee & Connolly Standards Track [Page 58] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)> +<!ATTLIST SELECT + NAME CDATA #REQUIRED + SIZE NUMBER #IMPLIED + MULTIPLE (MULTIPLE) #IMPLIED + %SDAFORM; "List" + %SDAPREF; + "<LHead>Select #AttVal(Multiple)</LHead>" + > + +<!-- <SELECT> Selection of option(s) --> +<!-- <SELECT NAME=...> Name of form datum --> +<!-- <SELECT SIZE=...> Options displayed at a time --> +<!-- <SELECT MULTIPLE> Multiple selections allowed --> + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + SELECTED (SELECTED) #IMPLIED + VALUE CDATA #IMPLIED + %SDAFORM; "LItem" + %SDAPREF; + "Option: #AttVal(Value) #AttVal(Selected)" + > + +<!-- <OPTION> A selection option --> +<!-- <OPTION SELECTED> Initial state --> +<!-- <OPTION VALUE="..."> Form datum value for this option--> + +<!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)> +<!ATTLIST TEXTAREA + NAME CDATA #REQUIRED + ROWS NUMBER #REQUIRED + COLS NUMBER #REQUIRED + %SDAFORM; "Para" + %SDAPREF; "Input Text -- #AttVal(Name): " + > + +<!-- <TEXTAREA> An area for text input --> +<!-- <TEXTAREA NAME=...> Name of form datum --> +<!-- <TEXTAREA ROWS=...> Height of area --> +<!-- <TEXTAREA COLS=...> Width of area --> + +]]> + + +<!--======= Document Head ======================--> + +<![ %HTML.Recommended [ + + + +Berners-Lee & Connolly Standards Track [Page 59] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + <!ENTITY % head.extra ""> +]]> +<!ENTITY % head.extra "& NEXTID?"> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra"> + +<!ELEMENT HEAD O O (%head.content) +(META|LINK)> + +<!-- <HEAD> Document head --> + +<!ELEMENT TITLE - - (#PCDATA)* -(META|LINK)> +<!ATTLIST TITLE + %SDAFORM; "Ti" > + +<!-- <TITLE> Title of document --> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + HREF CDATA #REQUIRED + %linkExtraAttributes; + %SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>" > + +<!-- <LINK> Link from this document --> +<!-- <LINK HREF="..."> Address of link destination --> +<!-- <LINK URN="..."> Lasting name of destination --> +<!-- <LINK REL=...> Relationship to destination --> +<!-- <LINK REV=...> Relationship of destination to this --> +<!-- <LINK TITLE="..."> Title of destination (advisory) --> +<!-- <LINK METHODS="..."> Operations allowed (advisory) --> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + %SDAPREF; + "<Para>[Document is indexed/searchable.]</Para>"> + +<!-- <ISINDEX> Document is a searchable index --> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + HREF CDATA #REQUIRED > + +<!-- <BASE> Base context document --> +<!-- <BASE HREF="..."> Address for this document --> + +<!ELEMENT NEXTID - O EMPTY> +<!ATTLIST NEXTID + N CDATA #REQUIRED > + + + + +Berners-Lee & Connolly Standards Track [Page 60] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<!-- <NEXTID> Next ID to use for link name --> +<!-- <NEXTID N=...> Next ID to use for link name --> + +<!ELEMENT META - O EMPTY> +<!ATTLIST META + HTTP-EQUIV NAME #IMPLIED + NAME NAME #IMPLIED + CONTENT CDATA #REQUIRED > + +<!-- <META> Generic Meta-information --> +<!-- <META HTTP-EQUIV=...> HTTP response header name --> +<!-- <META NAME=...> Meta-information name --> +<!-- <META CONTENT="..."> Associated information --> + +<!--======= Document Structure =================--> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<!ATTLIST HTML + %version.attr; + %SDAFORM; "Book" + > + +<!-- <HTML> HTML Document --> + +9.2. Strict HTML DTD + + This document type declaration refers to the HTML DTD with the + `HTML.Recommended' entity defined as `INCLUDE' rather than IGNORE; + that is, it refers to the more structurally rigid definition of HTML. + +<!-- html-s.dtd + + Document Type Definition for the HyperText Markup Language + with strict validation (HTML Strict DTD). + + $Id: html-s.dtd,v 1.3 1995/06/02 18:55:46 connolly Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html +--> + + + + +Berners-Lee & Connolly Standards Track [Page 61] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.0 Strict//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC + "-//IETF//DTD HTML Strict//EN"> + <html> + ... + </html> + -- + > + +<!-- Feature Test Entities --> +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!ENTITY % html PUBLIC "-//IETF//DTD HTML 2.0//EN"> +%html; + +9.3. Level 1 HTML DTD + + This document type declaration refers to the HTML DTD with the + `HTML.Forms' entity defined as `IGNORE' rather than `INCLUDE'. + Documents which contain <FORM> elements do not conform to this DTD, + and must use the level 2 DTD. + +<!-- html-1.dtd + + Document Type Definition for the HyperText Markup Language + with Level 1 Extensions (HTML Level 1 DTD). + + $Id: html-1.dtd,v 1.2 1995/03/29 18:53:10 connolly Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html + +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.0 Level 1//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC + "-//IETF//DTD HTML Level 1//EN"> + <html> + ... + </html> + + + +Berners-Lee & Connolly Standards Track [Page 62] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + -- + > + +<!-- Feature Test Entities --> +<!ENTITY % HTML.Forms "IGNORE"> + +<!ENTITY % html PUBLIC "-//IETF//DTD HTML 2.0//EN"> +%html; + +9.4. Strict Level 1 HTML DTD + + This document type declaration refers to the level 1 HTML DTD with + the `HTML.Recommended' entity defined as `INCLUDE' rather than + IGNORE; that is, it refers to the more structurally rigid definition + of HTML. + +<!-- html-1s.dtd + + Document Type Definition for the HyperText Markup Language + Struct Level 1 + + $Id: html-1s.dtd,v 1.3 1995/06/02 18:55:43 connolly Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.0 Strict Level 1//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC + "-//IETF//DTD HTML Strict Level 1//EN"> + <html> + ... + </html> + -- + > + +<!-- Feature Test Entities --> + + +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!ENTITY % html-1 PUBLIC "-//IETF//DTD HTML 2.0 Level 1//EN"> +%html-1; + + + + +Berners-Lee & Connolly Standards Track [Page 63] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +9.5. SGML Declaration for HTML + + This is the SGML Declaration for HyperText Markup Language. + +<!SGML "ISO 8879:1986" +-- + SGML Declaration for HyperText Markup Language (HTML). + +-- + +CHARSET + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 9 UNUSED + 9 2 9 + 11 2 UNUSED + 13 1 13 + 14 18 UNUSED + 32 95 32 + 127 1 UNUSED + BASESET "ISO Registration Number 100//CHARSET + ECMA-94 Right Part of + Latin Alphabet Nr. 1//ESC 2/13 4/1" + + DESCSET 128 32 UNUSED + 160 96 32 + +CAPACITY SGMLREF + TOTALCAP 150000 + GRPCAP 150000 + ENTCAP 150000 + +SCOPE DOCUMENT +SYNTAX + SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 128 0 + FUNCTION + RE 13 + RS 10 + SPACE 32 + TAB SEPCHAR 9 + NAMING LCNMSTRT "" + UCNMSTRT "" + + + +Berners-Lee & Connolly Standards Track [Page 64] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + LCNMCHAR ".-" + UCNMCHAR ".-" + NAMECASE GENERAL YES + ENTITY NO + DELIM GENERAL SGMLREF + SHORTREF SGMLREF + NAMES SGMLREF + QUANTITY SGMLREF + ATTSPLEN 2100 + LITLEN 1024 + NAMELEN 72 -- somewhat arbitrary; taken from + internet line length conventions -- + PILEN 1024 + TAGLVL 100 + TAGLEN 2100 + GRPGTCNT 150 + GRPCNT 64 + +FEATURES + MINIMIZE + DATATAG NO + OMITTAG YES + RANK NO + SHORTTAG YES + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL YES + APPINFO "SDA" -- conforming SGML Document Access application + -- +> +<!-- + $Id: html.decl,v 1.17 1995/06/08 14:59:32 connolly Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + + See also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html + --> + +9.6. Sample SGML Open Entity Catalog for HTML + + The SGML standard describes an "entity manager" as the portion or + component of an SGML system that maps SGML entities into the actual + storage model (e.g., the file system). The standard itself does not + + + +Berners-Lee & Connolly Standards Track [Page 65] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + define a particular mapping methodology or notation. + + To assist the interoperability among various SGML tools and systems, + the SGML Open consortium has passed a technical resolution that + defines a format for an application-independent entity catalog that + maps external identifiers and/or entity names to file names. + + Each entry in the catalog associates a storage object identifier + (such as a file name) with information about the external entity that + appears in the SGML document. In addition to entries that associate + public identifiers, a catalog entry can associate an entity name with + a storage object identifier. For example, the following are possible + catalog entries: + + -- catalog: SGML Open style entity catalog for HTML -- + -- $Id: catalog,v 1.3 1995/09/21 23:30:23 connolly Exp $ -- + + -- Ways to refer to Level 2: most general to most specific -- +PUBLIC "-//IETF//DTD HTML//EN" html.dtd +PUBLIC "-//IETF//DTD HTML 2.0//EN" html.dtd +PUBLIC "-//IETF//DTD HTML Level 2//EN" html.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Level 2//EN" html.dtd + + -- Ways to refer to Level 1: most general to most specific -- +PUBLIC "-//IETF//DTD HTML Level 1//EN" html-1.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Level 1//EN" html-1.dtd + + -- Ways to refer to + Strict Level 2: most general to most specific -- +PUBLIC "-//IETF//DTD HTML Strict//EN" html-s.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Strict//EN" html-s.dtd +PUBLIC "-//IETF//DTD HTML Strict Level 2//EN" html-s.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Strict Level 2//EN" html-s.dtd + + -- Ways to refer to + Strict Level 1: most general to most specific -- +PUBLIC "-//IETF//DTD HTML Strict Level 1//EN" html-1s.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Strict Level 1//EN" html-1s.dtd + + -- ISO latin 1 entity set for HTML -- +PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" ISOlat1\ +sgml + +9.7. Character Entity Sets + + The HTML DTD defines the following entities. They represent + particular graphic characters which have special meanings in places + in the markup, or may not be part of the character set available to + + + +Berners-Lee & Connolly Standards Track [Page 66] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + the writer. + +9.7.1. Numeric and Special Graphic Entity Set + + The following table lists each of the characters included from the + Numeric and Special Graphic entity set, along with its name, syntax + for use, and description. This list is derived from `ISO Standard + 8879:1986//ENTITIES Numeric and Special Graphic//EN'. However, HTML + does not include for the entire entity set -- only the entities + listed below are included. + + GLYPH NAME SYNTAX DESCRIPTION + < lt < Less than sign + > gt > Greater than signn + & amp & Ampersand + " quot " Double quote sign + +9.7.2. ISO Latin 1 Character Entity Set + + The following public text lists each of the characters specified in + the Added Latin 1 entity set, along with its name, syntax for use, + and description. This list is derived from ISO Standard + 8879:1986//ENTITIES Added Latin 1//EN. HTML includes the entire + entity set. + +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> + %ISOlat1; +--> +<!-- Modified for use in HTML + $Id: ISOlat1.sgml,v 1.2 1994/11/30 23:45:12 connolly Exp $ --> +<!ENTITY AElig CDATA "Æ" -- capital AE diphthong (ligature) --> +<!ENTITY Aacute CDATA "Á" -- capital A, acute accent --> +<!ENTITY Acirc CDATA "Â" -- capital A, circumflex accent --> +<!ENTITY Agrave CDATA "À" -- capital A, grave accent --> +<!ENTITY Aring CDATA "Å" -- capital A, ring --> +<!ENTITY Atilde CDATA "Ã" -- capital A, tilde --> +<!ENTITY Auml CDATA "Ä" -- capital A, dieresis or umlaut mark --> +<!ENTITY Ccedil CDATA "Ç" -- capital C, cedilla --> +<!ENTITY ETH CDATA "Ð" -- capital Eth, Icelandic --> +<!ENTITY Eacute CDATA "É" -- capital E, acute accent --> +<!ENTITY Ecirc CDATA "Ê" -- capital E, circumflex accent --> + + + +Berners-Lee & Connolly Standards Track [Page 67] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<!ENTITY Egrave CDATA "È" -- capital E, grave accent --> +<!ENTITY Euml CDATA "Ë" -- capital E, dieresis or umlaut mark --> +<!ENTITY Iacute CDATA "Í" -- capital I, acute accent --> +<!ENTITY Icirc CDATA "Î" -- capital I, circumflex accent --> +<!ENTITY Igrave CDATA "Ì" -- capital I, grave accent --> +<!ENTITY Iuml CDATA "Ï" -- capital I, dieresis or umlaut mark --> +<!ENTITY Ntilde CDATA "Ñ" -- capital N, tilde --> +<!ENTITY Oacute CDATA "Ó" -- capital O, acute accent --> +<!ENTITY Ocirc CDATA "Ô" -- capital O, circumflex accent --> +<!ENTITY Ograve CDATA "Ò" -- capital O, grave accent --> +<!ENTITY Oslash CDATA "Ø" -- capital O, slash --> +<!ENTITY Otilde CDATA "Õ" -- capital O, tilde --> +<!ENTITY Ouml CDATA "Ö" -- capital O, dieresis or umlaut mark --> +<!ENTITY THORN CDATA "Þ" -- capital THORN, Icelandic --> +<!ENTITY Uacute CDATA "Ú" -- capital U, acute accent --> +<!ENTITY Ucirc CDATA "Û" -- capital U, circumflex accent --> +<!ENTITY Ugrave CDATA "Ù" -- capital U, grave accent --> +<!ENTITY Uuml CDATA "Ü" -- capital U, dieresis or umlaut mark --> +<!ENTITY Yacute CDATA "Ý" -- capital Y, acute accent --> +<!ENTITY aacute CDATA "á" -- small a, acute accent --> +<!ENTITY acirc CDATA "â" -- small a, circumflex accent --> +<!ENTITY aelig CDATA "æ" -- small ae diphthong (ligature) --> +<!ENTITY agrave CDATA "à" -- small a, grave accent --> +<!ENTITY aring CDATA "å" -- small a, ring --> +<!ENTITY atilde CDATA "ã" -- small a, tilde --> +<!ENTITY auml CDATA "ä" -- small a, dieresis or umlaut mark --> +<!ENTITY ccedil CDATA "ç" -- small c, cedilla --> +<!ENTITY eacute CDATA "é" -- small e, acute accent --> +<!ENTITY ecirc CDATA "ê" -- small e, circumflex accent --> +<!ENTITY egrave CDATA "è" -- small e, grave accent --> +<!ENTITY eth CDATA "ð" -- small eth, Icelandic --> +<!ENTITY euml CDATA "ë" -- small e, dieresis or umlaut mark --> +<!ENTITY iacute CDATA "í" -- small i, acute accent --> +<!ENTITY icirc CDATA "î" -- small i, circumflex accent --> +<!ENTITY igrave CDATA "ì" -- small i, grave accent --> +<!ENTITY iuml CDATA "ï" -- small i, dieresis or umlaut mark --> +<!ENTITY ntilde CDATA "ñ" -- small n, tilde --> +<!ENTITY oacute CDATA "ó" -- small o, acute accent --> +<!ENTITY ocirc CDATA "ô" -- small o, circumflex accent --> +<!ENTITY ograve CDATA "ò" -- small o, grave accent --> +<!ENTITY oslash CDATA "ø" -- small o, slash --> +<!ENTITY otilde CDATA "õ" -- small o, tilde --> +<!ENTITY ouml CDATA "ö" -- small o, dieresis or umlaut mark --> +<!ENTITY szlig CDATA "ß" -- small sharp s, German (sz ligature)-> +<!ENTITY thorn CDATA "þ" -- small thorn, Icelandic --> +<!ENTITY uacute CDATA "ú" -- small u, acute accent --> +<!ENTITY ucirc CDATA "û" -- small u, circumflex accent --> +<!ENTITY ugrave CDATA "ù" -- small u, grave accent --> + + + +Berners-Lee & Connolly Standards Track [Page 68] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +<!ENTITY uuml CDATA "ü" -- small u, dieresis or umlaut mark --> +<!ENTITY yacute CDATA "ý" -- small y, acute accent --> +<!ENTITY yuml CDATA "ÿ" -- small y, dieresis or umlaut mark --> + +10. Security Considerations + + Anchors, embedded images, and all other elements which contain URIs + as parameters may cause the URI to be dereferenced in response to + user input. In this case, the security considerations of [URL] apply. + + The widely deployed methods for submitting forms requests -- HTTP and + SMTP -- provide little assurance of confidentiality. Information + providers who request sensitive information via forms -- especially + by way of the `PASSWORD' type input field (see 8.1.2, "Input Field: + INPUT") -- should be aware and make their users aware of the lack of + confidentiality. + +11. References + + [URI] + Berners-Lee, T., "Universal Resource Identifiers in WWW: + A Unifying Syntax for the Expression of Names and + Addresses of Objects on the Network as used in the + World- Wide Web", RFC 1630, CERN, June 1994. + <URL:ftp://ds.internic.net/rfc/rfc1630.txt> + + [URL] + Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform + Resource Locators (URL)", RFC 1738, CERN, Xerox PARC, + University of Minnesota, December 1994. + <URL:ftp://ds.internic.net/rfc/rfc1738.txt> + + [HTTP] + Berners-Lee, T., Fielding, R., and H. Frystyk Nielsen, + "Hypertext Transfer Protocol - HTTP/1.0", Work in + Progress, MIT, UC Irvine, CERN, March 1995. + + [MIME] + Borenstein, N., and N. Freed. "MIME (Multipurpose + Internet Mail Extensions) Part One: Mechanisms for + Specifying and Describing the Format of Internet Message + Bodies", RFC 1521, Bellcore, Innosoft, September 1993. + <URL:ftp://ds.internic.net/rfc/rfc1521.txt> + + [RELURL] + Fielding, R., "Relative Uniform Resource Locators", RFC + 1808, June 1995 + <URL:ftp://ds.internic.net/rfc/rfc1808.txt> + + + +Berners-Lee & Connolly Standards Track [Page 69] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + [GOLD90] + Goldfarb, C., "The SGML Handbook", Y. Rubinsky, Ed., + Oxford University Press, 1990. + + [DEXTER] + Frank Halasz and Mayer Schwartz, "The Dexter Hypertext + Reference Model", Communications of the ACM, pp. + 30-39, vol. 37 no. 2, Feb 1994. + + [IMEDIA] + Postel, J., "Media Type Registration Procedure", + RFC 1590, USC/Information Sciences Institute, March 1994. + <URL:ftp://ds.internic.net/rfc/rfc1590.txt> + + [IANA] + Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, + RFC 1700, USC/Information Sciecnes Institute, October + 1994. <URL:ftp://ds.internic.net/rfc/rfc1700.txt> + + [SQ91] + SoftQuad. "The SGML Primer", 3rd ed., SoftQuad Inc., + 1991. <URL:http://www.sq.com/> + + [ISO-646] + ISO/IEC 646:1991 Information technology -- ISO 7-bit + coded character set for information interchange + <URL:http://www.iso.ch/cate/d4777.html> + + [ISO-10646] + ISO/IEC 10646-1:1993 Information technology -- Universal + Multiple-Octet Coded Character Set (UCS) -- Part 1: + Architecture and Basic Multilingual Plane + <URL:http://www.iso.ch/cate/d18741.html> + + [ISO-8859-1] + ISO 8859. International Standard -- Information + Processing -- 8-bit Single-Byte Coded Graphic Character + Sets -- Part 1: Latin Alphabet No. 1, ISO 8859-1:1987. + <URL:http://www.iso.ch/cate/d16338.html> + + [SGML] + ISO 8879. Information Processing -- Text and Office + Systems - Standard Generalized Markup Language (SGML), + 1986. <URL:http://www.iso.ch/cate/d16387.html> + + + + + + + +Berners-Lee & Connolly Standards Track [Page 70] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +12. Acknowledgments + + The HTML document type was designed by Tim Berners-Lee at CERN as + part of the 1990 World Wide Web project. In 1992, Dan Connolly wrote + the HTML Document Type Definition (DTD) and a brief HTML + specification. + + Since 1993, a wide variety of Internet participants have contributed + to the evolution of HTML, which has included the addition of in-line + images introduced by the NCSA Mosaic software for WWW. Dave Raggett + played an important role in deriving the forms material from the + HTML+ specification. + + Dan Connolly and Karen Olson Muldrow rewrote the HTML Specification + in 1994. The document was then edited by the HTML working group as a + whole, with updates being made by Eric Schieler, Mike Knezovich, and + Eric W. Sink at Spyglass, Inc. Finally, Roy Fielding restructured + the entire draft into its current form. + + Special thanks to the many active participants in the HTML working + group, too numerous to list individually, without whom there would be + no standards process and no standard. That this document approaches + its objective of carefully converging a description of current + practice and formalization of HTML's relationship to SGML is a + tribute to their effort. + +12.1. Authors' Addresses + + Tim Berners-Lee + Director, W3 Consortium + MIT Laboratory for Computer Science + 545 Technology Square + Cambridge, MA 02139, U.S.A. + + Phone: +1 (617) 253 9670 + Fax: +1 (617) 258 8682 + EMail: timbl@w3.org + + + Daniel W. Connolly + Research Technical Staff, W3 Consortium + MIT Laboratory for Computer Science + 545 Technology Square + Cambridge, MA 02139, U.S.A. + + Phone: +1 (617) 258 8682 + EMail: connolly@w3.org + URI: http://www.w3.org/hypertext/WWW/People/Connolly/ + + + +Berners-Lee & Connolly Standards Track [Page 71] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + +13. The HTML Coded Character Set + + This list details the code positions and characters of the HTML + document character set, specified in 9.5, "SGML Declaration for + HTML". This coded character set is based on [ISO-8859-1]. + + REFERENCE DESCRIPTION + -------------- ----------- + � -  Unused + 	 Horizontal tab + Line feed +  -  Unused + Carriage Return +  -  Unused +   Space + ! Exclamation mark + " Quotation mark + # Number sign + $ Dollar sign + % Percent sign + & Ampersand + ' Apostrophe + ( Left parenthesis + ) Right parenthesis + * Asterisk + + Plus sign + , Comma + - Hyphen + . Period (fullstop) + / Solidus (slash) + 0 - 9 Digits 0-9 + : Colon + ; Semi-colon + < Less than + = Equals sign + > Greater than + ? Question mark + @ Commercial at + A - Z Letters A-Z + [ Left square bracket + \ Reverse solidus (backslash) + ] Right square bracket + ^ Caret + _ Horizontal bar (underscore) + ` Acute accent + a - z Letters a-z + { Left curly brace + | Vertical bar + + + +Berners-Lee & Connolly Standards Track [Page 72] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + } Right curly brace + ~ Tilde +  - Ÿ Unused +   Non-breaking Space + ¡ Inverted exclamation + ¢ Cent sign + £ Pound sterling + ¤ General currency sign + ¥ Yen sign + ¦ Broken vertical bar + § Section sign + ¨ Umlaut (dieresis) + © Copyright + ª Feminine ordinal + « Left angle quote, guillemotleft + ¬ Not sign + ­ Soft hyphen + ® Registered trademark + ¯ Macron accent + ° Degree sign + ± Plus or minus + ² Superscript two + ³ Superscript three + ´ Acute accent + µ Micro sign + ¶ Paragraph sign + · Middle dot + ¸ Cedilla + ¹ Superscript one + º Masculine ordinal + » Right angle quote, guillemotright + ¼ Fraction one-fourth + ½ Fraction one-half + ¾ Fraction three-fourths + ¿ Inverted question mark + À Capital A, grave accent + Á Capital A, acute accent + Â Capital A, circumflex accent + Ã Capital A, tilde + Ä Capital A, dieresis or umlaut mark + Å Capital A, ring + Æ Capital AE dipthong (ligature) + Ç Capital C, cedilla + È Capital E, grave accent + É Capital E, acute accent + Ê Capital E, circumflex accent + Ë Capital E, dieresis or umlaut mark + Ì Capital I, grave accent + + + +Berners-Lee & Connolly Standards Track [Page 73] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + Í Capital I, acute accent + Î Capital I, circumflex accent + Ï Capital I, dieresis or umlaut mark + Ð Capital Eth, Icelandic + Ñ Capital N, tilde + Ò Capital O, grave accent + Ó Capital O, acute accent + Ô Capital O, circumflex accent + Õ Capital O, tilde + Ö Capital O, dieresis or umlaut mark + × Multiply sign + Ø Capital O, slash + Ù Capital U, grave accent + Ú Capital U, acute accent + Û Capital U, circumflex accent + Ü Capital U, dieresis or umlaut mark + Ý Capital Y, acute accent + Þ Capital THORN, Icelandic + ß Small sharp s, German (sz ligature) + à Small a, grave accent + á Small a, acute accent + â Small a, circumflex accent + ã Small a, tilde + ä Small a, dieresis or umlaut mark + å Small a, ring + æ Small ae dipthong (ligature) + ç Small c, cedilla + è Small e, grave accent + é Small e, acute accent + ê Small e, circumflex accent + ë Small e, dieresis or umlaut mark + ì Small i, grave accent + í Small i, acute accent + î Small i, circumflex accent + ï Small i, dieresis or umlaut mark + ð Small eth, Icelandic + ñ Small n, tilde + ò Small o, grave accent + ó Small o, acute accent + ô Small o, circumflex accent + õ Small o, tilde + ö Small o, dieresis or umlaut mark + ÷ Division sign + ø Small o, slash + ù Small u, grave accent + ú Small u, acute accent + û Small u, circumflex accent + ü Small u, dieresis or umlaut mark + + + +Berners-Lee & Connolly Standards Track [Page 74] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + ý Small y, acute accent + þ Small thorn, Icelandic + ÿ Small y, dieresis or umlaut mark + +14. Proposed Entities + + The HTML DTD references the "Added Latin 1" entity set, which only + supplies named entities for a subset of the non-ASCII characters in + [ISO-8859-1], namely the accented characters. The following entities + should be supported so that all ISO 8859-1 characters may only be + referenced symbolically. The names for these entities are taken from + the appendixes of [SGML]. + + <!ENTITY nbsp CDATA " " -- no-break space --> + <!ENTITY iexcl CDATA "¡" -- inverted exclamation mark --> + <!ENTITY cent CDATA "¢" -- cent sign --> + <!ENTITY pound CDATA "£" -- pound sterling sign --> + <!ENTITY curren CDATA "¤" -- general currency sign --> + <!ENTITY yen CDATA "¥" -- yen sign --> + <!ENTITY brvbar CDATA "¦" -- broken (vertical) bar --> + <!ENTITY sect CDATA "§" -- section sign --> + <!ENTITY uml CDATA "¨" -- umlaut (dieresis) --> + <!ENTITY copy CDATA "©" -- copyright sign --> + <!ENTITY ordf CDATA "ª" -- ordinal indicator, feminine --> + <!ENTITY laquo CDATA "«" -- angle quotation mark, left --> + <!ENTITY not CDATA "¬" -- not sign --> + <!ENTITY shy CDATA "­" -- soft hyphen --> + <!ENTITY reg CDATA "®" -- registered sign --> + <!ENTITY macr CDATA "¯" -- macron --> + <!ENTITY deg CDATA "°" -- degree sign --> + <!ENTITY plusmn CDATA "±" -- plus-or-minus sign --> + <!ENTITY sup2 CDATA "²" -- superscript two --> + <!ENTITY sup3 CDATA "³" -- superscript three --> + <!ENTITY acute CDATA "´" -- acute accent --> + <!ENTITY micro CDATA "µ" -- micro sign --> + <!ENTITY para CDATA "¶" -- pilcrow (paragraph sign) --> + <!ENTITY middot CDATA "·" -- middle dot --> + <!ENTITY cedil CDATA "¸" -- cedilla --> + <!ENTITY sup1 CDATA "¹" -- superscript one --> + <!ENTITY ordm CDATA "º" -- ordinal indicator, masculine --> + <!ENTITY raquo CDATA "»" -- angle quotation mark, right --> + <!ENTITY frac14 CDATA "¼" -- fraction one-quarter --> + <!ENTITY frac12 CDATA "½" -- fraction one-half --> + <!ENTITY frac34 CDATA "¾" -- fraction three-quarters --> + <!ENTITY iquest CDATA "¿" -- inverted question mark --> + <!ENTITY Agrave CDATA "À" -- capital A, grave accent --> + <!ENTITY Aacute CDATA "Á" -- capital A, acute accent --> + <!ENTITY Acirc CDATA "Â" -- capital A, circumflex accent --> + + + +Berners-Lee & Connolly Standards Track [Page 75] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + <!ENTITY Atilde CDATA "Ã" -- capital A, tilde --> + <!ENTITY Auml CDATA "Ä" -- capital A, dieresis or umlaut mark --> + <!ENTITY Aring CDATA "Å" -- capital A, ring --> + <!ENTITY AElig CDATA "Æ" -- capital AE diphthong (ligature) --> + <!ENTITY Ccedil CDATA "Ç" -- capital C, cedilla --> + <!ENTITY Egrave CDATA "È" -- capital E, grave accent --> + <!ENTITY Eacute CDATA "É" -- capital E, acute accent --> + <!ENTITY Ecirc CDATA "Ê" -- capital E, circumflex accent --> + <!ENTITY Euml CDATA "Ë" -- capital E, dieresis or umlaut mark --> + <!ENTITY Igrave CDATA "Ì" -- capital I, grave accent --> + <!ENTITY Iacute CDATA "Í" -- capital I, acute accent --> + <!ENTITY Icirc CDATA "Î" -- capital I, circumflex accent --> + <!ENTITY Iuml CDATA "Ï" -- capital I, dieresis or umlaut mark --> + <!ENTITY ETH CDATA "Ð" -- capital Eth, Icelandic --> + <!ENTITY Ntilde CDATA "Ñ" -- capital N, tilde --> + <!ENTITY Ograve CDATA "Ò" -- capital O, grave accent --> + <!ENTITY Oacute CDATA "Ó" -- capital O, acute accent --> + <!ENTITY Ocirc CDATA "Ô" -- capital O, circumflex accent --> + <!ENTITY Otilde CDATA "Õ" -- capital O, tilde --> + <!ENTITY Ouml CDATA "Ö" -- capital O, dieresis or umlaut mark --> + <!ENTITY times CDATA "×" -- multiply sign --> + <!ENTITY Oslash CDATA "Ø" -- capital O, slash --> + <!ENTITY Ugrave CDATA "Ù" -- capital U, grave accent --> + <!ENTITY Uacute CDATA "Ú" -- capital U, acute accent --> + <!ENTITY Ucirc CDATA "Û" -- capital U, circumflex accent --> + <!ENTITY Uuml CDATA "Ü" -- capital U, dieresis or umlaut mark --> + <!ENTITY Yacute CDATA "Ý" -- capital Y, acute accent --> + <!ENTITY THORN CDATA "Þ" -- capital THORN, Icelandic --> + <!ENTITY szlig CDATA "ß" -- small sharp s, German (sz ligature) --> + <!ENTITY agrave CDATA "à" -- small a, grave accent --> + <!ENTITY aacute CDATA "á" -- small a, acute accent --> + <!ENTITY acirc CDATA "â" -- small a, circumflex accent --> + <!ENTITY atilde CDATA "ã" -- small a, tilde --> + <!ENTITY auml CDATA "ä" -- small a, dieresis or umlaut mark --> + <!ENTITY aring CDATA "å" -- small a, ring --> + <!ENTITY aelig CDATA "æ" -- small ae diphthong (ligature) --> + <!ENTITY ccedil CDATA "ç" -- small c, cedilla --> + <!ENTITY egrave CDATA "è" -- small e, grave accent --> + <!ENTITY eacute CDATA "é" -- small e, acute accent --> + <!ENTITY ecirc CDATA "ê" -- small e, circumflex accent --> + <!ENTITY euml CDATA "ë" -- small e, dieresis or umlaut mark --> + <!ENTITY igrave CDATA "ì" -- small i, grave accent --> + <!ENTITY iacute CDATA "í" -- small i, acute accent --> + <!ENTITY icirc CDATA "î" -- small i, circumflex accent --> + <!ENTITY iuml CDATA "ï" -- small i, dieresis or umlaut mark --> + <!ENTITY eth CDATA "ð" -- small eth, Icelandic --> + <!ENTITY ntilde CDATA "ñ" -- small n, tilde --> + <!ENTITY ograve CDATA "ò" -- small o, grave accent --> + + + +Berners-Lee & Connolly Standards Track [Page 76] + +RFC 1866 Hypertext Markup Language - 2.0 November 1995 + + + <!ENTITY oacute CDATA "ó" -- small o, acute accent --> + <!ENTITY ocirc CDATA "ô" -- small o, circumflex accent --> + <!ENTITY otilde CDATA "õ" -- small o, tilde --> + <!ENTITY ouml CDATA "ö" -- small o, dieresis or umlaut mark --> + <!ENTITY divide CDATA "÷" -- divide sign --> + <!ENTITY oslash CDATA "ø" -- small o, slash --> + <!ENTITY ugrave CDATA "ù" -- small u, grave accent --> + <!ENTITY uacute CDATA "ú" -- small u, acute accent --> + <!ENTITY ucirc CDATA "û" -- small u, circumflex accent --> + <!ENTITY uuml CDATA "ü" -- small u, dieresis or umlaut mark --> + <!ENTITY yacute CDATA "ý" -- small y, acute accent --> + <!ENTITY thorn CDATA "þ" -- small thorn, Icelandic --> + <!ENTITY yuml CDATA "ÿ" -- small y, dieresis or umlaut mark --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Berners-Lee & Connolly Standards Track [Page 77] + |