Stylus Studio XML Editor

Table of contents

Appendices

1 Introduction

Introduction

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

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

  • Assert linking relationships among more than two resources

  • Associate metadata with a link

  • Express links that reside in a location separate from the linked resources

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

  • The hyperlink uses URIs as its locator technology.

  • The hyperlink is expressed at one of its two ends.

  • The hyperlink identifies the other end (although a server may have great freedom in finding or dynamically creating that destination).

  • Users can initiate traversal only from the end where the hyperlink is expressed to the other end.

  • The hyperlink's effect on windows, frames, go-back lists, style sheets in use, and so on is determined by user agents, not by the hyperlink itself. For example, traversal of A links normally replaces the current view, perhaps with a user option to open a new window.

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 URI 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.