XQuery 函数

XQuery 函数是什么

XQuery 1.0、XPath 2.0 和 XSLT 2.0 共享相同的函数库。

不同类型的 XQuery 函数的列表:

  • 访问器函数
  • 错误和跟踪函数
  • 数值函数
  • 字符串函数
  • AnyURI 函数
  • 布尔函数
  • 时间/日期/时间函数
  • QName 函数
  • 节点函数
  • 序列函数
  • 上下文函数

函数用 fn: 前缀指定。例如:fn:string()。但是 fn: 是命名空间的默认前缀,所以调用函数时不需要前缀 fn。

访问器函数

函数名 描述
fn:node-name(node) 它用于返回参数节点的节点名称。
fn:nilled(node) 它用于返回一个布尔值,指示参数节点是否为 nil。
fn:data(item.item,...) 它用于获取一系列项目并返回一系列原子值。
fn:base-uri()
fn:base-uri(node)
它返回当前或指定节点的 base-uri 属性的值。
fn:document-uri(node) 它返回指定节点的 document-uri 属性的值。

错误和跟踪函数 

函数名 描述
fn:error()
fn:error(error)
fn:error(error,description)
fn:error(error,description,error-object)
示例: error(fn:qname('http://example.com/test', 'err:toohigh'), 'error: price is too high')result: returns http://example.com/test#toohigh and the string "error: price is too high" to the external processing environment.
fn:trace(value,label) 它用于调试查询。

数值函数

函数名 描述
fn:abs(num) 它返回参数的绝对值。
例如:abs(3.14)
结果:3.14
fn:abs(num) 它返回参数的绝对值
例如:abs(3.14)
结果:3.14
例子:abs(-3.14)
结果:3.14
fn:ceiling(num) 它返回大于 number 参数的最小整数
例如:ceiling(3.14)
结果:4
fn:floor(num) 它返回不大于 number 参数的最大整数
例如: floor(3.14)
结果:3
fn:round(num) 它用于将 number 参数四舍五入为最接近的整数
例如:round(3.14)
结果:3
fn:round-half-to-even() 示例:round-half-to-even(0.5)
结果:0
示例:round-half-to-even(1.5)
结果:2
示例:round-half-to-even(2.5)
结果:2

字符串函数

XQuery 中使用了很多字符串函数,但这里我们使用选定的一个。、

XQuery 常用的字符串操作函数列表:

函数名 描述
string-length($string as xs:string) as xs:integer 它返回字符串的长度。
concat($input as xs:anyatomictype?) as xs:string 它返回连接的字符串作为输出。
string-join($sequence as xs:string*, $delimiter as xs:string) as xs:string 它返回由分隔符分隔的序列中的项目组合。

布尔值函数 

函数名 描述
fn:boolean(arg) 它用于返回数字、字符串或节点集的布尔值。
fn:not(arg) 它指定首先通过应用 Boolean() 函数将参数简化为布尔值。如果布尔值为 false,则返回 true,如果布尔值为 true,则返回 false。
例如:not(true())
结果:false
fn:true() 它返回布尔值 true
示例:true()
结果:true
fn:false() 它返回布尔值 false
例如:false()
结果:false

时间和日期功能

XQuery 支持很多时间和日期函数,但在这里,我们提供了选定的一个。

XQuery 提供的一些常用日期和时间函数的列表:

函数名 描述
current-date() 它用于返回当前日期。
current-time() 它用于返回当前时间。
current-datetime() 它用于返回当前日期和当前时间。

热门文章

优秀文章