XML指针语言,它定义了XML文档的每个单独部分的寻址模式,用来定位XML文档中的不同片段。
形式完整形式完整形式的XPointer的形式为XPointer表达式,其中表达式用于定位计算,得到需要的资源片断,所有的定位计算都基于一个上下文节点。一般而言,最初始的上下文节点总是文档中的确定位置,如文档的根节点、文档中具有确定id属性值的元素(用函数id()表示)、当前元素(用函数here()表示)等。
无修饰名称无修饰名称只有一个名称,表示文件中id等于指定名称的元素,它提供了与HTML文件兼容的方式以定位文档片段。
子节点序列子节点序列由名称、一系列数字和“/”组成,其中“/”用于分隔名称和数字,数字n表示前面定位元素的第n个直接子元素,子节点序列必须以“/1”或名称打头,表示该序列从根元素或指定id的元素开始。
事实上,无修饰名称和子节点序列形式都是完整形式的简写形式。同XPath一样,XPointer语言的表达式也是由一个或多个定位步骤构成的定位路径,并且每个定位步骤由“/”隔开。一个定位步骤由轴、节点测试及谓词构成。1
XPointer定位路径XPath作为XPointer的基石提供了表达定位的语法,XPointer还在它的基础上进行了扩展,XPath提供了对XML文档中的子节点集合进行定位的方法。XPath通过谓词对轴进行过滤是根据对节点或节点集的操作来定义的,而XPointer还需要指定另外意义上的文档节点。
XPointer的主要功能是在XML文档中定位片段、查找资源。XLink可以链接资源,通过把XPointer和XLink联合使用,就可以链接资源的任意部分,而不是整个资源。所以,在XML链接中,通常将它加到URL的结尾以便更明确地表示目标资源。
但是,XPointer语言的使用并不局限于XML链接,它可以链接到特定位置,甚至可以链接到XML文档中的某个位置范围,还可以使用字符串来匹配搜索XML文档。
在HTML中,有一个类似于XPointer的标记,它的作用就是指明可以链接到被元素的属性href指定链接的位置。但是,使用HTML超链接只能链接到整个文档,对于链接文档内部就会比较麻烦,而XPointer对XML文档则解决了这个问题。由于XML是结构化的文档,其内部都是由节点来标识的,所以町以借助文件结构进行内部定位。XPointer支持在XML文档中定位元素、属性、字符串等内部结构。
XPointer语言基于XSLT中的XPath,支持完整形式(Full XPointers)、无修饰名称(Bare Names)或子节点序列(Child Sequences)三种形式以定位片段。1
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学