Summary

  • W3C published XLink 1.0 as a Recommendation on 27 June 2001. Its simple link resembled a familiar outbound HTML link; its extended link could connect multiple local or remotely identified resources through explicit traversal arcs.
  • An extended link could sit outside the resources it connected. Collections of inbound and third-party links were linkbases. That let authors associate material with a resource they could not edit, while placing the work of discovering the linkbase on the application.

A hyperlink usually announces itself from inside the page. The text is blue, a hand-shaped cursor appears, and the destination waits on the other end. That arrangement gives the page author a tidy little monopoly on the route. Picture a catalog entry, a transcript and a diagram held by three different custodians. A fourth editor wants to connect a passage in the transcript to the diagram and the catalog entry, with a route back for the reader. Asking all three custodians to reopen their files is a poor filing system. The editor needs a place to keep links beside the documents rather than inside them.

That was one of the doors opened by W3C's XML Linking Language, XLink 1.0, a Recommendation dated 27 June 2001. XLink used attributes on XML elements to describe links. A simple link covered the familiar case: one local starting resource and a remotely identified destination, much like an HTML anchor. An extended link could involve several resources. Its locators identified remote participants, local resource elements supplied participants by value, and arcs told an XLink application which traversals were available. The link had become a small switchboard.

The switchboard could express direction as well as membership. An outbound arc began at a local resource and reached a remote one. An inbound arc ended at a local resource after beginning remotely. A third-party arc joined two remote resources. In XLink's terminology, “remote” meant identified by a URI reference, even if the named part happened to live in the same XML document. The classification followed how the resource was specified, not how far its bytes sat from the linking element.

This mattered for an awkward editorial situation: the owner of a resource might never insert your link into it. An external extended link could still describe a relation involving that resource. The W3C announcement on the same day highlighted links between multiple resources and collections of links kept separate from what they connect. It also described the possibility of associating supplementary information with a resource without editing that resource. In the catalog example, the fourth editor could publish the connection map as a separate XML document. The catalog keeper could continue publishing the catalog. Neither file had to impersonate the other.

Then the bill arrived. An ordinary outbound link is easy to encounter because its starting point contains the linking element. Inbound and third-party links can live elsewhere. XLink called documents that collect such links linkbases and stated that finding those links requires more discovery work. Open the catalog entry alone and the fourth editor's map is invisible. An application must find both the starting resource and the relevant linking structure. Moving the link out of the file had freed the editor; it had also moved the burden of introduction from the page to the software.

XLink supplied a specific way to point to that structure. An arc with the special arcrole value http://www.w3.org/1999/xlink/properties/linkbase directed an application to load an XML linkbase and extract its extended links for later use. Loading that file was a different act from presenting a destination page to a person. The specification made the linkbase arc's show presentation value irrelevant and let actuate govern when loading happened. A linkbase could itself point to another linkbase. One filing cabinet could send the clerk to the next.

The arrangement was powerful precisely because it separated two kinds of control. One author controlled the resource; another could author a web of connections around it. The user agent controlled whether it discovered and processed that external web. W3C specified how the links were described and how a linkbase could be located; the visible experience still depended on the application doing the work. XLink did not hide that cost. It gave the extra links a doorbell and made software responsible for ringing it.