当前位置: 首页 > news >正文

XQuery 函数

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


XQuery 函数

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


XQuery 内建函数

XQuery 函数命名空间的 URI:

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

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

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

您可以在我们的 XPath 教程中找到完整的《内建 XQuery 函数参考手册》。


函数调用实例

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

例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 返回的数据类型
{
 ...函数代码...
}

关于用户自定义函数的注意事项:

  • 请使用 declare function 关键词
  • 函数名须使用前缀
  • 参数的数据类型通常与在 XML Schema 中定义的数据类型一致
  • 函数主体须被花括号包围

一个在查询中声明的用户自定义函数的例子:

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>

http://www.lryc.cn/news/13357.html

相关文章:

  • Elasticsearch的安装及常用操作
  • 网络安全应急响应服务方案怎么写?包含哪些阶段?一文带你了解!
  • 11、事务原理和实战,MVCC
  • Robust Self-Augmentation for Named Entity Recognition with Meta Reweighting
  • Java基础-xml
  • TCP的Nagle算法和delayed ack---延时发送和延时应答与稍带应答选项
  • 智能拣配单解决方案
  • 如何防御入侵服务器
  • [软件工程导论(第六版)]第4章 形式化说明技术(课后习题详解)
  • Premiere基础操作
  • Prometheus监控案例-tomcat、mysql、redis、haproxy、nginx
  • 如何寻找SAP中的增强
  • 算法刷题打卡第95天: 最大平均通过率
  • Springboot扩展点系列之终结篇:Bean的生命周期
  • OnGUI Color 控件||Unity 3D GUI 简介||OnGUI TextField 控件
  • 【日刻一诗】
  • 设计模式 状态机
  • React源码分析(二)渲染机制
  • Object.defineProperty 和 Proxy 的区别
  • Python基础4——面向对象
  • Hive 核心知识点灵魂 16 问
  • 聊聊探索式测试与敏捷实践
  • 社区宠物诊所管理系统
  • Vue项目创建首页发送axios请求
  • Nginx
  • 2049. 统计最高分的节点数目
  • Docker 架构简介
  • 玄子Share-BCSP助学手册-JAVA开发
  • 利用React实现多个场景下的鼠标跟随框提示框
  • 【安全知识】——如何绕过cdn获取真实ip