XPath函數
函數定義
函數名
返回類型(不能用void)
參數類型
常用函數
節點集函數
last() 返回當前上下文中的最后一個節點的位置號數。
position() 返回當前節點的位置的數字,位於第多少個。
count(node-set) 返回節點集node-set中的節點數。
id(mark) 根據在DTD中聲明為ID類型的標識符選擇元素,返回一個節點集。
name() 返回節點名稱。
local-name() 返回不帶名稱空間的節點名稱。
namespace-uri() 返回名稱空間。
字符串函數
string(object) 把節點集、數字、布爾值等轉化成字串並返回。
format-number(num) 把數字轉化成字串並返回。
concat(string1,string2…) 合並多個字串並返回。
starts-with(string1,string2) 如果字串string1開頭帶string2的所有字符則返回true,否則返回false。
contains(string1,string2) 如果字串string1包含string2的所有字符則返回true,否則返回false。
substring(string,number1,number2) 取string中從位置number1開始,number2長的子串,number2可省略。
substring-before(string1,string2) 取string1在string2第一次出現位置之前的子串。
substring-after(string,string) 取string1在string2第一次出現位置之后的子串。
string-length(string) 返回string的長度數字。
normalize-space(string) 清除string頭尾的空白字符並且把連續的空白字符替換為一個再返回。
translate(string1,string2,string3) 假如string1中的字符在string2中有出現,那么替換為string3對應string2的同一位置的字符,假如string3這個位置取不到字符則刪除string1的該字符。
布爾函數
boolean(object) 非0和NaN的數字/非空節點/長度大於0的字串返回true,非基本類型的轉換有時無法估計。
not(boolean) 對布爾值取反。
true() 返回true。
false() 返回false。
lang(string) 如果上下文節點的lang屬性和string相同則返回true。
數字函數
number(object) 使對象轉化成數字,布爾值true為1,false為0;節點集首先轉換成字符串,字符串轉換成數字或者NaN。
sum(node-set) 對節點集node-set中的所有節點應用number()函數后返回和。
floor(number) 返回不大於數字number的最大整數。
ceiling(number) 返回不小於數字number的最小整數。
round(number) 返回和數字number的四舍五入結果。