Hypertext links in HTML

Hypertext link relationships, specified by using the REL and REV attributes of
the LINK and A elements, were conceived of as an early feature of the HTML
language. Amidst all of the various and sundry efforts that have been
undertaken to advance HTML and the WorldWide Web, the definition of a small set
of widely accepted hypertext relationships has yet to be agreed upon and
deployed in user agents.

Hypertext link relationships, and the attendant REL and REV attributes of the
LINK and A elements, are discussed in Dave Raggett's Internet Draft on HTML 3.0.
In addition, The Santa Cruz Operation, Inc (SCO) has developed an HTML user
agent, based on Mosaic, which incorporates the use of the REL attribute of the
LINK element.

The first draft of this paper was based on Dave Raggett's paper and on the
author's experience with a partial implementation at SCO. Others have
contributed to the development of this paper through discussions on the html-wg
mailing list and through private correspondence with the author. (See the
Acknowledgements section.)

Introduction

The hypertext link mechanism is the connective tissue used to weave the World
Wide Web. A hypertext link is an object which specifies a connection between
any arbitrary addressable objects, locations, or resources.

A hypertext link typically consists of an anchor and a target, each of which may
be further classified and between which relationships may be identified. In
HTML, there are several language elements which are used to identify anchors and
targets and thus support the hypertext link mechanism.

The anchor of a hypertext link is typically presented to the user, through an
HTML user agent, as a highlighted object (a word, phrase, graphic image, etc.).
Not all anchors of hypertext links must be represented as highlighted within
the document or the application. An HTML user agent may, as appropriate, act
upon a hypertext link by taking immediate action, such as presenting a
concurrent window. A user agent may, in some cases, simply ignore an anchor and
its hypertext link.

An HTML user agent is free to provide whatever mechanism it chooses to allow the
user to traverse from anchor to target. Typically, graphical applications
provide for user interaction via a pointing device such as a mouse. Typically,
non-graphical text-based applications provide for user interaction via keyboard
and arrow selection.

Different hypertext links may have different behavior associated with them. For
example, a link to a Table of Contents may be presented as an icon, with an
appropriate label, in a tool bar. Another application may present the same link
as a simultaneous view of the document in an alternate window or a concurrent
pane. A hypertext link may also initiate a software program, or present audio,
graphics, video, print, speech synthesis or braille.

HTML provides a mechanism for specifying the relationship between an anchor and
a target as seen from either end of the hypertext link. The LINK and the A
elements each provide a REL and a REV attribute which may be set with values to
identify these relationships. The IMG tag and the SRC attribute can also be used
to form links.

This purpose of this document is to discuss and formalize hypertext anchors as
currently implemented on the World Wide Web, and to propose REL/REV
relationships that are useful and consistent with current usage. This paper is
intended to describe hypertext links, anchors and targets, classes and
relationships. It is also intended to provide suggestions or hints for authors
and publishers, and for developers of HTML user agents to guide them in using
the hypertext link mechanism effectively.

NOTE: This document does not address issues associated with
non-practiced usages of hypertext anchors, in particular the
inclusion/embedding of program applications (e.g. Java applets), within HTML
documents. This issue will be the topic of another discussion paper.

Anchors

An anchor is any object which acts as a hypertext link to a target. An anchor
may be a highlighted phrase within an HTML document, an icon on an HTML
user-agent tool-bar or menu item, an active graphic, or an image map. An anchor
may also be an object which is included by reference, such a graphic image.

There are four ways to specify an anchor in HTML:

the A element

the LINK element

the SRC attribute as used on

the IMG element

the UL element (HTML 3.0 proposal)

the LI element (HTML 3.0 proposal)

the NOTE element (HTML 3.0 proposal)

the ISMAP attribute as used on the IMG element

An anchor is typically specified using the A tag. This form of anchor is used to
highlight an object (word, phrase, graphic image, etc.) which may be activated
by a user to traverse the link by using the following form:

<A HREF="target"> object to highlight </A>

An anchor may also be specified using the LINK tag. This form of anchor is used
to establish a hypertext link between an entire HTML document and another
addressable object or resource. A LINK element is considered document
meta-information (it does not mark a link relationship specific to any part of
the body), and is therefore restricted to lie within the document HEAD. Because
the LINK tag is only allowed within the HEAD of an HTML document, and because it
has no content, it is not usually represented within the body of an HTML
document as seen through a user agent. Its purpose is solely to inform the user
agent that a link exists. The user agent may process or ignore these links as it
sees fit, but it may, for example, present an icon on a toolbar for the user to
traverse the link. An example of LINK usage is:

An anchor may also be specified using the IMG tag. This form of anchor is used
to establish a hypertext link to include a graphic image. Its purpose it solely
to inform the user agent that a graphic image may be placed at the current
location if the user agent is capable of doing so, and if the user has enabled
viewing of graphic images. An example of this form of IMG usage is:

<IMG SRC="image.gif">

An anchor may also be specified by providing a value to the SRC attribute on any
HTML element which supports that attribute. For example:

<NOTE CLASS=WARNING SRC=WARNING.gif> ... </NOTE>

A specialized active hypertext link anchor known as an image map may be
specified by using the IMG element in combination with the SRC and ISMAP
attributes. An example of this form of IMG usage is:

A target is any addressable object or resource which typically serves as the
destination of a hypertext link. The destination may be another HTML document,
a fragment within the same or another HTML document, or any other type of object
or resource.

A target may also be an aggregate link which can be presented as a list of
possible targets from which a user can select. A Table of Contents may be an
example of an aggregate link. The result of a query is an other example.

Any addressable object may serve as the target of a hypertext link. Typically, a
target is addressed by specifying a URL/URI as the value of an HREF or SRC
attribute on HTML elements which support those attributes.

HTML also provides a number of language elements which may be used to identify a
target within an HTML document and to specify the base location from which
relative addresses should be formed.

There are four ways to specify a target within an HTML document:

the BASE element

the NAME attribute of the A and LINK elements

the ID attribute of various elements, including A and LINK (HTML
3.0 proposal)

The base location of a document may be recorded in the BASE element in the HEAD
of the document. The base location is the address from which all relative URL
addresses are to be formed. For example:

<BASE HREF="http://server.domain/whatever" >

A target may be specified by using the A tag. An A tag may be used to
encapsulate any object (word, phrase, graphic image, etc.) and the target is
considered to be the beginning of the encapsulated object. For example:

<A NAME=TARGET> target object </A>

A target may also be specified by providing a value for the ID attribute on any
HTML element which supports that attribute. For example:

<P ID=PARA-1.1>

A target may also be specified by using a LINK tag. A LINK tag may only be used
within the head of an HTML document, and it has no content. For example:

The LINK and A Elements and Their Attributes

The LINK and A elements share a set of common attributes. Except where noted,
the semantics of those attributes is the same.

LINK

The LINK element indicates a hypertext link relationship between the document in
which it is found and some other object. Any number of LINK elements may be used
within the head of an HTML document. The LINK element is empty (does not have a
closing tag). The LINK element takes the same attributes as the A (anchor)
element.

The hypertext link described by the LINK element is not typically represented
within the text area of an HTML user agent. Instead, an HTML user agent is free
to either ignore any LINK element and the hypertext link associated with it, or
to represent the hypertext link in some other way.

Presenting hypertext links as active icons in a toolbar is one way to present
them to the user. Another may be to present the target document in a concurrent
window, such as with a table of contents.

A

The A element is used to indicate the start (anchor) or end (target) of a
hypertext link within the body of an HTML document.

The hypertext link described by the A element is typically represented as a
highlighted object (word, phrase, graphical image, etc.) within the text area of
an HTML user agent.

Common Attributes

For the purposes of this discussion, the following is a list with descriptions
of the most important common attributes. All of the attributes listed here are
part of HTML 2.0 except for CLASS, ID and MD, which are discussed in Dave
Raggett's Internet Draft on HTML 3.0.

CLASS

The CLASS attribute value is used to subclass the hypertext link. The CLASS
attribute is most often used as a generalized identifier to which style
information may be attached by a stylesheet mechanism.

The CLASS attribute may also be used to subclass LINK elements, thereby
differentiating hypertext links with common REL or REV values. This may provide
unambiguous syntax, for example, for multiple LINK elements with REL=NEXT within
a document. Thus, alternate paths through a document can be coded within the
document. For example:

Multiple CLASS values may be specified. The potential list of CLASS attribute
values is open-ended. However, practical application will likely require
definition and specification of at least a small set of accepted keywords, and
agreement on processing expectations for arbitrary keywords. The keywords used
in the previous example are typical of the type of keywords which may be
specified, but are not proposed.

HREF

The HREF attribute value specifies the location of a destination or
resource, expressed in the Universal Resource Identifier (URI) notation. Only
one HREF value may be specified. An HTML user agent may present the value of the
HREF attribute in an information area when the user positions the mouse over the
anchor or otherwise indicates interest in the anchor.

ID

The ID attribute specifies an SGML identifier used as the target of
hypertext links or for naming particular elements in associated style sheets.
Only one ID value may be specified. The attribute value must be unique within
the document.

MD

The MD attribute specifies a message digest or cryptographic checksum for
the target of the hypertext link. This attribute is used by a user agent to
verify that the linked object is the same one that the author intended.

NAME

The NAME attribute specifies a named location within an HTML document and
is used in forming addresses to target specific locations within an HTML
document. Only one NAME value may be specified. The attribute value must be
unique within the document.

REL

The REL attribute specifies the relationship of the target to the anchor. For
example, REL=NEXT is used to indicate that the target is the next logical
document in an author-specified sequence. The REL attribute can also be used to
support search for links serving particular relationships.

Multiple REL values may be specified. Aggregate links can
be formed by including multiple LINK elements with equivalent REL values.
Activating the link, in that case, may lead to a virtual menu from which the
user can make a selection.

The nature of a link relationship is not always obvious from the attribute
value.
"Meaning of REL and REV Attribute Values"
describes commonly accepted values. Designers of HTML user agents can use these
descriptions as a guide to implementation of browser or agent behavior.

REV

The REV attribute specifies the relationship of the anchor to the target. For
example, REV=TOP is used to indicate that the anchor is the top of an
author-specified hierarchical tree of which the target is a branch or node.

Multiple REV values may be specified. A Table of Contents
may contain a series of anchors which specify REV=CONTENTS.

The nature of a link relationship is not always obvious from the attribute
value.
"Meaning of REL and REV Attribute Values"
describes commonly accepted values. Designers of HTML user agents can use these
descriptions as a guide to implementation of browser or agent behavior.

TITLE

The TITLE attribute is typically used to describe the linked object
specified by the HREF attribute. The attribute value is a character string
which may include spaces and punctuation. An HTML user agent may present the
value of the TITLE attribute in an information area when the user positions the
mouse over the anchor or otherwise indicates interest in the anchor.
Authors/publishers can thereby provide greater context to the user to aid them
in making decisions about whether to traverse a hypertext link.

An HTML user agent may also use the value of the TITLE attribute to set the
value of an email subject field when the HREF value uses the mailto: scheme. In
this way, the subject field may be preset with value that the author's mail
agent can recognize and process.

Although the HREF and TITLE attributes have been singled out in the list
above, any of these attribute values may be presented in an information area
when the user positions the mouse over the anchor or otherwise indicates
interest in the anchor. For example, an HTML user agent which is also an HTML
editor may display the value of ID or NAME attributes.

The potential list of valid values for REL and REV is open-ended, and this
document is not intended to preclude the use or adoption of other or additional
values. In fact, it is anticipated that hypertext applications which support
specific knowledge domains will need to develop specialized sets of keywords. It
is hoped that the development of extensions will not occur in isolation, and
that coordination of extensions among various interested parties will prevent
namespace contention or collision.

Further, HTML user agents should continue to be liberal in accepting new or
alternate values, inasmuch as any name token is a legal value. The HTML
specification declares that REL/REV values are SGML name tokens. That is, within
the previously described syntactical constraints, a REL or REV relationship
value may be any arbitrary, author-defined value that the author or publisher
considers important. In some cases, the HTML user agent may choose to present
relationships that it recognizes in a richer style, while continuing to present
unfamiliar ones in the default style.

The REL and REV attributes are defined as NAMES in the SGML DTD for the
HyperText Markup Language (HTML). As such, the legal values which may be
assigned to the REL or REV attribute are zero or more name tokens. Name tokens
are case-insensitive, must begin with an alpha character, may include digits
(0-9), period or hyphen, and may be separated by spaces. The name tokens listed
and described in this section are being recommended as commonly accepted
relationships between and among objects in a hypertext collection.

When a single name token is specified as a REL or REV attribute, double quotes
surrounding the attribute value are optional. When multiple name tokens are
specified, double quotes are mandatory.

Legacy

The following are REL values which are known to be used as values of the REL and
REV attributes on the World Wide Web in May 1995.

MADE

The REV=MADE relationship has been used to identify the author or "maker"
of an HTML document. Typical HREF values include a mailto: URI or the URL of the
author's home page.

<A REV=MADE HREF="mailto:murray@sq.com" > Author </A>

NEXT/PREVIOUS/CONTENTS/INDEX/NAVIGATE

These values, described below, are used by SCO in its online documentation
and context-sensitive help system.

Browser-defined Links

Some keywords are reserved and should not be used as REL/REV values.

HTML user agents typically provide a mechanism for navigating through the recent
history of a user's access to documents; traditionally these operations are
referred to as "back" and "forward". These mechanisms allow
a user to step back through the documents which led to the current location and
then forward again to retrace the path. Additionally, most user agents provide a
mechanism to immediately return to a user-defined location, traditionally
referred to as the home page, or "home". Since these browser actions
are internally implemented by the browser, REL/REV keywords associated with
these relationships are disallowed.

HOME

RESERVED. Defined by the user (using the WWW_HOME environment variable).
This relationship may not be overridden; HTML user agents should ignore any
author-supplied REL=HOME setting.

BACK

RESERVED. Defined by the browser. This relationship may not be overridden;
HTML user agents should ignore any author-supplied REL=BACK setting.

FORWARD

RESERVED. Defined by the browser. This relationship may not be overridden;
HTML user agents should ignore any author-supplied REL=FORWARD setting.

Navigational Node Links

Navigational nodes are commonly used document objects which are designed by
authors to assist the user in navigating through a closed or extended document
set. The most familiar and common form of navigational node is a table of
contents, which is a well known publishing device used for enumerating and
ordering the contents of a closed document set.

CONTENTS or TOC

The CONTENTS relationship identifies a Table of Contents.

When REL=CONTENTS, the target document is the Table of Contents for the current
document, or for the collection of documents of which the current document is a
member.

When REV=CONTENTS, the current document is a Table of Contents and the target
document is a related document.

When REL=CONTENTS and REV=CONTENTS it indicates that the current document is a
Table of Contents and the target document is also a Table of Contents.
Additional REL/REV values may be used to specify the relationship between the
two, such as PARENT/CHILD.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar. Or, if capable, an HTML user agent may
present the Table of Contents in a concurrent window or pane, highlighting the
current document.

INDEX

The INDEX relationship identifies an index.

When REL=INDEX, the target document is an index for the current document, or for
the collection of documents of which the current document is a member.

When REV=INDEX, the current document is an index. Additional REL/REV values may
be used to further specify the relationship between the two ends of the link.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar. An index may be presented as an HTML
document which is organized and presented in a style reminiscent of a
paper-based index. An index may also be presented as a form-based query into a
full-text search database.

NAVIGATE

The NAVIGATE relationship identifies a navigational aid.

When REL=NAVIGATE, the target document is a navigational aid. A navigational aid
may consist of a whole or partial Table of Contents, a list of related
documents, an indication of the current document's location within a document
hierarchy, or any other information which may be useful to the user.

When REV=NAVIGATE, the current document is a navigational aid.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

Hierarchy Links

It is quite common for documents to be developed or defined using a
hierarchical model, or tree-like structure. The keywords listed below may be
used within HTML documents to identify the hierarchical relationship of closely
related nodes, such as the immediate parent, siblings and children. In addition,
the TOP keyword may be used to identify the logical top (or root, depending on
your perspective) of a hierarchical or tree-like structure.

The entire set of relationships may be used by a user agent to build a map of
the hierarchical structure(s) of which the current document is a node.
Hypertext links to documents identified with PARENT and TOP values are more
likely to be accessible through an icon or other mechanism than documents
identified with CHILD or SIBLING.

CHILD

The CHILD relationship identifies a subordinate or subdocument. Any
document may have multiple CHILD documents within the same hierarchy.

When REL=CHILD, the target document is a hierarchical child, or subdocument, of
the current document.

When REV=CHILD, the current document is the hierarchical child, or subdocument,
of the target.

PARENT

The PARENT relationship identifies the superior or container node.

When REL=PARENT, the target document is the hierarchical parent, or container,
of the current document.

When REV=PARENT, the current document is the hierarchical parent, or container,
of the target.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

SIBLING

The SIBLING relationship identifies a sibling in the current hierarchy. Any
document may have multiple SIBLING documents within the same hierarchy.

When REL=SIBLING, the target document is a child of a common parent, or a
hierarchical peer of the current document.

When REV=SIBLING, the current document is a child of a common parent, or a
hierarchical peer of the target document.

TOP or ORIGIN

The TOP relationship identifies the logical top of a hierarchical tree of
which the current document is a branch. BEGIN is a functional equivalent to TOP,
if only one of these values is specified.

When REL=TOP, the target document is the logical top node of the tree.
When REV=TOP, the current document is the logical top of the tree.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

NOTE: ORIGIN has been suggested as an alternative to TOP to provide
metaphorical consistency with PARENT/CHILD/SIBLING. Comments are encouraged.

Sequence Links

Given a set of documents, it is possible and often desirable to specify linear
sequences to navigate through the set. A book, for example, is often organized
as a linear sequence. With sequence links in each document, a user agent can
step through or gather an entire book programmatically.

BEGIN or FIRST

The BEGIN relationship identifies the author-defined start of a sequence of
documents of which the current document is a node. TOP is a functional
equivalent to BEGIN when only one of these values is specified.

When REL=BEGIN, the target document is the beginning of the sequence.
When REV=BEGIN, the current document is the beginning of the sequence.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

END or LAST

The END relationship identifies the author-defined end of a sequence of
documents of which the current document is a node. TOP is a functional
equivalent to END when only one is specified.

When REL=END, the target document is the end of the sequence.
When REV=END, the current document is the end of the sequence.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

NEXT

The NEXT relationship identifies the next document in an author-defined
sequence of documents, such as a linear book.

When REL=NEXT, the target document is next after the current document.
When REV=NEXT, the current document is next after the target.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

PREVIOUS or PREV

The PREVIOUS relationship identifies the previous document in an
author-defined sequence of documents, such as a linear book.

When REL=PREVIOUS, the target document is previous to the current document.

When REV=PREVIOUS, the current document is previous to the target.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

Related Documents

BIBLIOENTRY

The BIBLIOENTRY relationship identifies a bibliographic entry.

BIBLIOENTRY would most typically be specified on an A element, as it would
specify a hypertext link between a citation and a bibliographic entry
describing the citation.

<A REL=BIBLIOENTRY HREF="biblio.html#V.Bush">
<CITE> As We May Think </CITE> </A>

The resource identified by this link may take any form desired by the
author/publisher. A bibliographic entry may be presented in the style of a
paper-based bibliographic entry, or it may be presented as the result of a
database query.

BIBLIOGRAPHY

The BIBLIOGRAPHY relationship identifies a bibliography.

The resource identified by this link may take any form desired by the
author/publisher. A bibliography may be presented as an HTML document which is
organized and presented in a style reminiscent of a paper-based bibliography. A
bibliography may also be presented as a form-based query into a bibliographic
database.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present a labeled icon in a tool bar.

CITATION

The CITATION relationship identifies a bibliographic citation.

When REL=CITATION, the target is a bibliographic citation. The anchor, in this
case, may be a bibliographic entry. The anchor may also be a reference, thus
allowing the reader a way to locate the citation:

When REV=CITATION, the anchor is a citation. Typically, the anchor would also be
enclosed within a CITE element as shown in the example below. The example shown
here also corresponds to the previous example, serving as its target by use of
the NAME attribute.

Definitions may be, but are not necessarily, contained within a glossary.
DEFINITION would most typically be specified on an A element, as it would
specify a hypertext link from a term to its definition.

<A REL=DEFINITION HREF="glossary.html#HTTP"> HTTP </A>

FOOTNOTE

The FOOTNOTE relationship identifies a footnote.

When REL=FOOTNOTE is specified on an A element, the anchor is a footnote marker
and the target is a footnote. This can be used to link from the footnote marker
(or a highlighted word, phrase, etc.) to an HTML document which contains the
footnote text, or to a portion of the same document (see REV=FOOTNOTE).

When REL=FOOTNOTE is specified on a LINK element, it can specify a hypertext
link to a set of footnotes which are related to the current document, or to a
set of end-notes.

When REV=FOOTNOTE is specified on an A element, the anchor is a footnote; that
is, the actual content of the footnote, as opposed to a footnote marker. In this
case, the target specified by the HREF value, if any, is the footnote marker.

It has been suggested that the combination of REV=FOOTNOTE and NAME=... on an A
element may be used to imply that the enclosed content not be rendered until a
link to it is explicitly traversed, at which time it can be presented in a popup
window. This would allow for the inclusion of footnote text within a document
that would not be visible until the reader wanted it to be presented. Developers
of user agents are free to experiment with this proposed feature, but there is
no requirement that it be implemented.

GLOSSARY

The GLOSSARY relationship identifies a glossary.

When REL=GLOSSARY, the target document is a glossary.
When REV=GLOSSARY, the current document is a glossary.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

A glossary may be directly presented as an HTML document which is organized and
presented in a style reminiscent of a paper-based glossary.

A glossary may also be accessed through an intermediary query mechanism. For
example, the user highlights a word or phrase and presses the glossary button,
thereby accessing the linked object and passing the highlighted text as an
argument. The server returns the glossary entry relevant to the highlighted
word.

Meta Documents

There are classes of information which are not intrinsic to a document, but for
which a clear and unambiguous association is often useful or even necessary.
This section defines a small set of keywords which are related to ownership and
legal notices.

Any attempt to rigorously define a closed set of meta-data classes, types, and
formats is doomed to failure, partly due to the need for ongoing
experimentation. Hence, the META keyword may be used to identify meta documents
which do not necesarily have a clear or unambiguous definition. The content of
the target node may be as specific format as a MARC record or an FGDC record,
or it may be an author-defined format.

For each of the relationship keywords listed in this section, if the
relationship is specified with REL in a LINK element, an HTML user agent may
present a labeled icon in a tool bar.

AUTHOR

The AUTHOR relationship identifies a hypertext link to an author.

The hypertext link may be to the author's home page, a biography, an audio or
video clip, or an agent which sends mail to the author (i.e., using mailto:
).

COPYRIGHT

The COPYRIGHT relationship identifies a hypertext link to a copyright
notice.

While it is arguable whether a copyright notice is required in every HTML file
to assert copyright protection on it, there is clearly a desire to express
copyright notice among a sufficient portion of the user community to justify
support.

A basic copyright notice for this document may simply state: "Copyright
1995 by Murray C. Maloney". It may be desirable, in place of or in
addition to such a notice, to have a hypertext link between each HTML document
in a set and a single copyright notice, as in the following examples:

The DISCLAIMER relationship identifies a hypertext link to a legal
disclaimer. Usage is expected to be similar to that of the COPYRIGHT hypertext
link. As with the copyright notice, there is no intention or expectation that
such a link would be the only way to express a disclaimer.

EDITOR

The EDITOR relationship identifies a hypertext link to an editor. Usage is
expected to be similar to that of the AUTHOR hypertext link.

META

The META relationship identifies a hypertext link to a node which contains
meta-information related to the current document. This is intended to be a
generalized meta-data relationship descriptor.

PUBLISHER

The PUBLISHER relationship identifies a hypertext link to a publisher.
Usage is expected to be similar to that of the AUTHOR hypertext link.

TRADEMARK

The TRADEMARK relationship identifies a hypertext link to a trademark
notice. Usage is expected to be similar to that of the COPYRIGHT hypertext
link.

Other REL and REV Values Under Discussion

The POINTER keyword is an invention of the author.

The BANNER, BOOKMARK, HOTLIST and STYLESHEET keywords are described in Dave
Raggett's Internet Draft on HTML 3.0. Recent discussions tend to indicate that
these keywords may not be appropriate for use as REL/REV values. Dave Raggett's
further explanation and justification is needed before any further discussion or
decision can be made as to the future status of these keywords.

The LANG attribute is described in Dave Raggett's Internet Draft on HTML 3.0. It
has been applied to various HTML elements, not including the LINK and A
elements. The author suggests that LANG is a useful attribute to apply to the
LINK and A elements. See also the discussion of
REL=TRANSLATION.

BANNER

The BANNER relationship identifies a document banner.

When REL=BANNER, the target document is to be included within the current
document as a banner. A banner is typically used for corporate logos, custom
toolbars, and other information which would not typically be scrolled with the
body of a document.

When REV=BANNER, the current document is a banner. This may be used, in future,
to provide error-checking or to prevent the use of a document as a banner unless
it has been explicitly identified as a valid source. (Or not! Sorry, I
was reaching for a useful meaning.)

Compelling arguments have been made against the need for a REL=BANNER value,
which is simply a special case of the INCLUDE mechanism.

BOOKMARK

The BOOKMARK relationship identifies a bookmark.

RESERVED: This keyword has been proposed by Dave Raggett. Its meaning and
purpose require further explanation. A placeholder is being maintained until
such time as Dave has had an opportunity to provide further explanation,
examples, discussion and justification.

>From Dave Raggett's write up in the HTML 3.0 I-D:
Bookmarks are used to provide direct links to key entry points into an
extended document. The TITLE attribute may be used to label the bookmark.
Several bookmarks may be defined in each document, and provide a means for
orienting users in extended documents.

HOTLIST

RESERVED: This keyword has been proposed by Dave Raggett. Its meaning and
purpose require further explanation. A placeholder is being maintained until
such time as Dave has had an opportunity to provide further explanation,
examples, discussion and justification.

If the hypertext link is specified with REL in a LINK element, an HTML user
agent may present an icon in a tool bar.

The LANG attribute is optional and has no default value. It may be used for
purely informational purposes by an HTML user agent, or by a robot for language
classification.

Used in combinatiuon with a proposed
REL=TRANSLATION and a user's language preference
setting, an HTML user agent may intelligently select from a collection of
otherwise equivalent hypertext links expressed with the LINK element. If the
user's language preference is not available, the user agent may present a
virtual menu of language options.

POINTER

The pointer relationship identifies a hypertext pointer. That is, this is a
way to do indirection in HTML.

When REV=POINTER, the anchor is a pointer to the target document. When a
hypertext link is traversed to a LINK or A element with REV=POINTER, the target
specified by the HREF value should be traversed, and so on, until a target
without REV=POINTER is retrieved.

<LINK NAME=PSEUDO REV=POINTER HREF="real.html">

When REL=POINTER, the target is a pointer to the real target. This value can be
used by a user agent to perform a pre-fetch of the specified target for
evaluation until the real target is reached.

NOTE: The author proposes that the NAME attribute be removed from the
LINK element, or that a practical use for it should be defined. For example,
hypertext indirection can be specified by providing both a NAME and an HREF
value on the LINK element, in combination with a specific REL or REV value, such
as POINTER. Some support exists among members of the HTML Working Group to
provide for hypertext indirection with the LINK element. There is no other
reason for an author to define a target by using the NAME attribute on a LINK
element, since the resulting target address is functionally equivalent to the
address of the document in which such a target is defined.

STYLESHEET

The STYLESHEET relationship identifies a stylesheet.

When REL=STYLESHEET, the target document is a stylesheet. When associated with a
LINK element, the author/publisher is expressing an expectation that the target
stylesheet will be applied by the HTML user agent. When associated with an A
element, an HTML user agent may simply retrieve the target stylesheet for
display, or it may launch a stylesheet editor with the target stylesheet.

When REV=STYLESHEET, the current document is a stylesheet and the target
document may be a demonstration of its use. In general, it is not anticipated
that stylesheets will contain LINK or A elements, as they are not projected to
be HTML documents.

Compelling arguments have been made against the need for a REL/REV=STYLESHEET
value. A more general STYLE element is widely seen as a more acceptable
approach.

The TRANSLATION relationship specifies a translation to another language.

When REL=TRANSLATION, the target is a translation to another language. This
value will most typically be used with the LINK element, in combination with
specification of the target document's language as a LANG
attribute value. Presumably, REL=TRANSLATION can be used with the A element
to specify a translation of a document fragment, such as a phrase in a foreign
language.

When REV=TRANSLATION, the current document, or document fragment, is a
translation of the target.

URC

The URC relationship identifies ???

This keyword has been proposed by Dave Raggett. Its meaning and purpose have not
been explained to the author, but a placeholder is being maintained until such
time as Dave has had an opportunity provide explanation, examples, discussion
and justification.

Hypertext Includes

There have been many discussions in various forums which clearly indicate that
hypertext includes are a desired feature of the HTML language, and for which
widespread user agent support is needed.

There are, apparently, three popular syntactic approaches to inclusion:
specifying INCLUDE as REL value on the A and LINK elements, specifying a
newly-defined and specially-purposed INCLUDE element (which would presumably
also have REL and REV attributes), and using SGML entities. Each is described
and discussed below, but no arguments are presented.

In either case, there is an expectation that processing of an INCLUDE link
would result in the INCLUDE value being deleted from the REL list and inserted
into the REV list. In other words, a REL=INCLUDE indicates that the inclusion
has yet to happen, while a REV=INCLUDE indicates that the inclusion has already
happened. It is helpful, for legal and copyright purposes, that included
material be identifiable at all times.

INCLUDE as a REL or REV Value

INCLUDE relationship identifies a document for inclusion.

When REL=INCLUDE, the target document should be included at the anchor
location. This value is typically, though not always, used with the A element.
Using this value on a LINK element implies that the included document only
contains information which is valid within the HEAD of an HTML document.

When REV=INCLUDE, the current document is identifying itself as an included
document in the target document.

INCLUDE as an Element

An anchor may also be specified using a newly-defined INCLUDE tag.

<INCLUDE REL=INCLUDE HREF="boilerplate.html"></INCLUDE>

In this scheme, when the hypertext link is traversed, and the content of the
target document is included, the INCLUDE element would surround the included
text. As a function of traversing the link, the REL attribute value would be
transformed to a REV value, thus maintaining information about the link.

<INCLUDE REV=INCLUDE HREF="boilerplate.html">
This is the boilerplate text
</INCLUDE>

SGML external entitities

SGML provides a mechanism for specifying external entities and including them,
by reference, in an SGML document.

Hypertext Paths

NOTE: Recent discussions tend to indicate that the mechanisms and
language uses needed to support paths have not been adequately articulated or
specified. This section appears here for historical completeness. Dave Raggett's
further explanation and justification is needed before any further discussion or
decision can be made as to the future status of these keywords.

Paths are described briefly in Dave Raggett's Internet Draft on HTML 3.0, and
reproduced below without further explanation. Further discussion, explanation
and justification from Dave are clearly required before any further public
discussion or decision can be made as to the future status of these keywords.
The material below is reproduced for historic purposes and may be subject to
future revision.

Values for use in defining Guided Tours with <A> element. These allow
Guided Tours to be defined using HTML, for instance as part of tables of
contents, e.g. <A REL=NODE REV=TOC HREF=Chap1.html>..

NODE

The NODE relationship implies PREVIOUS/NEXT LINKs for given URI.

PATH

The PATH relationship specifies that the given URI contains <A REL=NODE>
links that should be inserted into the guided tour.

The browser treats the REL=NODE URIs as forming a sequence of nodes to follow
and sets the <LINK REL=PREVIOUS>, NEXT as appropriate for each node as it
is visited.

Proposed New Attributes for A and LINK Elements

Through the course of discussions, suggestions have been made to create new
attributes for the LINK and/or A elements. These are preliminary discussions,
with no sample implementations to demonstrate support.

ACTION or STYLE or PROCESS or PRESENT

Activiating a hypertext link in the HTML user agents of mid-1995 typically
results in the linked object replacing the current object in the presentation
window of the user agent. By convention, HTML user agents typically provide an
alternate method which spawns another window and presents the linked object in
it.

It has been suggested by Ian Graham and Roy Fielding, and agreed upon by many
others, that the author should have some means to indicate a preference for the
manner in which the user agent should present the linked object to the user. As
you can see, the name of the attribute still needs to be settled.

From Ian Graham:
It seems reasonable to allow the author to suggest browser behavior when links
are activated. For example, when I click on a LINK button, should I clone a
window for the link, or pop up a subwindow for a glossary entry? Perhaps this
should be part of a CLASS attribute, but to my mind CLASS should be used to
define the presentation/meaning of a document element in the document BODY as
opposed to browser behavior.

And from Roy Fielding:
Presentation semantics -- where should the results be "placed". A
style="" attribute (defined as NAMES) would do nicely here.

Possible values and their meanings are:

CLONE

Present the linked object in a presentation window which is a clone of the
current presentation window. That is popup another persistent window.

EMBED

Present the linked object at the current location. This provides a syntax for
expressing "stretch text", but it also presents numerous problems.
This will be subject to much debate.

REPLACE

The default behavior. Present the linked object in the current presentation
window, replacing the current object completely.

POPUP

Present the linked object in a non-persistent presentation window. That is, show
the linked object while the user is activating the link, and make it disappear
when the user releases activation. In the case that the popup is entered without
user activation, the user agent may provide a "Cancel" button or
another mechanism to make the popup window disappear.

SPLITSCREEN or HORSPLIT

Present the linked object in one pane of a horizontally split window.

ALONGSIDE or VERSPLIT

Present the linked object in one pane of a vertically split window.

DINGBAT

The DINGBAT attribute, applied to the LINK element and the A element, would
be used to specify the entity name of a graphic image (an icon) to associate
with a hypertext link. The DINGBAT attribute values must be specified by the
HTML DTD as an SGML name token group.

When used with LINK, the icon may be used on an HTML user agent toolbar. When
used with A, the icon may be placed in close proximity to the anchor's
highlighted text, as a footnote marker for example.

There are advantages to using an entity rather than an external graphic.
Presumably, a user agent would pre-load the standard set of entities, thereby
eliminating the need to fetch a graphic across the network. It is hoped that
user agents will provide users with a means to specify the system location of
personalized or customized versions of standard icons, thereby offering the user
the opportunity to exercise greater control over the user interface and the
graphical presentation.

The DINGBAT attribute has already been proposed for lists and list items in Dave
Raggett's Internet Draft on HTML 3.0. User agent behavior, in the face of
contention between DINGBAT and SRC, must be specified.

HILITE or HIGHLIGHT

Roy Fielding has pointed out that the author can indicate a preference for
the style of anchor highlighting. So far, the list of candidate keywords are:

None

Button

IconOnly

Underline

Outline

Reverse

METHOD

From Ian Graham:
It would often be convenient to access a link using a defined HTTP method
other than GET. For example, suppose I have a LINK attribute defining a
related, searchable glossary. One desirable behavior is as follows: the user
highlights a word and clicks a mouse button (or presses a glossary button).
The browser accesses the linked object, passing to it the highlighted text.
The server then returns the glossary entry relevant to the highlighted word.
This requires standardized methods and data encoding schemes. There is
only one, namely the HTTP TEXTSEARCH method, which is how ISINDEX search data
are sent to a server. I therefore propose that the METHOD attribute have two
possible values, namely GET|TEXTSEARCH, to indicate how the client should
access the linked resource.

GET

TEXTSEARCH

SRC

The SRC attribute, applied to the LINK element and the A element, would be
used to specify the location of a file containing a graphic image (an icon) to
associate with a hypertext link. When used with LINK, the icon may be used on an
HTML user agent toolbar. When used with A, the icon may be placed in close
proximity to the anchor's highlighted text, as in the case of a footnote marker
for example.

This extension of the applicability of the SRC attribute has already been
proposed for lists, list items, and admonishments in Dave Raggett's Internet
Draft on HTML 3.0. User agent behavior, in the face of contention between
DINGBAT and SRC, must be specified.

WHEN

Roy Fielding and Ian Graham have pointed out that user agents currently
exhibit different behavior between their processing of hypertext links specified
with the SRC attribute and those specifiewd with HREF. Typically, user agents
await user activation before traversing a hypertext link specified with an HREF
attribute, while those specified with SRC are more often fetched immediately.
This distinction is a natural consequence of a design which uses the SRC
attribute to specify a hypertext link to an embedded graphical image.

The author can take advantage of an ability to specify when, or the type of
event, which should initiate the hypertext link.

Roy Fielding has offered a small set of possible attribute values:

UserSelect

as is the case for anchors and FORMS

AutoEntry

as is the case for EMBED or IMG

AutoExit

an interesting derivative

Export

only used external to the user process

In response, Murray Maloney asks:
Would the AutoExit derivative provide a means for me to do indirection? For
example, in document A I have <A HREF=B#foo>, and in B I have <LINK
NAME=foo STYLE=AutoExit HREF=C>. Would asserting the anchor in A lead me to
C? If so, wonderful. If not, then why not and what then?

Please explain the meaning of "Export"? That is, if I use it what
does it imply about "when should the action take place"?

This paper is the synthesis and codification of ideas from a variety of
sources. It is only fitting that those who have contributed to the discussion in
various forums should be acknowledged for their part in the recent attempt to
move this work forward.

A + before a name indicates that the individual has agreed to review a recent
version of this draft. A ++ before a name indicates that the individual has
commented and that the author has attempted to incorporate their comments,
entering into a dialog to seek clarification as required.