sql - XQuery 中有动态绑定吗?
问题描述
我正在研究 XQuery 以及它如何与 SQL 一起用于查询 XML 文档,我了解到 XQuery 1.0 版不支持动态绑定或面向对象的设计,这意味着 XQuery 对于大型程序不是很有用。我可能弄错了,但 XQuery 3.0 中没有引入动态绑定吗?如果可以,你能举一个简单的例子吗?
解决方案
有高阶函数:
fn:function-lookup()返回具有给定名称和数量的函数,如果有的话。
表达式
fn:function-lookup(xs:QName('fn:substring'), 2)('abcd', 2)
返回 'bcd
'。
fn:function-name()返回由函数项标识的函数的名称。
表达式
fn:function-name(fn:substring#2)
返回fn:QName("http://www.w3.org/2005/xpath-functions", "fn:substring")
。(返回的 QName 的命名空间前缀是不可预测的。)。
fn:function-arity()返回由函数项标识的函数的元数。
表达式
fn:function-arity(fn:substring#2)
返回2
。
表达式
fn:apply(fn:concat#3, ["a", "b", "c"])
返回“abc
”。
推荐阅读
- mongodb - mongodb中有没有办法在多个级别进行分组
- sabre - GetReservationRS 有重复的 PRICEQUOTE 摘要 PQR 信息
- kendo-grid - 如何扫描剑道网格并获取每行数据?
- javascript - 使用firebase web在javascript中再次调用相同函数时如何清除旧数据
- html - 背景视频未在 iPad 设备中播放
- windows - 如何清除变量缓冲区而不在批处理脚本中删除它?
- mysql - SQLSTATE[40001]:序列化失败:1213 并发访问时 INSERT 触发器导致的死锁问题
- java - 如何在 dynamodb getItem 中应用过滤器
- git - 为什么在合并拉取请求时需要将开发分支合并到功能分支?
- android-studio - 从 Git 导入 Flutter 项目时的 Gradle 问题