Goal and History

Provide more advanced (hyper)linking functionnalities to XML based applications:


The Working Group

The Bazaar !

Current State

Technical overview

XPath, XPointer and xLink stcked up

XPath quick description

XPath describes the syntax and associated processing to select groups of nodes and attributes within an XML document tree.

25 pages.


XPointer build on top of XPath and add the following:

basically what is needed to be able to express a selection

XPointer disable variables supports in XPath

XPointer Examples


The current XLink draft is smaller (15 pages), linking properties can be defined using linking elements or adding linking specific attributes to existing elements.

Linking cababilities covers a wide spectrum:

Semantic of liking is refined with attributes:

XLink Simple Links Examples

A simple link on an user-defined element

<A xlink:type="simple" xlink:href="http://www.w3.org/TR/wd-xlink/"
 xlink:title="The Xlink Working Draft">The XLink Working Draft.</A>

A simple link using the predefined element

<xlink:simple href="http://www.w3.org/TR/wd-xlink/"
title="The XLink Working Draft">The XLink Working Draft</xlink:simple>

The same with all attributes

<xlink:simple href="http://www.w3.org/TR/wd-xlink" role="working draft" 
         title="The XLink Working Draft" show="replace" actuate="user">
	  The XLink Working Draft.</xlink:simple>

XLink Extended Links Examples

An extended link using the predefined element

<xlink:extended role="address book" title="DV's Address Book"
     showdefault="replace" actuatedefault="user"> 
  <xlink:arc from="http://www.redhat.com/#xptr(/search[1])"
       to="http://rpmfind.net/linux/RPM">My search engine</xlink:arc>

An extended link on an user-defined element

<foo xlink:type="extended" role="address book" title="DV's Address Book"
     showdefault="replace" actuatedefault="user"> 
  <xlink:arc from="http://www.redhat.com/#/search[1]"
       to="http://rpmfind.net/linux/RPM">My search engine</xlink:arc>

XArc proposal

The XArc proposal was done by Gabe Beged-Dov before he joined the WG, his rationales are to simplify the syntax, and move toward an RDF like modelling of links. The debate in the IG list generate quite some heat.

The working group accepted to add Arcs support in the draft, but the minimalists now want to get rid of the "old stuff" ...

A cleaner spec sounds nice, the problem is that the ancient still have control and this doesn't really help the WD publication schedule.

XArc examples

<LoopArc  xarc:from="#this()" xarc:to="#this()" > I'm a self-absorbed arc
<EmbeddedToArc  xarc:from="id(SomePlace)"  xarc:to="#this()" > We're already
<EmbeddedFromArc  xarc:from="#this()" xarc:to="id(SomePlaceElse)" > Follow me
    to the destination 

Other controversial stuff

There is still IMHO a bunch of serious issues:

I'm still hoping we will get to REC for Fall.