1 Introduction

This specification defines the XML Linking Language (XLink), which allows elements to be inserted into XML documents in order to create and describe links between resources.

XLink provides a framework for creating both basic unidirectional links and more complex linking structures. It allows XML documents to:

An important application of XLink is in hypermedia systems that have hyperlinks. A simple case of a hyperlink is an HTML A element, which has these characteristics:

This set of characteristics is powerful, but the model that underlies them limits the range of possible hyperlink functionality. The model defined in this specification shares with HTML the use of IRI technology, but goes beyond HTML in offering features, previously available only in dedicated hypermedia systems, that make hyperlinking more scalable and flexible. Along with providing linking data structures, XLink provides a minimal link behavior model; higher-level applications layered on XLink will often specify alternate or more sophisticated rendering and processing treatments.

Integrated treatment of specialized links used in other technical domains, such as foreign keys in relational databases and reference values in programming languages, is outside the scope of this specification.

For languages, such as [CSS], that wish to identify hypertext links in a document, we suggest that any local element from which XLink specifies that traversal is possible, and which the application treats as if it specified actuate="onRequest", be treated as a hyperlink source anchor.

1.1 Origin and Goals

The design of XLink has been informed by knowledge of established hypermedia systems and standards. The following standards have been especially influential:

Many other linking systems have also informed the design of XLink, especially [Dexter], [FRESS], [OHS], [MicroCosm], and [Intermedia].

See the XLink Requirements Document [XLREQ] for a thorough explanation of requirements for the design of XLink.