位置路徑範例
以下範例說明位置路徑的用法。
路徑 |
描述 |
---|---|
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> 項目所含的第 2 個 <section> 項目。 |
child::para[attribute::type="warning"] |
選取內容節點中所有將 type 屬性設為 "warning" 值的 <para> 子系。 |
child::para[attribute::type="warning"][position()=5] |
選取內容節點中將 type 屬性設為 "warning". 值的第 5 個 <para> 子系。 |
child::para[position()=5][attribute::type="warning"] |
選取內容節點的第 5 個 <para> 子系,前提是該子系必須要有設為 "warning". 值的 type 屬性。 |
child::chapter[child::title="Introduction"] |
選取內容節點中有一或多個 <title> 子系具有 "Introduction" 同等字串值的 <chapter> 子系。 |
child::chapter[child::title] |
選取內容節點中具有一或多個 <title> 子系的 <chapter> 子系。 |
child::*[self::chapter or self::appendix] |
選取內容節點的 <chapter> 和 <appendix> 子系。 |
child::*[self::chapter or self::appendix][position()=last()] |
選取內容節點的最後一個 <chapter> 或 <appendix> 子系。 |