Improved, slightly modified version of my proposed redraft
Thanks to Tim for supplying the XML original and the tools to work
has only my new bits now. I decided Martin was right, and I've gone
back to link types and endpoint types. Here's the plain text of the
new version, without the pretty picture.
Extensible Hyper Linkage (XHL) is a simple set of constructs that may
be inserted into SGML documents to describe links between objects. XHL
is designed to use the power of SGML to create a structure that can
describe both the simple unidirectional links of today's HTML, as well
as more sophisticated multi-ended, typed, self-describing links. The
SGML constructs used in XHL are simple enough to be available in the
Extensible Markup Language (XML) subset of SGML. XHL is completely
described in this document.
Extensible Hyper Linkage
Version 1.01 PARTIAL DRAFT
11 February 1997
Extensible Hyper Linkage (XHL) describes a set of constructs which may
be inserted in SGML documents to describe links between objects (the
objects may or may not be (in) SGML documents). A link, as the term is
used here, is a relationship between two or more data objects or
portions of data objects, called its endpoints. Not all relationships
are links: the relationship of a chapter to its paragraphs, of one
word to the next, or any non-explicit relationship, are not considered
links here. The relationship expressed using SGML's id and idref
attributes is a link, subsumed within the framework presented here.
Links in XHL are described by elements contained in SGML
documents. Such an element is called a link description, or linkd. The
link description element itself may, but need not, be one of the
endpoints of the link it describes. A link description can be
understood as a mapping from document instances and their contexts to
Just as SGML Applications consist of a DTD and a specification of the
meaning or significance of the structures defined therein, so an XHL
Application must include a specification of the meaning or
significance of the link types and endpoint types it employs.
1.1 Origin and Goals
XHL is part of the overall XML effort, on which see .... It aims to
provide an effective yet compact means for describing links that can
have multiple typed endpoints, indirection, and flexible yet precise
means for locating endpoints in all kinds of data. It also aims to
represent the abstract structure and significance of links, leaving
rendering and other issues of link-engendered behaviour to stylesheets
or other mechanisms as far as practical (it is acknowledged that there
is a grey area here).
1.2 Relationship to Existing Standards
Three standards have been especially influential on XHL:
1.HTML: Defines several SGML element types that describe links, as
well as popularizing a locator type, the URL, mainly focused on
locating entire data objects, though with some provision for
linking to elements with IDs, regions in graphics, and so on.
2.HyTime: Defines locator types applicable to all kinds of data,
as well as in-line and out-of-line link description elements
and some semantic features including traversal control and
placement of objects into a display or other space.
3.Text Encoding Initiative: Provides a formal syntax for locators
for structured data, graphics, and other data, and elements
incorporating these for describing links and collections of
Many other relevant linking systems have also informed this design,
including Dexter, MicroCosm, InterMedia, and others.
The following basic terms for parts of links and link descriptions
apply in this document. They also appear on the following structural
diagram of a simple link.
1.5 Types of links
Many papers have been written on how to categorize links. The
XHL effort distinguishes several major axes for categorization. XHL
provides ways to identify a link along each axis, but only
provides a standard vocabulary for the first kind of categorization, namely
link types. The vocabulary of XHL link types can be extended
by creating hierarchies of sub-types.
1.link types: Links express various kinds of relationships
between the things they connect, in terms of their role in the
defining XML Application. Some links may be criticisms, others
add support or background, while others have a very different
meaning such as providing access to demographic information
about a data object (its author's name, version number, etc),
or to navigational tools such as index, glossary, and
summary. A link's link type provides a simple hierarchically
structured starting point for specifying link semantics.
2.link topology: In-line versus out-of-line links differ in their
structure, as do links with varying numbers of endpoints.
3.locator language: Links descriptions may differ in what formal
language their locators use to specify endpoints. Different
locators in the same link description may use different
2. Link Recognition
An XHL Link description element is contained in an SGML document. The
fact that an element is a link description must be recognized reliably
by software in order to provide appropriate display and behavior. XHL
links may be recognized based on the use of specially reserved
attributes (as in the example above), the use of specially reserved
element types, or through other means not described in this
2.1 Link Description Element Recognition by Attribute
A link description element may be recognized based on the value of a
reserved attribute named XHL appearing as part of its start tag,
either directly in the element itself, or indirectly in the definition
of the element type in (the external subset of) the DTD for the
document. Possible values are MLINK, TLINK, ELEMENT, XLG, and XLD,
signalling in each case that the element may be treated as a link
description element of the indicated type, as described in this
An example of such a link description element with an explicit
<A XHL="TLINK" HREF="http://www.w3.org/">The W3C</A>
See the figure above for an example of the approach where the
attribute is specified in the DTD.