XPath PART2

函數與運算符號
XPath 1.0定義四種資料型別:節點型、字串型、數字型、與布爾型
有效的運算符有:
/、//以及..運算符,一般用於軸描述
合集運算符 | 把兩個節點形成聯集
布林運算符 and、or以及not()函數
數學運算符 +、-、*、div(除)以及mod(取餘數)
比較操作子 =、!=(不等於)、<、>、<=、>=

函數有:
文字運算函數
concat(), substring(), contains(), substring-before(), substring-after(), translate(), normalize-space(), string-length()
數學運算函數
sum(), round(), floor(), ceiling()
節點屬性取得函數
name(), local-name(), namespace-uri()
處理上下文數據取得函數
position(), last()
類型轉換函數
string(), number(), boolean()


節點組函式
position() 
返回當前節點集合內,該節點的位置
count(node-set) 
返回符合XPath的節點集合的節點總數


字串函式
string(object?) 
根據內建法則轉換任何四種XPath資料型別為字串。參數可為XPath,在這裡符合條件節點(群)轉換成返回字串。
concat(string, string, string*) 
連結任何數量字串
contains(s1, s2) 
如果s1包含s2返回真
normalize-space(string?) 
所有在字串頭和尾的空白字元都被移除,在字元間的大於兩個以上的空白字元會被置換成單一空白
這對對付原本XML因列印關係被美化但是這可能讓後來的字串處理不可靠,此函式這種情況時相當有用

布林函數
not(boolean) 
布爾否運算函數


數學運算函數
sum(node-set) 
根據內建轉型規則,轉換所有XPath參數定義找到的節點字串值成為數字,然後返回這些數字總合
使用操作子:=, !=, <=, <, >= 和 >的表達式可以創造於術語內
布林表達式可用括弧()、布林操作子and與or、和/或者上述的not()函式聯合起來
數值計算使用*, +, -, div和mod。字串可包含任何Unicode字元
述語內外,整個節點組可利用"|"字元聯合起來
v[x or y] | w[z] 會返回單一節點組,包括現行上下文找到的所有擁有x或y子元素的v 元素、有z子元素的w元素
//item[@price > 2*@discount] 會選取price屬性至少兩倍於discount屬性數值的物件

回應

part1和part2都很實用耶

希望快點出part3

麻煩大大了