Eve Maler (Sun): XLink and XPointer
December 11, 2000
The simple HTML one-way link mechanism is too limited for the XML
world. We need to be able to express link relationships when we might
not have write access to either the source or the destination.
Sometimes we need one-to-many links. Sometimes we need links stored
externally from the files that are linked. Eve Maler (Sun), co-chair
of the W3C's XML Linking
working group and co-editor of the W3C XLink and XPointer
specifications, described XLink, XPointer, and the related XBase.
She distinguished between:
- links - associates set of resources or subresources with
optional titles; comes in two types: simple (like HTML) or
extended
- participants - any number, local vs. remote, whole vs.
subresource; two kinds are locator and resource
- arcs - the critical piece that expresses traversal from
start to end, plus traversal behavior
Arcs can be divided into:
- outbound arc - starts locally, ends remotely
- third party arc - starts and ends remotely
- inbound arc - starts remotely and ends locally
There are also associated behaviors:
- show - what happens when a link is encountered; possible
values are: new, replace, embed, none, or
other.
- actuate - how the link is activated; possible values are:
onLoad, onRequest, none, or other.
While remarking that "XPointer is mostly XPath", Eve also discussed
XPointer for fragment identifiers and described four flavors:
- bare-name - Example:
#foo (based on attribute of type
ID)
- child-sequence - Example:
#/1/2/5 is the 5th child of the
2nd child of the 1st child of the root
- full XPointer - Example:
#xpointer(//prod[@num='22'])
- ranges and string ranges - series of non-contiguous
strings
Anthony Duhig, Advanced Technologies, Empolis UK, spoke about
Separating Links from Content Using XML, XLink and XPointer. One
of his concerns was link management, especially dealing with
out-of-line links, such as third-party arcs stored in a special
linkbase. This approach is quicker to search and more scalable.
Empolis UK (formerly STEP UK)
created
X2X, the first commercial XLink engine.
See also Eve's concise introduction, XML Linking:
An Executive Summary. For an in-depth coverage of XLink, see the
three-part XML.com article by Fabio Arciniegas A., What is
XLink?
W3C Standards Update
What Happened at XML 2000?
Matt Fuchs (Commerce One): Extending XML Schema for eCommerce
|