[Mirrored from: http://www.sq.com/papers/Relationships.html]
This is a discussion paper: It was initiated through discussion on the HTML Working Group mailing list.
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.)
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.
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:
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:
<LINK HREF="chapter1.html" REL=PREVIOUS> <LINK HREF="chapter3.html" REL=NEXT>
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 HREF="..."><IMG SRC="image.gif" ISMAP></A>
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 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:
<HTML> <HEAD> <LINK NAME=THIS> <LINK NAME=THAT HREF=THAT.html> </HEAD>
The LINK and A elements share a set of common attributes. Except where noted, the semantics of those attributes is the same.
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.
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.
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.
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:
<LINK REL=NEXT CLASS=NOVICE HREF=... > <LINK REL=NEXT CLASS=VETERAN HREF=... > <LINK REL=NEXT CLASS=EXPERT HREF=... > <LINK REL=NEXT CLASS=GURU HREF=... >
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.
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.
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.
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.
<A REL="PARENT" HREF="..." > previous </A> <A REL="PARENT PREVIOUS" HREF="..." > previous </A> <A REL="SIBLING NEXT" HREF="..." > next </A>
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.
<A REV=MADE HREF="mailto:murray@sq.com" > Author </A>
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
... as described by Tim Berners-Lee <A REL=CITATION HREF=#TBL> [1] </A> ...
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.
... is described in Tim Berners-Lee's <CITE><A NAME=TBL REV=CITATION HREF=./biblio/TBL > The HyperText Markup Language </A> </CITE> ...
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>
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.
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.
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.
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: ).
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:
<LINK REL=COPYRIGHT HREF="copyright.html"> <A REL=COPYRIGHT HREF="copyright.html"> Copyright 1995 by Murray C. Maloney </A>
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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 provides a mechanism for specifying external entities and including them, by reference, in an SGML document.
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>..
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.
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.
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:
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.
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.
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:
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"?
Consider these examples:
<LINK ACTION=POPUP WHEN=AutoEntry REL=COPYRIGHT HREF="copyright.html"> <A ACTION=POPUP WHEN=AutoEntry REL=COPYRIGHT HREF="copyright.html"> Copyright 1995 by Murray C. Maloney </A>In either case, the user agent is expected to display the target document in a popup as soon as the current document is retrieved.
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.
++Terry Allen, O'Reilly and Associates, terry@ora.com + Brian Behlendorf, Indiana Univ., brian@organic.com ++Bert Bos, Rijksuniversiteit Groningen, bert@let.rug.nl ++Jon Bosak, Novell, Jon_Bosak@novell.com + Paul Burchard, burchard@geom.umn.edu + Steve DeRose, Electronic Book Technologies, steve@ebt.com + Joe English, joe@trystero.art.com + Roy T. Fielding, Univ. of California (Irvine), fielding@ics.uci.edu ++Peter Flynn, pflynn@curia.ucc.ie ++Ian Graham, Univ. of Toronto, igraham@utirc.utoronto.ca + Alex Hopmann, ResNova Software, Inc., hopmann@holonet.net ++Craig Hubley, Craig Hubley & Associates, craig@passport.ca + Albert Lunde, Albert-Lunde@nwu.edu - Larry Masinter, Xerox, masinter@parc.xerox.com + David Morris, dwm@shell.portal.com * Dave Raggett, MIT/W3C, dsr@w3.org + Liam Quinn, SoftQuad Inc., lee@sq.com
If I have misspelled your name, left off your affiliation, or got anything else wrong, please know that I meant no harm. If you'll get back to me, I'll correct it.
In addition to those listed above, the following people have been asked to comment on early drafts of the proposal.
+ Murray M. Altheim, NTTC, murray.altheim@nttc.edu ++Henry Budgett, SCO, henryb@sco.com + Dan Connolly, MIT/W3C, connolly@w3.org ++Dave Hollander, HP, dmh@hpsgml.fc.hp.com + Tom Magliery, NCSA, mag@ncsa.uiuc.edu + Eve Maler, ArborText, eve@doctools.com + Eric Miller, OCLC, emiller@oclc.org Lou Montulli, Netscape Communications, montulli@netscape.com Bob Stayton, SCO, bobs@sco.com + Stu Weibel, OCLC, weibel@oclc.org ++Faith Zack, SCO, faithz@sco.com