XPath语法函数

最近在看XPath,收集了几个比较有趣的的函数:

1. fn:round-half-to-even(); 

    ex:round-half-to-even(1.5) 结果为 2; round-half-to-even(2.5) 结果为2;
    含义:去掉小数点右边的数,若为奇数则天花板,若为偶数则地板。
2. fn:string-join((string,string...),sep);
    ex:string-join("We","are","having","fun")," ") 结果为'We are having fun';
    string-join("We","are","having","fun"),"") 结果为'Wearehavingfun';
    含义:使用sep参数作为分隔符,来返回string参数拼接后的字符串
3. fn:translate(string1,string2,string3);
    ex:translate('12:30','30','45')结果为'12:45'
         translate('12:30','03','54')结果为'12:45'
         translate('12:30','0123','abcd')结果为'bc:da'
    含义:把string1中的string2替换为string3
4. fn:normalize-space(string);
    ex:normalize-space(' This     is      a lot   space     ')结果为'This is a lot space'
    含义:删除指定字符串的开头和结尾的空格,并把内部的所有空格序列替换为一个空格,然后返回结果。如果没有string参数,则处理当前节点。
5. fn:substring-before(string1,string2);
    ex:substring-before('12/10','/')结果为'12'
    含义:返回string2在string1中出现之前的子字符串
6. fn:contains(string1,string2);
    ex:contains('XML','XM')结果为true
   含义: 如果string1包含string2,则返回ture
7. fn:matches(string,pattern)
    ex:matches('abcde',‘[a-z]{5}')结果为true
        matches('abcde','de')结果为true
    含义:如果string参数匹配制定的模式,则返回ture
8. fn:starts-with(string1,string2)
    ex:starts-with('XML','X;)结果为true
    含义:如果string1以string2结尾,则返回true
9. fn:ends-with(string1,string2)
    ex:ends-with('XML','L')结果为true
10. fn:replace(string,pattern,replace)
    ex:replace('sbsb大sb','sb','*')结果为‘**大*’
    含义:把制定的模式替换为replace参数,并返回结果
11. year-from-date(date)
    ex:year-from-dateTIme(xs:dateTime('2005-01-10'))结果为2005
    含义:返回参数本地值中表示年的整数
12. fn:data(item.item,...)
    ex:data(<title lang="en">Harry Potter</title>)结果为‘Harry Potter’
    含义:接受项目序列,并返回原子值序列(返回标签的值)
posted @ 2016-06-22 10:33  名字可以这么短  阅读(999)  评论(0编辑  收藏  举报