阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

XQuery 函数概述

57次阅读
没有评论

共计 982 个字符,预计需要花费 3 分钟才能阅读完成。

导读 XQuery 1.0、XPath 2.0 以及 XSLT 2.0 共享相同的函数库。

XQuery 函数概述

XQuery 函数

XQuery 含有超过 100 个内建的函数。这些函数可用于字符串值、数值、日期以及时间比较、节点和 QName 操作、序列操作、逻辑值等等。您也可在 XQuery 中定义自己的函数。

XQuery 内建函数

XQuery 函数命名空间的 URI:

http://www.w3.org/2005/02/xpath-functions

函数命名空间的默认前缀是 fn:。

提示:函数经常被通过 fn: 前缀进行调用,例如 fn:string()。不过,由于 fn: 是命名空间的默认前缀,所以函数名称不必在被调用时使用前缀。

函数调用实例

函数调用可与表达式一同使用。请看下面的例子:

例 1:在元素中
<name>{upper-case($booktitle)}</name>
例 2: 在路径表达式的谓语中
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
例 3: 在 let 语句中
let $name := (substring($booktitle,1,4))
XQuery 用户定义函数

如果找不到所需的 XQuery 函数,你可以编写自己的函数。

可在查询中或独立的库中定义用户自定义函数。

语法
declare function 前缀: 函数名 ($ 参数 AS 数据类型)
AS 返回的数据类型
{... 函数代码...}
关于用户自定义函数的注意事项
  1. 请使用 declare function 关键词
  2. 函数名须使用前缀
  3. 参数的数据类型通常与在 XML Schema 中定义的数据类型一致
  4. 函数主体须被花括号包围
一个在查询中声明的用户自定义函数的例子
declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?)
AS xs:decimal?
{let $disc := ($p * $d) div 100
return ($p - $disc)
}

Below is an example of how to call the function above:

<minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计982字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中