Application-independent link processing

L.Carr, H.C. Davis, D. De Roure and W. Hall

Multimedia Research Group,
University of Southampton, SO17 1BJ, U.K.

The use of a hypertext link service to augment the WWW has been demonstrated in an experimental environment. Now that the WWW community is addressing the issues of hypertext linking in the form of XLL, it is necessary to look hard at the issues of link semantics. Of particular interest is how semantics can be communicated to a general browser, given the contrasting  approaches of link interpretation from the SGML and hypertext research communities.

XLL; Links; Hypertext; Open hypermedia; Link services; Authoring

1. Link services

Links come in many forms: they can embody the concrete connection between two adjacent pages, sections or footnotes in a document or they can represent the organizational connection between a paragraph in a document and an annotation by a reviewer. Links are informational entities in their own right, and can be stored, processed and used independently of the documents to which they refer. The open nature of the framework upon which the WWW is based means that it is possible to extend the hypertext model of the WWW to provide the facilities of a distributed hypertext link service such as the Distributed Link Service (DLS) [3]. Links are compiled into documents as they are delivered to the user's browser by a specially adapted WWW proxy server. By varying the compilation parameters from a "remote control" user interface, different Webs of links are produced over the same material in different styles for different audiences.

2. Link semantics

Links can express a very abstract relationship between many pieces of information, not simply instructions to "click here and jump there". The forthcoming XLL proposal [2] provides facilities for expressing information-rich inter-linked document structures and so enables the information system developer to focus on expressing the structure of information. This contrasts with effort of forcing the information to conform to an existing architecture such as HTML.  XLL-style links are much more flexible than HTML links: whereas links in HTML documents can only be expressed through the Anchor and Link elements, XLL allows any part of the XML document structure to be part of the linking structure. Furthermore XLL allows links to point to many items of data, each of which performs a different role and may be treated differently by the browser. Also, XLL links are no longer bound to occur with the data or indeed in the same documents as the data that they refer to. Instead they can be produced and stored separately, and (potentially) managed independently.

XML is  aimed at allowing the author to express the structure and high-level meaning of a document or group of documents. By itself it does not attempt to answer the question "what should this document look like" or "how should this document behave". This is the domain of the style language, XSL [1], which must map the abstract document structure onto an actual presentation. XLL similarly is aimed at allowing the author to express the inter-relationships between the elements of a document or a group of documents. The process of rendering a link as an artifact in the user's presentation is a problem which has to be addressed by some part of the overall system, but apart from very general descriptions of when and where the link ends are to be activated it is not tackled by the XLL definition.

The DLS addresses various aspects of the issue of presentation under the following headings: link inclusion (whether or not an applicable link should be presented at all), link prioritisation (whether it should take precedence over other links), link rendering (how it should be displayed) and link behaviour (what should happen when the link is triggered). The purpose of the controller is to give to the user the ability to choose how links are displayed (by appropriate use of HTML markup) and used (by appropriate use of JavaScript) within the processed documents. The default link behaviour of a WWW browser is to change the document view when a user activates the link, but more complex behaviours are often useful. Presenting a summary of the ultimate destination as an intermediate stage may be useful if the sizes of the document, the anticipated access time or the cost are large. Checking the chosen destination against a history list or a recommended navigation guide may be helpful for naive users. All these activities can be provided for by specifying a script to be invoked to override the default behaviour in the browser.

3. Role of the application?

The SGML standard, from which XML and XLL are derived, defines the existence of an application. The application uses the markup engine, the style and semantic engine and the linking engine together to present the document to the user, or to create a representation of the document for a printer or for whatever purpose. It is the application that drives the processing, understanding the use to which the information is to be put and using the information from the other components whose operation is defined by international standards. The behaviour of the application, on the other hand, is not prescribed by a standard, but determined by the programmer or system integrator. For any information environment, the question can be posed: where is the application? Alternatively, what part of the overall system understands the overall information architecture?

An open hypermedia environment provides hypermedia facilities not to a single hypertext viewer, but as a set of services that can be used by any third party viewer, so that all the desktop applications become hypertext-enabled. Consequently, the semantics of the data contained in the documents is ignored. The viewer presents the information, but the OHS is concerned only with links: the positioning of their anchors (attached to real positions in the data) is interpreted by the viewers. The semantics of the links, on the other hand, are not understood by the viewers but are held privately by the OHS. Data handling and link handling are two (largely) independent activities, and the author of an information application must work with both of these systems to produce an integrated result.

The World Wide Web consists of a collection of data servers and client browsers. The majority data format on the WWW is HTML, whose semantics are published by the W3C and incorporated into every WWW browser. The link semantics are defined as a part of the data semantics, and understood and implemented (fairly) uniformly by each browser. There is no controlling information application in the WWW: there are only viewers and data servers. There is no application to understand that a table-of-contents link could be used to generate a high-level summary of the data as it is delivered in a set of entities. Instead this feature could be emulated by a CGI script (i.e., a dedicated process located on a WWW server) or by a viewer's assistant (i.e., a dedicated process located on the local machine).

The brave new WWW is composed of XML documents. It is the SGML world's standardised document representations and standardised specifications of non-standardised document semantics together with the WWW world's distributed client-server framework. The complication is that the standardised document semantics do not include behaviour semantics for links. This part is still very much application dependent, but in the WWW there is no defining application!

One solution is to create applications: specific programs that manipulate specific information architectures (DTDs) in specific ways with specific behaviours. But it is more likely that general browsing applications are the order of the day, and so sophisticated ways of processing links must be made available to mirror the sophisticated methods of processing document contents using XSL. The application is likely to become scattered among various components: the general document browser, the DTD, the style sheets and the scripts. The information architecture that the author uses is likely to be partly defined by an external agency (standards group, user community, publishing company) and partly defined by personal modifications. The specifications of the semantics of the document data therefore are likely to be amalgamated from many sources spread across the WWW perhaps even more widely than the data inside the documents themselves.


[1] Adler, S., Berglund, A., Clark, J., Cseri, I., Grosso, P., Marsh, J., Nicol, G., Paoli, J., Schach, D., Thompson H.S., and Wilson C., A proposal for Extensible Style Language (XSL), Note, World Wide Web Consortium, MIT, 545 Technology Square, Cambridge, MA, 1997,

[2] Bray, T. and De Rose, S., Extensible Markup Language (XML): Part 2. Linking, W3C Working Draft July-31-97, 1997,

[3] Carr, L., De Roure, D., Hall W., and Hill G., The distributed link service: a tool for publishers, authors and readers, The Web Journal, 1(1): 647–656, 1995, O'Reilly and Associates.