-
位置路径示例
下面的示例说明位置路径的用法。
路径 | 说明 |
---|---|
child::node() | 选择上下文节点的所有子级,无论属于哪种节点类型。 |
attribute::name | 选择上下文节点的 name 属性。 |
attribute::* | 选择上下文节点的所有属性。 |
descendant::para | 选择上下文节点的 <para> 元素子代。 |
ancestor::div | 选择上下文节点的所有 <div> 上级。 |
ancestor-or-self::div | 选择上下文节点的 <div> 上级,如果上下文节点是 <div> 元素,还将选择该上下文节点。 |
descendant-or-self::para | 选择上下文节点的 <para> 元素子代,如果上下文节点是 <para> 元素,还将选择该上下文节点。 |
self::para | 如果上下文节点是 <para> 元素,则选择该上下文节点;否则,不选择任何内容。 |
child::chapter/descendant::para | 选择上下文节点的 <chapter> 元素子级的 <para> 元素子代。 |
child::*/child::para | 选择上下文节点的所有 <para> 孙级。 |
/ | 选择文档根(总是文档元素的父级)。 |
/descendant::para | 选择与上下文节点相同的文档中的所有 <para> 元素。 |
/descendant::olist/child::item | 选择所有具有 <olist> 父级以及与上下文节点处于同一文档的 <item> 元素。 |
child::para[position()=1] | 选择上下文节点的第一个 <para> 子级。 |
child::para[position()=last()] | 选择上下文节点的最后一个 <para> 子级。 |
child::para[position()=last()-1] | 选择上下文节点的倒数第二个 <para> 子级。 |
child::para[position()>1] | 选择上下文节点的所有 <para> 子级,上下文节点的第一个 <para> 子级除外。 |
/descendant::figure[position()=42] | 选择文档中的第 42 个 <figure> 元素。 |
/child::doc/child::chapter[position()=5]/child::section[position()=2] | 选择 <doc> 文档元素的第 5 个 <chapter> 元素中包含的第二个 <section> 元素。 |
child::para[attribute::type="warning"] | 选择上下文节点中所有 type 属性值为 "warning" 的 <para> 子级。 |
child::para[attribute::type="warning"][position()=5] | 选择上下文节点中 type 属性值为 "warning". 的第 5 个 <para> 子级,注:连续的谓词为与的关系,都是针对para元素。 |
child::para[position()=5][attribute::type="warning"] | 选择上下文节点的第 5 个 <para> 子级(如果该子级的 type 属性值为 "warning". )。 |
child::chapter[child::title="Introduction"] | 选择上下文节点中包含一个或多个字符串值等于“Introduction ”的 <title> 子级的 <chapter> 子级。 |
选择上下文节点中包含一个或多个 <title> 子级的 <chapter> 子级。 | |
child::*[self::chapter or self::appendix] | 选择上下文节点的 <chapter> 和 <appendix> 子级。 |
child::*[self::chapter or self::appendix][position()=last()] | 选择上下文节点的最后一个 <chapter> 或 <appendix> 子级。 |