[This local archive copy mirrored from the canonical site: http://www.stg.brown.edu/~sjd/xlinkintro.html; links may not have complete integrity, so use the canonical document at this URL if possible.]

What is XLink?

XLink, formerly known as XLL (the eXtensible Linking Language), is a work in progress of the Web Consortium. It is closely related to the XML Recommendation, but adds functionality for high-function hypertext and hypermedia. It has two parts: XLink proper provide advanced linking capabilities such as multidirectional and external linking, while the separate XPointer spec provides a convenient and easily-understood way of describing locations in XML documents.

XLink is co-edited by Eve Maler and Steve DeRose.

Relevant documents can be found on the Web Consortium site soon:

XLink adds these kinds of advanced hypertext linking functionality to the Web (and other environments where it may be used):

XPointer provides better location specifications:

XPointers are based on TEI extended pointers, a proven and multiply- implemented technology for the same purpose, developed by the Text Encoding Initiative.

An XPointer is a sequence of "location terms" that, when interpreted left to right, specify a location in terms of the tree structure that XML markup expresses (See DOM). For example,

   ID(foo).CHILD(4,SEC).CHILD(1,ABSTRACT)
would address the first XML ABSTRACT element within the fourth SEC element within the element with ID attribute "foo" in some document. The document itself would be specified in the usual Web way, by a URL or other form of URI. You just put the XPointer on the end, separated by "#" or "?" (which you choose depends on the behavior you want, as specified in XLink).

So for example, an HTML browser that also supported XPointers would be happy with something like:

   <A HREF="http://www.xyz.com#ID(foo)CHILD(4,SEC)CHILD(1,ABSTRACT)">

There is lots more you can do with XPointers. See the full spec (which, remember, is still a Working Draft!) for more details.


Back to home page of Steve DeRose or STG.
Or, contact me via email.