XQuery函数用法详解

本文概述

  • 访问器函数
  • 错误和跟踪函数
  • 数值函数
  • 字符串函数
  • 布尔值函数
  • 时间和日期函数
XQuery 1.0, XPath 2.0和XSLT 2.0共享相同的函数库。
一系列不同类型的XQuery函数:
  • 访问器函数
  • 错误和跟踪函数
  • 数值函数
  • 字符串函数
  • AnyURI函数
  • 布尔函数
  • 持续时间/日期/时间函数
  • QName函数
  • 节点函数
  • 序列函数
  • 上下文函数
函数以fn:前缀指定。例如:fn:string()。但是fn:是名称空间的默认前缀, 因此在调用函数时不必为前缀fn。
访问器函数
Index Name Description
1) fn:node-name(node) 它用于返回参数节点的节点名称。
2) fn:nilled(node) 它用于返回一个布尔值, 该布尔值指示参数节点是否为nil。
3) fn:data(item.item, … ) 它用于获取一系列项目并返回一系列原子值。
4) fn:base-uri()
fn:base-uri(node)
它返回当前或指定节点的base-uri属性的值。
5) fn:document-uri(node) 它返回指定节点的document-uri属性的值。
错误和跟踪函数
Index Name Description
1) fn:错误()fn:错误(错误)fn:错误(错误, 描述)fn:错误(错误, 描述, 错误对象) 示例:错误(fn:qname(‘ http://example.com/test’ , ‘ err:toohigh’ ), ‘ 错误:价格太高’ )结果:返回http://example.com/test#toohigh字符串” 错误:价格过高” 给外部处理环境。
2) fn:trace(值, 标签) 它用于调试查询。
数值函数
Index Name Description
1) fn:abs(num) 它返回参数的绝对值。例如:abs(3.14)结果:3.14
2) fn:abs(num) 它返回参数的绝对值例如:abs(3.14)结果:3.14示例:abs(-3.14)结果:3.14
3) fn:ceiling(num) 它返回大于number参数的最小整数, 例如:ceiling(3.14)结果:4
4) fn:floor(num) 它返回不大于number参数的最大整数, 例如:floor(3.14)结果:3
5) fn:round(num) 它用于将number参数四舍五入为最接近的整数例如:round(3.14)结果:3
6) fn:round-half-to-even() 示例:一半至一半(0.5)结果:0示例:一半至一半(1.5)结果:2示例:一半至一半(2.5)结果:2
字符串函数XQuery中使用了很多字符串函数, 但是这里我们使用的是选定的函数。
【XQuery函数用法详解】XQuery的常用字符串操作函数列表:
Index Name Description
1) string-length($ string as xs:string)as xs:integer 它返回字符串的长度。
2) concat($ input as xs:anyatomictype?)as xs:string 它返回连接的字符串作为输出。
3) string-join($ sequence as xs:string *, $ delimiter as xs:string)as xs:string 它返回由定界符分隔的序列中项目的组合。
布尔值函数
Index Name Description
1) fn:boolean(arg) 它用于返回数字, 字符串或节点集的布尔值。
2) fn:not(arg) 它指定通过应用Boolean()函数首先将参数减为布尔值。如果布尔值是false, 则返回true;如果布尔值是true, 则返回false。例如:not(true())结果:false
3) fn:true() 它返回布尔值true示例:true()结果:true
4) fn:false() 它返回布尔值false例如:false()结果:false
时间和日期函数XQuery支持很多时间和日期函数, 但是在这里, 我们提供所选的函数。
XQuery提供的一些常用日期和时间函数的列表:
Index Name Description
1) current-date() 它用于返回当前日期。
2) current-time() 它用于返回当前时间。
3) current-datetime() 它用于返回当前日期和当前时间。

    推荐阅读