XML CH11 課後複習

 <內容取自XML How to program>  <建立XML相關觀念>  

Ch11  XML路徑語言(XPath

Location Path = ∑Location Step/

Location stepAxes::NodeTests(+predicate)

部分定位路徑縮寫式

定位路徑

描述

child::

預設的軸部,若沒有提供任何的軸部則使用此軸部,所以可以省略。

attribute::

此屬性軸部縮寫式為@

/descendent-or-self::node()/

此定位路徑縮寫式為//

self::node()

為內容節點本身,縮寫式為‧

parent::node()

內容節點的父節點,縮寫式為‧‧

節點集合運算子

節點集合運算子

描述

pipe(|)

兩個節點集合的聯集

slash(/)

分隔定位路徑

double-slash(//)

定位路徑/descendent-or-self::node()的縮寫式

節點集合函式

節點集合函式

描述

last()

回傳節點集合中的節點數

position()

回傳現在正在被測試的節點的編號

count(節點集合)

回傳特定節點集合中的節點數

id(string)

回傳ID屬性符合特定string的元素節點

local-name(節點集合)

回傳節點集合中第一個節點的展開名稱中的本地部分

namespace-uri(節點集合)

回傳節點集合中第一個節點的展開名稱中的命名空間URI

name(節點集合)

回傳節點集合中第一個節點的名稱

    XPath中,一個XML文件被是為一棵樹,而XML中每一個組成元素則被視為節點。

    有些節點種類具有展開名稱,其包含本地部分以及命名空間URI兩部分。

 

    XPath中的節點是有順序的,稱為文件順序,是根據節點出現在原始XML文件中的順序排列,而反向文件順序則是根據節點在文件中的反方向排列。

    只有元素、註解、內文和處理指示節點可以為子節點。

 

    命名空間和屬性節點具有父節點,但不為其父節點的子節點。

    對於處理指示,字串值由俿理指示目標值之後的字串所組成,包含空白字元,但不包含結束的字串”?>”

 

    命名空間的字串值由命名空間的URI組成。

    對於命名空間節點而言,展開名稱中的命名空間URI一定為空的。

 

    軸部指出那些相對於內容節點應該被包含在搜尋中,也指出節點在集合中的順序。

    軸部具有與選取的節點型態一致的首要節點型態。

 

    定位路徑由一連串的定位步驟所組成。

    定位步驟包括軸部以及節點測試,中間以::區隔,另外還有選擇性的述部以[  ]符號包含住。

 

    XPath提供由節點集合函式在節點集合中執行動作並由定位路徑回傳。

    節點集合運算子和函式可以組合成定位路徑陳述句。