XLink
XML Linking Language, or XLink, is an XML markup language and W3C specification that provides methods for creating internal and external links within XML documents, and associating metadata with those links.[1]
The XLink specification
XLink 1.1 is a W3C recommendation[2] and the successor of XLink 1.0, which was also a W3C recommendation.[3] [4]
Linking with XLink
XLink defines a set of attributes that may be added to elements of other XML namespaces. XLink provides two kinds of hyperlinking for use in XML documents. Simple links connect only two resources, similar to HTML links. Extended links can link an arbitrary number of resources.
Simple links
A simple link creates a unidirectional hyperlink from one element to another via a URI. Example:
<?xml version="1.0"?>
<document xmlns="http://example.org/xmlns/2002/document" xmlns:xlink="http://www.w3.org/1999/xlink">
<heading id="someHeading">Some Document</heading>
<para>Here is <anchor xlink:type="simple" xlink:href="#someHeading">a link</anchor> to the header.</para>
<para>It is an anchor that points to the element with the id "someHeading" on the current page.</para>
</document>
Extended links
Extended links allow multiple resources, either remote or local, to be connected by multiple arcs. An arc is information about the origin, destination and behavior of a link between two resources. The origin and destination resources are defined by labels. By using one or more arcs, an extended link can achieve specific sets of connections between multiple resources.
For example, if all resources in an extended link were given the label A, then an arc within that link declaring from="A", to="A"
would form connections between all resources.
Extended links do not need to be contained in the same document as the elements they link to. This makes it possible to associate metadata or other supplementary information with resources without editing those resources.
XLink also supports richer information about link types and the roles of each resource in an arc.
Support for XLink
Within other specifications
SVG
Hypertext links in Scalable Vector Graphics can currently be defined as simple XLinks.[5] The working draft of SVG 1.2 proposes using extended XLinks as well.[6] In the SVG 2 specification, XLink was deprecated in favor of non-namespaced equivalent attributes.[7]
RDDL
The Resource Directory Description Language, an extension to XHTML Basic that is used to describe XML Namespaces, uses simple XLinks.[8]
XBRL
The eXtensible Business Reporting Language has used simple and extended XLinks since the XBRL 2.0 specification was published in 2001.[9] Most large XBRL taxonomies contain extensive linkbases. As of 2009, XBRL is probably the most extensive use of XLink in production systems.
METS
The Metadata Encoding and Transmission Standard, supported and maintained by the Library of Congress for describing file aggregations, uses simple XLinks in pointing to file locations as well as linkbases which describe relationships among external files (though these restrict to
and from
attributes to type IDREF instead of NMTOKEN).[10][11]
GML
Geography Markup Language uses simple XLinks to implement referencing. In particular, GML uses xlink:href to support a graph model for geospatial information. GML's graph model is essentially the same as RDF, on which early versions of GML were based. The GML specification constrains the semantics of XLinks to be essentially the same as rdf:resource (from the RDF/XML syntax) i.e. the referent can logically be placed in-line and the data is still valid.
Implementations
Mozilla Firefox
Mozilla Firefox has supported simple XLinks since version 1.5, but only for SVG and MathML documents. It is unsupported in other XML documents.[12] Only the xlink:href
, xlink:show
, xlink:target
and xlink:title
attributes are supported.[13]
Prince
Prince supports simple XLinks.[14]
References
- ^ DeRose, Steven J. (1999-02-24), XML XLink Requirements, W3C
- ^ XML Linking Language (XLink) Version 1.1, W3C, May 6, 2010
- ^ XML Linking Language (XLink) Version 1.0, W3C, June 8, 2006
- ^ "XML and Semantic Web W3C Standards Timeline" (PDF).
- ^ Scalable Vector Graphics (SVG) 1.1 Specification: Linking, W3C, June 8, 2006
- ^ Extended Links (SVG 1.2), W3C, June 8, 2006
- ^ "Linking — SVG 2". www.w3.org. Retrieved 2016-09-18.
- ^ Borden, Jonathan; Bray, Tim (2002-02-18), Resource Directory Description Language (RDDL), The Open Healthcare Group, Antarcti.ca Systems
- ^ Extensible Business Reporting Language (XBRL) 2.1 - XLink in XBRL, XBRL International Inc.
- ^ METS: An Overview & Tutorial, Library of Congress
- ^ Metadata Encoding and Transmission Standard: Primer and Reference Manual (PDF), Library of Congress, September 2007, p. 133
- ^ XLink - MDC, Mozilla, archived from the original on 2012-04-06, retrieved 2010-02-19
- ^ SVG in Firefox, Mozilla, archived from the original on 2008-08-29, retrieved 2010-02-19
- ^ Prince: XML Input, YesLogic