深入探索XPath与XPointer:精准定位XML资源
1. XPath表达式基础
XPath表达式可包含路径或函数。在完整路径中,函数包含在谓词里;在缩写路径中,函数跟在连接符号#之后。例如position()函数,之前在<smokeyPrice>链接元素示例中已介绍过,在位置路径的第二个位置步骤里会再次用到:
#xpointer(/diamonds/child::gem[position()=3]/cost)position()函数在给定上下文中充当解析器可能遇到的各种节点的计数器。在此例中,解析器会在上下文节点(当前上下文为<diamonds>元素节点)的子节点中查找,并选择第三个<gem>元素节点。
2. XML指针语言对XPath的扩展
XPath表达式能让解析器将文档子资源选择到节点级别。不过,出于多种原因,节点级别的选择可能不足以满足子资源选择的需求。XML指针语言(XPointer)基于XML路径语言(XPath),支持对XML文档和外部解析实体的内部结构进行寻址。它允许根据各种属性(如元素类型、属性值、字符内容和相对位置)检查分层文档结构并选择其内部部分。
2001年9月,XML指针语言(XPointer)1.0版成为万维网联盟的候选推荐标准。但在2002年7月,它被W3C的以下工作草案所取代:
| 名称 | 描述 |