Within the HEAD element, only certain elements are allowed. Information in the HEAD element may include the following elements (arranged alphabetically):
The BASE element allows the URL of the document itself to be recorded in situations in which the document may be read out of context. URLs within the document may be in a "partial" form relative to this base address. The default base address is the URL used to retrieve the document.
For example:
<base href="http://acme.com/docs/mydoc.html"> ... <img src="images/me.gif">
which resolves to "http://acme.com/docs/images/me.gif".
The ISINDEX element informs the HTML user agent that the document is an index document. As well as reading it, the reader may use a keyword search.
The document can be queried with a keyword search by adding a question mark to the end of the document address, followed by a list of keywords separated by plus signs. See the network address format for more information.
Note: A server normally generates the ISINDEX tag automatically. If added by hand to an HTML document, the browser assumes that the server can handle a search on the document. Obviously the server must have this capability for it to work: simply adding <ISINDEX> in the document is not enough to make searches happen if the server does not have a search engine!
Example:
<ISINDEX>
The URL used for processing queries can be overridden with the HREF attribute. You can also use the PROMPT attribute to change the default prompt supplied by the browser, e.g.
<ISINDEX HREF="phone.db" PROMPT="Enter Surname:">
The LINK element indicates a relationship between the document and some other object. A document may have any number of LINK elements. The LINK element is empty (does not have a closing tag), but takes the same attributes as the anchor element. The important attributes are:
An important use of the LINK element is to define a toolbar of navigation buttons or an equivalent mechanism such as menu items.
LINK relationship values reserved for toolbars are:
An example of toolbar LINK elements:
<LINK REL=Previous HREF=doc31.html> <LINK REL=Next HREF=doc33.html> <LINK REL=Bookmark TITLE="Order Form" HREF=doc56.html>
<LINK REL=Banner HREF=banner.html>
The use of a LINK element in this way, allows a banner to be shared between several documents, with the benefit of being able to separately cache the banner. Rather than using a linked banner, you can also include the banner in the document itself, using the BANNER element.
<LINK REL=StyleSheet HREF=housestyle.dsssl>
Additional relationship names have been proposed, but do not form part of this specification. Servers may also allow links to be added by those who do not have the right to alter the body of a document.
The META element is used within the HEAD element to embed document meta-information not defined by other HTML elements. Such information can be extracted by servers/clients for use in identifying, indexing and cataloging specialized document meta-information.
Although it is generally preferable to used named elements that have well defined semantics for each type of meta-information, such as title, this element is provided for situations where strict SGML parsing is necessary and the local DTD is not extensible.
In addition, HTTP servers can read the contents of the document head to generate response headers corresponding to any elements defining a value for the attribute HTTP-EQUIV. This provides document authors with a mechanism (not necessarily the preferred one) for identifying information that should be included in the response headers of an HTTP request.
The META element has three attributes:
Examples:
If the document contains:
<META HTTP-EQUIV=Expires CONTENT="Tue, 04 Dec 1993 21:29:02 GMT"> <META HTTP-EQUIV="Keywords" CONTENT="Nanotechnology, Biochemistry"> <META HTTP-EQUIV="Reply-to" CONTENT="[email protected] (Dave Raggett)">The server will include the following response headers:
Expires: Tue, 04 Dec 1993 21:29:02 GMT Keywords: Nanotechnology, Biochemistry Reply-to: [email protected] (Dave Raggett)
When the HTTP-EQUIV attribute is absent, the server should not generate an HTTP response header for this meta-information, e.g.
<META NAME="IndexType" CONTENT="Service">
Do not use the META element to define information that should be associated with an existing HTML element.
Example of an inappropriate use of the META element:
<META NAME="Title" CONTENT="The Etymology of Dunsel">
Do not name an HTTP-EQUIV attribute the same as a response header that should typically only be generated by the HTTP server. Some inappropriate names are "Server", "Date", and "Last-Modified". Whether a name is inappropriate depends on the particular server implementation. It is recommended that servers ignore any META elements that specify HTTP equivalents (case insensitively) to their own reserved response headers.
The NEXTID is a parameter read and generated by text editing software to generate unique identifiers. This tag takes a single attribute which is the the next document-wide alpha-numeric identifier to be allocated of the form z123.
When modifying a document, existing anchor identifiers should not be reused, as these identifiers may be referenced by other documents. Human writers of HTML usually use mnemonic alphabetical identifiers.
Example:
<NEXTID N=Z27>
HTML user agents may ignore the NEXTID element. Support for NEXTID does not impact HTML user agents in any way.
I want to get rid of NEXTID, or at least deprecate it!
The RANGE element is used to mark a range of the document, for example for highlighting regions of the document matching some search criteria, or which are the subject of an annotation etc.
<RANGE CLASS=Search FROM=spot01 UNTIL=spot02>The FROM and UNTIL attributes specify positions in the document using SGML identifiers. Most elements in the document body can define such identifiers using ID attributes. The SPOT element is useful in this regard, as it allows search software etc. to insert IDs at random places:
<SPOT ID=spot01> ... <SPOT ID=spot02>
The RANGE element supports the following attributes:
The STYLE element provides a means for including rendering information using a specified style notation. Information in the STYLE element overrides client defaults and that of linked style sheets. It allows authors to specify overrides, while for the most part using a generic style sheet, and as such improves the effectiveness of caching schemes for linked style sheets. There is one attribute - NOTATATION - which specifies an entity identifying an SGML notation in the HTML 3.0 DTD, for example:
<style notation=dsssl-lite> some dsssl-lite stuff ... </style>
Stylistic rules will in general match tag names and attribute values for elements in the document body. Context sensitive rules may be used for such purposes as rendering drop down capitals for the initial letter in the first paragraph following a header.
Every HTML document must contain a TITLE element. The title should identify the contents of the document in a global context, and may be used in a history lists and as a label for the window displaying the document. Unlike headings, titles are not normally displayed in the text of a document itself.
The TITLE element must occur within the head of the document, and may not contain anchors, paragraph tags, or highlighting. There may only be one TITLE in any document.
The length of titles is unlimited, however, long titles may be truncated in some applications. To minimize this possibility, keep titles to fewer than 64 characters. Also keep in mind that a short title, such as Introduction, may be meaningless out of context. An example of a meaningful title might be:
<Title>Recent Advances in Nanotechnology</Title>