[This local archive copy is from the official and canonical URL, http://www.groveware.com/~lee/papers/markup98conference/links.html, December 15, 1998; please refer to the canonical source document if possible. Note that this is a 'preprint' version as of this date.]

Links in XML: Detection, Representation and Presentation

Liam Quin graduated in 1984 from the University of Warwick in England with a BSc. (Hons) in Computer Science; he has worked with Unix and text processing since 1981, with SGML since 1987, and with XML since its inception. He plays the piano badly, goes barefooted often, and shares a house with his partner and two cats.
This paper was published in the proceedings of the Markup 98 conference held in Chicago, November 1998.

Liam R. E. Quin

GroveWare Inc.
67 Yonge Street
Toronto, ONT
CANADA, M8E 1J8
+1 416 955.9845
Fax +1 416 955.9940
http://www.groveware.com/~lee/

Abstract

The XML language has support within it for HyperText links, and uses links itself to associate disparate components of compound documents. A number of associated standards and recommendations have grown up around XML, and many of these introduce their own forms of linking. Furthermore, there are linking conventions in both computer-based information display systems and in paper-based typographical layout.

This paper provides a summary of many of these linking systems, and also attempts to delineate the underpinnings of a unifying abstract model based on the concept of Linking Functions sufficient to describe the links. A single and minimal terminology set is used.

Indications are also made of linking forms that are in common use but that XML does not at the time of writing directly support.


Definitions

Before discussing links, we must say what we mean by a link. A more formal mathematical approach is taken in this paper than that of George Landow in Hypertext 2.0 [Landow1997pp. 11ff.], in order to try to describe a general model that can be applied widely.

link
A link is an assertion that a relation R holds between two sets of resources. It can also be viewed as a linking function:
linking function
A linking function is a function fR: S1 --> S2, where R is the relationship being asserted and Ss and St (the domain and codomain of the link function, respectively) are the two sets of resources between which the relationship may be said to exist. Ss is informally referred to as the source of the link f and St as the target.
inverse linking function
The inverse linking function f-1 is the function that maps the codomain S2 of f back into its domain S1. Two types of inverse function are of particular interest, the computed and the explicit inverse function.
computed inverse function
A computed inverse f-1 of a linking function f: S1 --> S2 is the function obtained by evaluating f and then stating that f-1 is S2 --> S1. This is (for example) the method used by a web browser's back function.
explicit inverse function
An explicit inverse f-1 of a linking function f: S1 --> S2 is a function f-1: S3 --> S4, with the constraint that S2 and S3 be either identical or have a non-empty intersection P; P may be called the pivot set of the inverse. P may be a proper subset of S2 since the inverse mapping may not be defined for all members of the result set of f.

An explicit inverse linking function, in practice, is one that is supplied rather than inferred or computed; see the discussions below of HTML REL and REV, and of bidirectional links.
link form
A link form is a syntactic form used to represent a link.

The HTML A and IMG elements are examples of link forms.

Some Mathematical Properties of Linking Functions

No attempt is made to derive a formal link grammar, but only to define a sufficiently formal basis for the discussion in the rest of the paper. There is scope for future work in the area of rigorous mathematical definitions and theory covering markup and linking.

This section describes some of the formal mathematical and computer science properties of functions as applied to Linking Functions.

Linking Functions may be Impure

The result of a link function may depend not only on the participating resources, but also on the environment E in which the function is evaluated (e.g. the system formed by the interaction between browser, server and network). Examples include World Wide Web links that behave differently depending on the browser version or on the previously visited page (using the UserAgent and Referrer HTTP headers). It may also depend on time, on location of the viewer, or on almost anything else imaginable. For this reason, there is no need to mention explicitly that a linking function depends on the environment, as all such functions do so.

It is perfectly acceptable for a linking function to return a different result each time it is called, such as a list of users who have tried to follow the link. In this sense, a linking function may be impure, that is, may have side effects. As a result, a complete link function grammar cannot easily be referentially transparent, unless perhaps one considers a linking function to generate a constant but possibly unpredictable sequence of results.

An Identity Function is Possible

There is no requirement that S1 and S2 be disjoint: an identity function IR: S1 --> S1 is certainly possible*.

*

One might argue that the HTTP response 204 (do nothing) is the result of an Identity function, and that if a remote HTTP server happens to send a byte-for-byte identical response twice in a row, that has nothing to do with I. We are not concerned here with this level of implementation detail.

Linking Functions are not always Injective

The linking function is not in general an injection{1}, because we impose no constraint on the cardinality of the result set: the function for a given relationship may be many-to-one, one-to-many, one-to-one or many-to-many, and there need be no connection between the resperctive cardinalities of S1 and S2.

Some Linking Functions may be Surjective

In some specific applications (such as with some uses of HyTime or XLink), f may be a surjection*, with a bounded domain set, but on the World Wide Web this is not generally meaningful.

{1}

A function f is a surjection if every element of the result set (the codomain) is reachable from some element in the source set (the domain). On the World Wide Web there are many web pages to which there are no explicit links, although one may reach them by entering a URL directly into a browser. See [StewartTall1977] (for example) for a formal definition of surjection.

A Link Function may be Non-Deterministic

There is no requirement that a linking function be deterministic; the function could return a different result each time it is called, in which case one might consider it as depending in some way on time, f(R, t).

A function that returned an entirely random resource is possible: such things exist on the World Wide Web, where they are sometimes known as Roulette Links.

XXX why is this here? XXX As an example, consider the following HTML fragment:

<A HREF="gloss901.html" REL="Defines"> 
    Boy Bishop
</A> 
Here we assert that there is a relationship between the linked text Boy Bishop and the resource known as gloss901.html; the relationship R is asserted to be Defines so that one might reasonably suppose that gloss901.html contains a definition for the term Boy Bishop.

The Inverse Linking Function may not be Computable in Practice

That a link exists in one direction does not imply the existence of a link in the reverse direction, an inverse of the linking function. It may at first appear that this is not so, and indeed, in theory, one might say that the inverse always exists. In practice, however, it is not always computable. Consider the question, What is the set of all World Wide Web documents pointing to a particular page? Or, for a web search query, the question, What query would have produced this set of results? This cannot be answered, not least because there may be links to this page from a page that is not publicly reachable.

Linking Models

This section describes the main linking models in use in XML and in HTML, both as Linking Functions and in practical terms with examples. The purpose is to show how a wide variety of syntaxes for links can be considered in a uniform manner, and to show where differing forms are in fact equivalent.

In each case, the following information is of interest:

  1. The set of resources that form the source of the link: this, together with any environmental or time-specific items, constitutes the domain S1 of the link;

  2. The set of resources that results from traversing the link: this is the codomain S2 of the link function;

  3. The purpose of the link: that is, any additional semantics such as "Author", "Points to a table of contents in which this document is listed";

  4. The expected action that software should take when traversing the link, such as replacing the contents of one window with another, animated visual effects, sounds or other actions; this is the application linking behaviour;

  5. Whether the link should be traversed automatically as soon as it is encountered, as for example with an included image, or whether the application should, if being operated by a human user, wait for a specific instruction before following the link, as with a normal HTML link;

  6. The syntactic link form itself: that is, the markup that is used.

Linking in the World Wide Web Architecture

For a long time both the SGML and HyTime community and the hypertext research community ignored the World Wide Web, perhaps because it is neither rigorously validated nor reliable.

In fact, it is that willingness to accept unreliability in order to gain simplicity that has led the Web to success. But despite its simplicity, the power and generality of the Web architecture should not be underestimated.

Link Relationships: REL and REV

Tim Berners-Lee wrote an architecture document in 1989/90 [BernersLee1990] which describes some link types such as is part of, Next, Previous, Annotation and Author. Murray Maloney, in conjunction with the present author, published an experimental IETF RFC in 1996 [MaloneyQuin1996] which expands on these named relationships.

These relationships are associated with HTML links using either a REL attribute or by specifying the reverse relationship with a REV attribute:

<A HREF="../index.html" REL="PARENT">

In this way, an HTML link can specify the link's domain and (indirectly, via a URL) codomain, and also the purpose of the link.

Remote Execution

The World Wide Web architecture admits of the possibility that the link function f is computed on a remote server (for example, using the CGI protocol [McCool1995]), but the resulting set S2 must be of cardinality zero or one: there is no way to say that the result set is of unspecified size, or that multiple (but unordered) resources are to be returned.

Single Result: codomain has cardinality of one

One of the most important aspect of links on the World Wide Web for our purpose is that a single source link always results in a single resource: the domain S1 and the codomain S2 each have a cardinality of one. The resulting resource, however, may itself contain markup that causes other links to be traversed automatically (e.g. IMG elements or JavaScript code). It is thus useful to consider HTML links as being one-to-many.

Note that even an error on a remote server is returned as an HTML document, although the HTTP header also indicates the error status.

The underlying HTTP protocol has been extended to support multiple transactions with a single connection, and also to allow multiple documents to be returned for a single request; in the latter case, however, each successive document replaces the first rather than augmenting it in some way. One can therefore consider this to be a one-to-one link where the result happens to be a textual animation!

XLink

At the time of writing (August 1998), there is an early draft available for the format for specifying links with XML, known as XLink.

XLink is specified at the time of writing in a World Wide Web Consortium Draft [MalerDeRose1998]. It defines a number of what are, in effect, architectural forms. For example, any element that bears the attribute name-value pair (xml:link, simple) may have an href attribute containing a URL that works exactly like an HTML HREF attribute on an A element (except that href must be in lower case in XML/XLink).

In addition to the URL, XLink also supports a more powerful addressing scheme based on the TEI Guidelines [TEI.P3], called XPointer [XPointer]. XPointers (Extended Pointers) do not affect the formal characteristics of links, but they allow more succinct representation, and also permit linking to text that is not explicitly marked up as a target within a document or other resource.

XLink distinguishes inline and out-of-line links by whether the link form appears in the markup of one of the resources in the domain of the link itself.

Links in XLink may have result sets (codomains) with cardinality greater than one, but do not appear to support multiple starting points (domains with cardinality greater than one). A concrete example would be that, using XLink, following a link in one window would not itself cause other windows to be updated.

Transclusion and Inclusion

Transclusion is a term coined by Ted Nelson for Project Xanadu; it refers to the embedding of part or all of a remote resource in another resource in such a way that the original source is made clear. A C or C++ programmer is familiar with Inclusion in terms of #include.

The XML specification allows both transclusion and inclusion with an external parsed entity, but (for a non-validating XML processor) does not specify which, if either, is to occur. XLink takes this one step further and allows a form of link that a user may choose to expand in place.

There is no difference between inclusion and a simple link: it is purely a matter of presentation. Transclusion preserves the context of the original quoted material, and is thus an augmented link in which there is a link type of Transclude and in which the result set (codomain) includes information such as the cost of viewing, the identity of the author, and possibly other rights information, as well as an indirect link to the actual content.

XSL, the XML Style Language

At the time of writing, (August 1998), the July draft of the XML Style Language (XSL) had not been made available. However, the following general principles certainly apply.

Links between Style and Content

The purpose of a style language is to associate typographic formatting with markup. There must therefore be links between the markup and the style definitions, which are contained in a resource known as a style sheet. In order to be able to use a single style sheet for many documents, the links must be generic: all titles are bold, all footnotes are tiny, all animations are slow. These are then links from the style sheet into the document, but that are computed based on the document instance.

A typical style sheet rule might say that the first paragraph within a numbered list does not have a leading indent, but runs right on from the list item number. This rule is a link between the presentational behaviour and every paragraph that is the first element contained within a list item inside a numbered list element.

Style sheet rules therefore have a domain of one (the style information) and a codomain of indeterminate size (the matching elements).

Namespaces

The XML Namespace draft associates a prefix used on names within a document with an external schema or definition. The link relationship is defines, the source domain set is the set of all names in the document that have the given prefix, and the target codomain is the external schema that may (when its format is specified) define behaviour, semantics and/or validation rules for those names, perhaps along with documentation.

RDF

RDF [RDF]grew out of work at the World Wide Web Consortium on web collections, digital signatures and other metadata. The purpose of a Resource Description is to be able to link a group of resources together and specify their relationships. The relationships supported include those listed by the Dublin Core workshops [DublinCore] as well as others needed by the digital signatures and web collections and other groups.

An RDF document contains a hierarchy of links to external resources, together with explicit indication of the link relationship. In each case, the links are one-to-one, so that the RDF linking function is a mapping from a set of links with the resource description to a set of resources. Since the link targets need not be distinct, however, the codomain may be smaller than the domain, and the RDF linking function is not in general an injection.

Search Engines and CGI Scripts

A Web search engine is an interesting case of a linking function where the link is from a user's query (e.g. find all documents mentioning feet but not inches) to a list of documents that the search engine has found to satisfy the query with some given confidence level.

The domain set is usually a singleton, just the query, although some search engines allow the user to combine several queries to make a single complex compound query, in which case the source domain has a larger membership than one. The result codomain is a single document with links to each of the matches, together with summaries, titles, ranking information, advertisements for socks and other useful information.

Since the result document is not itself of interest, it is usual to think of a search query to have a codomain consisting of the set of all documents matching the user's query.

Metaspy and Dynamic Query Lists

Metaspy [metaspy] is one of several World Wide Web facilities that allow one to watch the queries that are submitted to a search engine, in this case to Metacrawler [metacrawler]. The interface shows the most recent dozen or so queries that people have made, and is updated automatically every few seconds. Each query shown is itself a link that, if followed, runs the given query. One is therefore privy to a continuous stream of hypertext links, following any one of which may lead to a page of links generated on the fly.

Here, a link to Metaspy (domain of one) produces a stream of queries (codomain unbounded). Each of the resulting queries can be run in turn, of course. It is not clear what would be an appropriate link relationship in this case.

Manifest Links

There are [...] compositions which bring the reader to a halt and emphasize the connection between elements within a page, a process which begins when the reader realizes that the composition includes too many finite parts to be adequately comprehended at one glance and begins to follow a trail of foci to the understanding of the visual syntax.

Frances Butler, Dance & lay in Visual Design: Visual Manifestations of Physical Experience (in [heller1994], p. 174)

When a piece of text is presented, whether as a web page or on paper, it is read in context. Two pieces of text juxtaposed side by side are compared and contrasted one with another; they are not read in isolation. In effect, they are linked together.

Mnemonic systems such as those of the ancient Greeks used juxtaposition and association to link items to be remembered; Storkerson and Wong have suggested that such aides memoires as the Art of Memory correspond to hypertext links in a very direct manner [StorkersonWong1997].

If online marked-up text is a primary source and printed or on-screen matter is output, links as a result of page layout ore generally considered presentational, and are often dismissed as unimportant. If the paper text is primary and the mrked-up text a transcription, the page layout becomes of importance.

There is no syntax in XML, no formalism, no pattern for constraining or describing such relationships other than the established language of graphic design.

The foundation for graphic design is formal structure. Functional structuralists have enumerated and described the conventions and codes for arranging the "graphic elements" ‐ typography, line art, and continuous-tone art ‐ on the page in order to move the reader's eye through a layout. The fact that these graphic elements are meaningful aspects of communication usually is not emphasized by functional structuralists; form, rather than content, is the central focus of analysis and discussion.

Robert Craig, Ideological Aspects of Publication Design, in [bib.craig].

Footnotes, End notes, Glosses and Marginalia

A footnote is an expository annotation which in printed material is generally placed at the bottom, or foot, of the page. When such notes are placed in the margin, usually horizontally aligned with the item they annotate, they are known as marginalia.

There is a strong convention that there be a visible marker in the text, such as an asterisk or dagger or obelisk, indicating the presence of the footnote; this is duplicated before the start of the text of the footnote itself, so that the reader may easily connect the one with the other.

In complex printed work, there may also be sets of references or other notes collected at the end of each chapter, or at the end of the book, which are termed end notes. The convention is that these are numbered sequentially with raised Arabic numerals, so that the reader can distinguish a footnote (with an asterisk or dagger) from a numbered end note. References to a bibliography are marked with a short and usually mnemonic tag, such as [Quin1986b] or (Quin, 1996b), the letter b indicating that the reference is to the second publication by Quin listed in the bibliography for 1996.

Computer typesetting systems such as TeX, Scribe and troff [Osanna1976] have for many years supplied tools to assist authors in managing bibliographies (see, for example, [Lesk1976]).

Online systems (such as World Wide Web sites) have difficulty with notes. It may seem desirable to make them pop up in transient windows, or to have them hover in the manner of Microsoft's tool tips online fly-by help, but that makes it difficult for the reader to print or search or save the notes.

Table of Contents

A table of contents in a printed book or journal can be thought of as a small document containing a set of annotated links into the body of the publication.

The links are usually sorted numerically, by page order: there is thus an implicit link from each item to the next.

A table of contents is often generated automatically from the body of the main document itself, using feedback from the text formatting process to fill in the page numbers as necessary.

For an online publication, a table of contents might be generated from an RDF description of a web site, for example, or it might be a static document.

The principal characteristic of a table of contents is that it provides a summary of content in the order in which that content is presented.

Index

An index is an ordered list of keywords or concepts, sorted alphabetically with rules such as ignoring definite articles (the); each entry is a set of links into the main text to the points at which those keywords or concepts are discussed, defined, illustrated or mentioned. Many indexes*

*

the plural of index is indexes; indices are mathematical objects and are unrelated to book design. See, for example, the Oxford English Dictionary, sv. index.

distinguish these link types with, for example, boldface page numbers for definitions and italic numbers for links to illustrations or figures or examples. If a concept is discussed on several pages, a single index entry is made, as in "ankle diameter: 190-211".

Supporting an index in an online system generally requires that the text be marked up with explicit index entry targets, either inline in the text or externally. Utilities exist to assist in the creation of an index, but do not produce results as good as a professional (human) indexer [bonura].

An index entry may be hierarchical: ankle, anatomy of 301, 302; as art 180; diameter 190-211.

A hierarchical index entry may be viewed as a simple compound link (domain having cardinality greater than one) or as a nested structure containing multiple individual links. Subitems are usually sorted alphabetically (ignoring articles and folding case according to whatever natural language conventions that apply)

Sidebars

A sidebar is a short essay, often an amplification of a text or a related topic; it appears alongside an article to which is is subordinated. Sidebars are frequently used in magazines.

Although there may be no specific reference in the article to the sidebar, there is clearly a linking relationship between the subject matter of the article and the sidebar. This relationship is harder to quantify than an explicit link, but it is certainly there.

The relationship may best be represented as a bidirectional associative link between the entire article and the sidebar

Folios (Page Numbers)

Early books number signatures (groups of pages that were printed on a single sheet and then folded), primarily so that the book would be assembled in the right order. Later, books numbered each leaf, and later still the two sides of each leaf were given their own number, as today. Arabic numerals were commonly used for page numbers in printed books by the end of the sixteenth century, as well as for verse numbers in printed Bibles [Williams1997], showing that the printers had the expectation that people would refer back, using cross-references, concordances and other page references.

A page number is associated, by virtue of its position on the printed page, with the entire text of that page, and, through this intermediary, the text of the page may be used as a destination for a link..

It is unusual to create a link in an electronic online publication that is to an approximate span of text, such as a page reference in a printed book. The page number is not the target of a link to page 37 (say), but merely participates in the link. It is the visible label of the target of the link.

Captions and Images

An image, a picture, a table or graph, usually has an accompanying caption, and may also have associated copyright information. Very often there is no direct link from the surrounding text to the figure: the only link is by the physical juxtaposition of the text and the image. For example, an encyclopaedia article often has associated illustrations, but because the publisher may have very limited rights to using those illustrations, the text does not mention them specifically. That way, if the publisher should lose rights to use an image in the next edition, or should obtain an alternative, perhaps more suitable image, the text of the entry does not have to be changed,

Clearly the image, the copyright information and the caption, and, if present, the figure title, are all linked together as a compound object in some sense.

There may not be a clear link between the figure and the text, but someone online viewing the text would expect also to see the figures. The reference in that case may be from the entire article to the pictures, or between figure and the paragraphs of text closest to it in the printed publication.

This situation may still occur in a publication created electronically, and for the same reasons, whether of style or of logistics and finance.

Juxtaposition

If a newspaper were to publish an article about empty housing in a city, and were to place on the same page an article about the number of homeless people in that city, the reader would be very likely to infer an editorial statement. The two articles would be linked by their placement as surely as if the article on empty housing had ended with a note, See also our article on homelessness!

Sometimes it is the intent of the author or graphic designer to suggest multiple possible interpretations of text through juxtaposition and deconstruction.

Here [in Jacque Derrida's Tympan, in Margins of Philosopy] a simple and unspectacular typographical device - the division of the page into two columns - unfolds two textual worlds in parallel, extending and making tangible the strategies of the texts. By this simple typographic device, Derrida extends the reading process beyond a mere (unilinear) decoding of the message, towards a multilinear weaving of paths (an interpretation of `différance') across the two texts. `If there are margins - notes Derrida - is there still a philosophy, the philosophy? A third text block, at the bottom of the page, provides space for author and translator's notes. At this point one may usefully ponder over the recent categorization of print as linear, and multimedia as non-linear, media.

(Gérard Mermoz [Mermoz1998], "Deconstruction and the typography of books"

This sort of linking by association is hard to capture in a general and abstract manner. None the less, it should certainly not be overlooked.

Current World Wide Web browsers do not handle parallel columns of text well: one must either use large and unwieldy tables, or give up altogether the idea of simultaneous parallel scrolling and use Frames. Until this is remedied, parallel text, whether for Deconstructionist purposes or whether as part of a critical text, or a multilingual text with translations, will always be somewhat ill at ease on the Web. It is not currently even possible to add a button to synchronise the scrolling of one frame to the current position of another. None the less, when such facilities do become available, text in which parallel but implicit linking has been captured will be easy to update for the new display technology.

Similarity and Correspondence

Items positioned in the same place on successive pages, or that are given similar treatments as each other, may perceived as being related. Robin Williams gives a number of examples in her Non-Designer's Design Book [Williams1994]. Such links may be artifacts of graphic design and presentation, or they may be intrinsic to the text and merely made manifest by the presentation. In the latter case, it may be highly desirable that the links be explicit.

These links are very similar to those described in the section Juxtaoposition above in abstract terms.

Implicit Links in Text Itself

There are several forms of link that are found in natural language text and that are not generally marked up explicitly (although they certainly can be, and sometimes are so marked). These links are sometimes discovered algorithmically and marked up as part of document conversion, for example in CD-ROM or online reference publishing.

See Also

As noted in the section on Anaphoristic References; see above; in the next section: all of these are examples of links within a resource. Cross references are often marked up explicitly in XML documents. One advantage of marking up cross references is that typesetting software can generate phrases such as opposite or on the next page automatically. A disadvantage for some authors is the additional cognitive overhead of the additional indirection imposed: it is sometimes just plain simpler to type, See Section Five! If a section is inserted, the cross references suddenly are all incorrect.

A cross reference may be a one-to-one or a one-to-many (see chapters...) link; the relationship is generally Compare or Explains.

Anaphoristic References

A pronoun, or a noun phrase such as the system in a document describing the Tunbridge Wells Blancmange Distribution Pipeline, is a link to the subject of the discussion. This is rather like a cross reference.

Anaphoristic references cause difficulties for text retrieval systems: the document about the Tunbridge Wells Blancmange Distribution Pipeline might use that phrase only once, and The System elsewhere. It would therefore rank lower on a results scale than a newspaper article that mentioned that phrase twice.

Anaphoristic references are one-to-one links with a relationship of Is the same as.

Associative Naming

In the context of Information Retrieval or NLP, one might consider two paragraphs of text to be related if they use similar words and phrases, or if they use phrases that are often found together. See, for example, [Knaus1996] and other papers in [TREC4].

The distinction between an explicit link, a text retrieval query and an automatically inserted cross-reference is imprecise.

Non-textual Links

All of the links discussed so far have been textual. Other kinds of resource may be involved.

Images

An image is really the same as transcluded text, except that it has an associated file format or NOTATION.

A link to embed an image typically is one-to-one, although a document may include many images using multiple links.

Glorious Stereo

Links to sound may have the property that the sound plays automatically whilst the user examines some other resource such as an animation, a text file or an image.

Links To Within Objects

A link may be to an entire resource or to some fragment of it, such as a single paragraph, the first twelve bars of a symphony, or the third over of a cricket match in a video recording.

The fragment may be considered a resource in its own right, and the linking function is then unaffected. One should note, however, that many users will expect to be able to hear the entire symphony, to read beyond the linked paragraph, or to drink a cup of tea while the cricket match continues.

Rendering Links

Many of the links discussed here, especially the manifest links, are fairly straight forward to render visible on a screen or page. Some are less clear, and sometimes there are unexpected ways to visualise even the simplest of links.

Even though computer markup of digital texts is a relativly new phenomonon, many of the issues raised here have been addressed by scribes and prnters for hundreds or even thousands of years. See, for example, Margaret Smith's article [Smith1996]on the typography and layout of critical editions of texts, and how it was affected by the introduction of single-colour printing in the late 15th Century.

Link Transitions

Some hypertext systems (most notably HyperCard, but also some World Wide Web browsers) allow a document author to specify a visual and/or audio effect to occur when a link is followed, and another when the result is displayed. Typical effects include fading to grey, panning from one resoure to the next, scrolling upwards, animating a curtain closing accompanied by the sound of five unicorns braying, and so forth.

Neither XLink nor the draft XSL support this sort of feature, but one can certainly expect it soon.

Links to Invisible Objects

If the result of a link is a sound or smell, some indication may be needed that the link has been traversed successfully, perhaps alerting the user to pick up the headphones. It should also be noted that an invisible object has "nothing to click on", so that some browser functions may not be available unless they are duplicated in menus, toolbars or speech recognition commands.

Conclusion

We have seen examples of a number of different kinds of link:

We have also seen that XML and (as of the draft in August 1998) XLink don't attempt to handle all of these. Links between style sheet behaviour, link transitions and meaning are in particular not addressed. In some other cases, such as the DOCTYPE declaration, XML conflates several different meanings and significance onto a single construct.

It is to be hoped that these deficiencies can be addressed in the future.

A terminology based on a functional decomposition of linking has been presented, in the hope that it clarifies some of the underlying concepts. Perhaps this could be extended to a formal grammar or algebra of linking specific to XML.

Finally, it is hoped that this document may serve as an introductory survey of the main linking forms suitable for use by an implementor or designer.

Acknowledgements

Bibliography

[Aho, Sethi & Ullman 1986]
Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman, Compilers: Principles, Techniques and Tools, Addison-Wesley 1986.
[Berners-Lee 1990]
http://www.w3.org/DesignIssues/LinkTypes.html
[Bierut, Drenttel, Heller & Holland 1994]
Michael Bierut, William Drenttel, Steven Heller & DK Holland (Eds), Looking Closer: Critical Writings on Graphic Design, Allworth Press, New York, 1994.
[Bonura 1994]
Larry S. Bonura, The Art of Indexing, Wiley, 1994, p. 100
[Burnard & Sperberg-McQueen 1994]
C. M. Sperberg-McQueen and Lou Burnard (Eds.), Guidelines for Electronic Text Encoding and Interchange, The Association for Computers and the Humanities (ACH), Association for Computational Linguistics (ACL) and Association for Literary and Linguistic Computing (ALLC), Chicago and Oxford Text Encoding Initiative, 1994.
[Craig 1990]
Robert Craig, Ideological Aspects of Publication Design, in "Design Issues", Vol VI No. 2, Spring 1990
[DeRose 1997]
Steven J. DeRose, The SGML FAQ Book, Kluwer Academic Press, 1997
[Knaus, Mittendorf, Schäuble & Sheridan 1996]
Daniel Knaus, Elke Mittendorf, Peter Schäuble and Páraic Sheridan, Highlighting Relevant Passages for Users of the Interactive SPIDER Retrieval System, Swiss Federal Institute of Technology, Zürich, in TREC-4 (q.v.).
[Landow 1997]
George P. Landow, Hypertext 2.0: The Convergence of Contemporary Critical Theory and Technology, John Hopkins University Press, 1997.
[Lesk 1976]
Mike E. Lesk, Some Applications of Inverted Index on the UNIX System, in "The Unix Programmer's Manual", Bell Laboratories, Murray Hill, NJ, USA, 1976.
[McCool 1995]
Rob McCool, The Common Gateway Interface Specification, NCSA, 1995 (http://hoohoo.ncsa.uiuc.edu/cgi/interface.html).
[Maler & DeRose 1998]
Eve Maler and Steve DeRose, XML Linking Language (XLink), Draft as of 3rd March 1998, with the latest version at http://www.w3.org/TR/WD-xlink and a background document at http://www.w3.org/TR/NOTE-xlink-prinnciples containing additional background information.
[Maler & DeRose 1998b]
Eve Maler and Steve DeRose, XML Pointer Language (XPointer), Draft as of 3rd March 1998, with the latest version at http://www.w3.org/TR/WD-xptr
[Maloney & Quin 1996]
Murray Maloney and Liam Quin, Hypertext links in HTML, IETF Draft (expired 7th June 1996) draft-ietf-html-relrev-00.txt, June 1996.
[Mermoz 1998]
Gérard Mermoz , "Deconstruction and the Typography of Books", in Baseline International Typographics Magazine, Issue 25, 1998, Bradbourne Publishing Ltd., London.
[Metaspy]
http://www.metaspy.com/
[Selberg & Etzioni 1995]
Erik Selberg and Oren Etzioni, Multi-Engine Search and Comparison Using the MetaCrawler, in "W3J: World Wide Web Journal" special issue, Fourth International World Wide Web Conference Proceedings, O'Reilly and Associates, November 1995, pp .195 ff.
[Osanna 1976]
Joseph F. Osanna, The NROFF/TROFF User's Manual, in "The Unix Programmer's Manual", Bell Laboratories, Murray Hill, NJ, USA, 1976.
[Quin 1996]
Liam Quin, Suggestive Markup: Explicit Relationships in Descriptive and Prescriptive DTDs in Proc. SGML 1996, Graphic Communication Association (GCA), 1996; republished at http://www.groveware.com/~lee/ in HTML.
[RDF 1998]
Word Wide Web Consortium, Resource Description Framework (RDF), 1998; see http://www.w3.org/RDF/
[Renear, Mylonas & Durand 1995]
Allan Renear, Elli Mylonas and David Durand, Refining our Notion of What Text Really Is: The Problem of Overlapping Hierarchies, Research in Humanities Computing, Oxford University Press, edited by Nancy Ide and Susan Hockey, 1995 (reviewed in draft form).
[Smigh 1996]
Margaret M. Smith, The typography of complex texts: how an early printer eliminated the scribe's red, in Paul Stiff (Ed.), "Typography Papers 1", The Dept. of Typography & Graphic Communication, The University of Reading, England
[SoftQuad 1995]
SoftQuad Inc., SoftQuad Panorama Pro (various versions for Microsoft Windows, Unix and Macintosh), 1995-1998
[Steward & Tall 1977]
Ian Stewart and David Tall, The Foundations of Mathematics, Oxford University Press 1977.
[Storkerson & Wong, 1997]
Peter Storkerson and Janine Wong, Hypertext & the Art of Memory, in Visible Language 31 No. 2, 1997.
[Synex 1995]
Synex Information AB, ViewPort Reference Manual, 1995-1998, see http://www.synex.se/
[TREC-4]
Donna K. Harman, Ed., The Fourth Text REtrieval Conference (TREC-4), NIST Special Publication 500-236, U.S. Dept. of Commerce, Technology Administration, National Institute of Standards and Technology Gaithersberg MD, USA, 1996
[Weibel & Lagoze 1997]
Stuart L. Weibel and Carl Lagoze, The State of the Dublin Core: January 1997, Department of Computer Science, Cornell University, 5th Feb 1995; see also http://www.purl.org/metadata/
[Williams 1994]
Robin Williams, The Non-Designer's Design Book, Peachpit Press, 1994
[Williams 1997]
Jack Williams, Numerals and Numbering in Early Printed English Bibles and Associated Literature, in "Journal of the Printing Historical Society", 26, 1997, pp. 5-13.
{1}

Recall that a function f: S1 --> S2 is an injection, or a one-to-one function, if and only if ∀ x, y ∈ S1, f(x) = f(y) ⇒ x = y. For this and other mathematical terms, see any introductory undergraduate mathematical text such as The Foundations of Mathematics [StewartTall1977]