You can view these four specifications at the W3C Web site (
XLink is part of the XML standard that currently defines the
linking components of XML. XLink is similar to the functionality of the
<a> tag in HTML in that XLink allows elements to be inserted into
XML documents to create links between resources. XLink also has
XPath is a language that views the XML
document as a tree with nodes. Using XPath, you can locate any node in
the XML document tree.
XPointer provides a way to address the
internal structure of an XML document. XPointer extends XPath by
allowing you to address points and ranges in addition to nodes, locate
information by string matching, and use addressing expressions in
URI-references as fragment identifiers. XLink works with either XPath
or XPointer. The XPath or XPointer language is used to define where you
want to link in an XML document, and XLink will provide the actual link
to that point in the document.
Namespaces are also an important part of the XML specification. When
creating DTDs or schemas from multiple documents, you need a way to
define where each definition originated. This is especially important
if two external documents use the same name for an element, but each is
defining a different element. For example,
title could refer to
Mr., Mrs., and Miss in one DTD and to the title of the document in
another DTD. If you merged these two DTDs, you would have a name
conflict. Namespaces prevent this conflict from happening.
In this tutorial, we'll begin by looking at namespaces and then move on to the XPath, XPointer, and XLink languages.
At the time of this writing, the specifications for XLink and XPointer are still being reviewed, and it's possible that some of the syntax will change. The overall structure of XPointer, XPath, and XLink should not change.