位置路徑
位置路徑是 XPath 運算式之一,可用來選取內容節點相對的一組節點。評估位置路徑運算式會得到節點集,其包含位置路徑所指定的節點。位置路徑可遞迴包含用來篩選節點集的運算式。
在語法上,位置路徑包含一或多個位置步驟,而且每一個位置步驟都是以正斜線 (/
) 分隔:
locationstep/locationstep/locationstep
每個位置步驟會按照順序選取一組與內容節點 (亦即前一個位置步驟所選取的節點) 相對的節點。以這種方式表示的位置路徑是相對位置路徑。絕對位置路徑會從根項目起始:
/locationstep/locationstep/locationstep
在位置路徑中,會從左到右評估位置步驟。最左側的位置步驟會選取與內容節點相對的一組節點。於是,這些節點就會成為可用來處理下一個位置步驟的內容。內容節點的步驟和更新會反覆進行,直到完成所有位置步驟的處理為止。
位置路徑可以縮寫或不縮寫。
在不縮寫的位置路徑中,位置步驟的語法如下:
axis::node-test[predicate]
在這個語法中,axis
會指定位置步驟選取的節點與內容節點的相關性;node-test
會指定位置步驟選取之節點的節點型別和擴充名稱;predicate
則是篩選條件運算式,可進一步精簡位置步驟中選取的節點。述詞是選擇性項目。在此情況下,位置步驟只會包含 axis::
和 node-test
。下表提供一些範例。
不縮寫的位置路徑 | 說明 |
---|---|
|
選取內容節點的最後一個 |
|
選取內容節點之父代的 |
|
選取內容節點的所有文字節點子系。 |
|
選取 |
在縮寫的位置路徑中,座標軸規範 axis::
並不會在路徑步驟中明確表示,而是以一組捷徑隱含表示。下表提供一些範例。
縮寫的位置路徑 | 說明 |
---|---|
|
選取內容節點的 |
|
選取內容節點之父代的 |
|
選取內容節點的所有文字節點子系。 |
|
選取內容節點之 |
以下是部分縮寫的摘要:
不縮寫 | 縮寫 |
---|---|
|
|
|
|
|
|
|
|
|
|
本節內容
下列主題詳細說明了位置路徑中各項目的語法和使用方式。