Hypertext links in HTML (fwd)

Murray Maloney (murray@sco.COM)
Mon, 15 May 95 16:03:18 EDT

Hi all,

I have finally got around to pulling together
a document which describes the REL and REV values
which I think might be applicable in the short-
to mid-term.

I have defined some terms, so that y'all know what
the heck I am on about, and I've written a bit more
formally than I am prone to do in email.

I don't think that this is a cononical list of relationships.
It is a first cut at a list, with a small attempt at
describing what some of us have been discussing for
a couple of years. In particular, I'm not convinced
that the list of Document Types is needed anytime soon,
but I included it after following a URL that Dan sent me.

I've tried to go lightly on browser behaviour, but your
mileage may vary. Please let me know. I don't see
how I can avoid some mention of possible browser behaviour
in the face of certain REL/REV values, but I don't know
how far I can safely go without overstepping the bounds
of the HTML WG.

Dave Raggett -- I need some specific items addressed.
Search on /Dave/ to locate/. Could you please get back to me?

Murray
============================================================

Hypertext links in HTML
************************

Anchors and Targets
====================

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 toolbar, an active graphic, or an
imagemap. An anchor is typically specified using the A tag, but
LINK may also be used to specify some anchors; continue reading for
more details.

A target is the destination or address of a hypertext link. The
destination might be another HTML document, another location
within the same HTML document, or any other type of object which
can be addressed.

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

Not all targets of hypertext links need be represented as anchors
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 a hypertext link.

An HTML user agent is free to provide whatever mechanism it
chooses to allow the user to traverse from an anchor to a 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 types of hypertext link might have different behaviour
associated with them. For example, a link to a Table of Contents
might be presented as an icon, with an appropriate label, in a tool bar.
Another application might present the same link as a simultaneous
view of the document in an alternate window or a concurrent pane. A
hypertext link might also initiate a software program, or present
audio, video, print, or 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 LINK and A Elements
========================

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 A element is used to indicate the start (anchor) or end (target) of
a hypertext link within the body of an HTML document.

For the purposes of this discussion, the important attributes are:

ID
The ID attribute specifies an SGML identifier used as the
target of hypertext links or for naming particular elements in
associated style sheets.

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.

HREF
The HREF attribute value specifies the location of a
destination or resource, expressed in the Universal Resource
Identifdier (URI) notation. An HTML user agent might
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.

REL
Used to describe the relationship from the linked object
specified by the HREF attribute. For example, REL=NEXT is
used to indicate that the linked object is the next logical
document in an author-specified sequence.

The REL attribute can be used to support search for links
serving particular relationships.

REV
Used to define the relationship to the linked object specified
by the HREF attribute. For example, REV=PREVIOUS is
used to indicate that the linked object is the next logical
document in an author-specified sequence.

A Table of Contents might contain a series of anchors which
specify REV=CONTENTS.

TITLE
The value of the TITLE attribute is typically used to describe
the linked object specified by the HREF attribute. An HTML
user agent might 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.

Legacy
=======

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.

Browser-defined Links
======================

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 browser. This relationship may not
be overridden; HTML user agents should ignore any
author-supplied REL=BACK setting.

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

Navigational Node Links
========================

BIBLIOGRAPHY
The BIBLIOGRAPHY relationship identifies a bibliography.

BOOKMARK
The BOOKMARK relationship identifies a bookmark.

When REL=BOOKMARK... 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.

Dave, I'll need much more detail on how this is supposed
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
to work.

CONTENTS
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 might present an icon in a tool bar. If
capable, an HTML user agent might present the Table of
Contents in a concurrent window or pane, highlighting the
current document.

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 might present an icon in a tool bar.

HOTLIST
Dave Raggett needs to provide an explanation of how this is to
be used. One could speculate that it is intended to be some
kind of "See Also" mechanism.

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

Dave, I'll need much more detail on how this is supposed
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
to work.

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 specify the
relationship between the two, such as TOPIC or
DEFINITION.

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

NAVIGATE
The NAVIGATE relationship identifies a navigational aid.

When REL=NAVIGATE, the target document is a
navigational aid. A navigational aid might 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 might 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 might present an icon in a tool bar.

Hierarchy Links
================

TOP
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 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 might present an icon in a tool bar.

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 might present an icon in a tool bar.

CHILD
The CHILD relationship identifies a subordinate or
subdocument.

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.

If the hypertext link is specified with REL in a LINK element,
an HTML user agent might present an icon in a tool bar. Any
document may have multiple CHILD documents.

Sequence Links
===============

Given a set of documents, it is possible and often desirable to specify
a linear sequence to navigate through the set. A book, for example, is
often organized as a linear sequence.

BEGIN
The BEGIN relationship identifies user-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
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 might present an icon in a tool bar.
END
The END relationship identifies user-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 might present an icon in a tool bar.

PREVIOUS
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 might 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 might present an icon in a tool bar.

Document Types
===============

The following keywords may be used to describe relationships in
either direction, but it is expected that the REL attribute will be used
to greater advantage.

ARTWORK
The ARTWORK relationship identifies a document
containing artwork.

BOOK
The BOOK relationship identifies a book.

JOURNAL
The JOURNAL relationship identifies a journal.

MAGAZINE
The MAGAZINE relationship identifies magazine.

MANUAL
The MANUAL relationship identifies technical manual.

MAP
The MAP relationship identifies a map.

NEWSPAPER
The NEWSPAPER relationship identifies a newspaper.

PROCEEDINGS
The PROCEEDINGS relationship identifies conference
proceedings.

PROGRAM
The PROGRAM relationship identifies a software program.

REPORT
The REPORT relationship identifies a report.

THESIS
The THESIS relationship identifies a thesis.

Related Documents
==================

ABSTRACT
The ABSTRACT relationship identifies an abstract.

BIBLIOENTRY
The BIBLIOGRAPHY relationship identifies a bibliographic
entry.

CITATION
The CITATION relationship identifies a bibliographic
citation.

It is expected that REL=BIBLIOENTRY will be used in
combination with REV=CITATION to create a link between a
book citation

DEFINITION
The DEFINITION relationship identifies a definition of a
term. Definitions may be, but are not necesarily, contained
within a glossary.

FOOTNOTE
The FOOTNOTE relationship identifies a footnote.

INCLUDE
The 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 with the HEAD of an
HTML document. While there may be legitimate uses for
this, it is deprecated and user agents are free to ignore it.

When REV=INCLUDE, the current document is identifying
itself as an included document in the target document. This
value is only valid on the LINK element. Multiple LINK
elements with REV=INCLUDE might be used within a
document which contains boilerplate text.

Meta Documents
===============

COPYRIGHT
The COPYRIGHT relationship identifies a copyright notice.

DISCLAIMER
The DISCLAIMER relationship identifies a legal disclaimer.

TRADEMARK
The TRADEMARK relationship identifies trademark notice.

AUTHOR
The AUTHOR relationship identifies an author.

EDITOR
The EDITOR relationship identifies an editor.

PUBLISHER
The PUBLISHER relationship identifies a publisher.

URC
The URC relationship identifies ???

Dave, I'll need much more detail on how this is supposed
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
to work.

Other
======

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 might 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 sourcer.

STYLESHEET
The STYLESHEET relationship identifies a stylesheet.

When REL=STYLESHEET, the target document is a
stylesheet.

When REV=STYLESHEET, the current document is a
stylesheet and the target document might 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.

Paths
======

Values for use in defining Guided Tours with 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>..

Dave, I'll need much more detail on how this is supposed to work.

NODE
The NODE relationship identifies

-- implies PREVIOUS/NEXT LINKs for given URI --

PATH
The PATH relationship identifies -- given URI contains 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 , NEXT as appropriate for each node as it
is visited.

===========================================================================
---------------------------------------------------------------------------
Murray C. Maloney Internet: murray@sco.com
Technical Publications Writer/Architect Uucp: ...uunet!sco!murray
SCO Canada, Inc. My Phone: (416) 960-4031
130 Bloor Street West, 10th Floor Fax: (416) 922-2704
Toronto, Ontario, Canada M5S 1N5 SCO Phone: (416) 922-1937
===========================================================================
Disclaimer: I'm speaking for myself. 'T ain't nobody else to blame but me.
---------------------------------------------------------------------------
Sponsor member of Davenport Group Member of IETF HTML Working Group
===========================================================================