XPointer 是 XML 指针文件(XML Pointer Language)的缩写,XPointer 使超级链接可以指向 XML 文档中更多具体的部分(片断)。
在本例中,我们会为您展示如何使用 XPointer 并结合 XLink 来指向另外一个文档的某个具体的部分。
我们将通过研究目标 XML 文档开始(即我们要链接的那个文档)。
目标XML文档
目标XML文档名为 "dogbreeds.xml",它列出了一些不同的狗种类:
The Rottweiler's ancestors were probably Roman drover dogs..... Confident, bold, alert and imposing, the Rottweiler is a popular choice for its ability to protect.... One of the earliest uses of retrieving dogs was to help fishermen retrieve fish from the water.... The flat-coated retriever is a sweet, exuberant, lively dog that loves to play and retrieve....
注意上面的 XML 文档在每个我们需要链接的元素上使用了 id 属性!
XML 链接文档
不止能够链接到整个文档(当使用 XLink 时),XPointer 允许您链接到文档的特定部分。如需链接到页面的某个具体的部分,请在 xlink:href 属性中的 URL 后添加一个井号 (#) 以及一个 XPointer 表达式。
表达式:#xpointer(id("Rottweiler")) 可引用目标文档中 id 值为 "Rottweiler" 的元素。
因此,xlink:href 属性会类似这样:xlink:href="http://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"
不过,当使用 id 链接到某个元素时,XPointer 允许简写形式。您可以直接使用 id 的值,就像这样:xlink:href="http://dog.com/dogbreeds.xml#Rottweiler"。
下面的 XML 文档可引用每条狗的品种信息,均通过 XLink 和 XPointer 来引用:
Anton is my favorite dog. He has won a lot of..... Pluto is the sweetest dog on earth......