XPointer是在可扩展标志语言(XML)文件中定位数据的一种语言,其定位是根据数据在文件中位置、字符内容以及属性值等特性进行的。
XPointer是在可扩展标志语言(XML)文件中定位数据的一种语言,其定位是根据数据在文件中位置、字符内容以及属性值等特性进行的。
XPointer由统一资源定位地址(URL)中#号之后的描述组成。XPointer可单独使用或者与XPath一起使用,XPath是在XML文件中定位数据的另一种语言。
在超文本标志语言(HTML)中,#号激活HTML页中特殊标记点的连接。XPointer还允许基于内容的连接。这样,例如,可以让读者连接到XML文件中某个单词、短语或字符串的下一实例。
在2003年3月25日,XPointer成为 W3C 推荐标准。
浏览器只在最小限度内支持XPointer。
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 来引用:
<?xml version="1.0" encoding="ISO-8859-1"?><mydogs xmlns:xlink="http://www.w3.org/1999/xlink"><mydog xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#Rottweiler"> <description xlink:type="simple" xlink:href="http://myweb.com/mydogs/anton.gif"> Anton is my favorite dog. He has won a lot of..... </description></mydog><mydog xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#FCRetriever"> <description xlink:type="simple" xlink:href="http://myweb.com/mydogs/pluto.gif"> Pluto is the sweetest dog on earth...... </description></mydog></mydogs>
在 HTML 中,我们可创建一个既指向某个 HTML 页面又指向 HTML 页面内某个书签的超级链接(使用#)。
有时,可指向更多具体的内容会更有好处。举例,我们需要指向某个特定的列表的第三个项目,或者指向第五段的第二行。通过 XPointer 是很容易做到的。
假如超级链接指向某个 XML 文档,我们可以在 xlink:href 属性中把 XPointer 部分添加到 URL 后面,这样就可以导航(通过 XPath 表达式)到文档中某个具体的位置了。
举例,在下面的例子中,我们通过唯一的 id “rock” 使用 XPointer 指向某个列表中的第五个项目。
href="http://www.example。com/cdlist.xml#id('rock').child(5,item)"