xpath可分為四種資料型別:
1、節點集(node-set):節點集是通過路徑匹配返回的符合條件的一組節點的集合。其它型別的資料不能轉換為節點集。
2、布林值(boolean):由函式或布林表示式返回的條件匹配值,與一般語言中的布林值相同,有true和 false兩個值。布林值可以和數值型別、字串型別相互轉換。
3、字串(string):字串即包含一系列字元的集合,xpath中提供了一系列的字串函式。字串可與數值型別、布林值型別的資料相互轉換。
4、數值(number):在xpath中數值為浮點數,可以是雙精度64位浮點數。另外包括一些數值的特殊描述,如非數值nan(not-a-number)、正無窮大 infinity、負無窮大-infinity、正負0等等。number的整數值可以通過函式取得,另外,數值也可以和布林型別、字串型別相互轉換。
其中後三種資料型別與其它程式語言中相應的資料型別差不多,只是第一種資料型別是xml文件樹的特有產物。
由於xpath包含的是對文件結構樹的一系列操作,因此搞清楚xpath節點型別也是很必要的。在xml文件的邏輯結構,乙個 xml檔案可以包含元素、cdata、注釋、處理指令等邏輯要素,其中元素還可以包含屬性,並可以利用屬性來定義命名空間。相應地,在xpath中,將節點劃分為七種節點型別:
1、根節點(root node):根節點是一棵樹的最上層,根節點是唯一的。樹上其它所有元素節點都是它的子節點或後代節點。對根節點的處理機制與其它節點相同。在xslt中對樹的匹配總是先從根節點開始。
2、元素節點(element nodes):元素節點對應於文件中的每乙個元素,乙個元素節點的子節點可以是元素節點、注釋節點、處理指令節點和文字節點。可以為元素節點定義乙個唯一的標識id。元素節點都可以有副檔名,它是由兩部分組成的:一部分是命名空間uri,另一部分是本地的命名。
3、文字節點(text nodes):文字節點包含了一組字元資料,即cdata中包含的字元。任何乙個文字節點都不會有緊鄰的兄弟文字節點,而且文字節點沒有副檔名。
4、屬性節點(attribute nodes):每乙個元素節點有乙個相關聯的屬性節點集合,元素是每個屬性節點的父節點,但屬性節點卻不是其父元素的子節點。這就是說,通過查詢元素的子節點可以匹配出元素的屬性節點,但反過來不成立,只是單向的。再有,元素的屬性節點沒有共享性,也就是說不同的元素節點不共有同乙個屬性節點。
對預設屬性的處理等同於定義了的屬性。如果乙個屬性是在dtd宣告的,但宣告為 #implied,而該屬性沒有在元素中定義,則該元素的屬性節點集中不包含該屬性。
此外,與屬性相對應的屬性節點都沒有命名空間的宣告。命名空間屬性對應著另一種型別的節點。
5、命名空間節點(namespace nodes):每乙個元素節點都有乙個相關的命名空間節點集。在xml文件中,命名空間是通過保留屬性宣告的,因此,在xpath中,該類節點與屬性節點極為相似,它們與父元素之間的關係是單向的,並且不具有共享性。
6、處理指令節點(processing instruction nodes):處理指令節點對應於xml文件中的每一條處理指令。它也有副檔名,副檔名的本地命名指向處理物件,而命名空間部分為空。
7、注釋節點(comment nodes):注釋節點對應於文件中的注釋。
XPath說明 XPath資料型別和運算符號
xpath xpath是一種xml路徑表示式,用於在xsl等技術中確定xml文件的節點位置。表示式確定了一顆使用url路徑符號的xml文件節點樹,並且可以使用謂詞和函式篩選節點。xpath節點有元素節點和屬性,元素節點名稱由xml命名空間字首和本地字串組成,命名空間可以為null。還有一種特殊的元素...
資料型別 基本資料型別和引用資料型別
一.分類 1,五種簡單資料型別 基本資料型別 number,string,boolean,null,undefined,新增symbol es6 基本資料型別是指存放在棧中的簡單資料段,資料大小確定,記憶體空間大小可以分配,它們是直接按值存放的,所以可以直接按值訪問。1 undefined 宣告的變...
資料型別和引用型別
c 支援兩種型別 資料型別和引用型別。資料型別包括一些簡單型別 例如,char int和float 列舉型別和結構型別。引用型別包括類型別 介面型別 代表 delegate 型別和陣列型別。資料型別和引用型別的區別在於,資料型別變數直接包含它們的資料,然而引用型別資料是儲存對於物件的引用。對於引用型...