Marklogic学习 由浅入深(C)—— Marklogic的方言XQuery Dialects

摘要: XQuery规范遵循W3C的标准,Marklogic8遵从了W3C对XQuery1.0的语法建议。为了让Marklogic能最大化的兼容XQuery并通过一个简单的配置就能实现扩充,Marklogic Server支持三种不同的方言。

方言

第一次在编程中接触方言Dialect,是在Hibernate配置中。Hibernate根据你选择的“方言”(DB2Dialect、MySQL5Dialect、OracleDialect),针对每种数据库,作调整,如生成不同的SQL语句等。Marklogic 的方言和这个还是有点不太一样,更像是一种Prologue

XQuery 1.0-ml

Marklogic增强模式方言。可以在xquery文件的第一行用如下声明开启:

xquery version "1.0-ml";
  1. 声明中分号是必须的
  2. 可以使用分号隔离事务
  3. 适用 XQuery 1.0 语法
  4. 支持所有Marklogic内建函数
  5. 增加了try{expression}catch(variable){expression}语法
  6. 增加了validate as语法
  7. 简写的定位语法 Positional Predicate Syntax (1, 2, 3, 4, 5, 5)[1 to 3]
  8. 支持private语法 declare private function ....
  9. 函数映射 function mapping 默认开启
  10. 预定义命名空间:cts、dav、dbg、dir、err、error、fn、local、lock、map、match、prof、prop、sec、sem、spell、xdmp、xml、xmlns、xqe、xqterr、xs

XQuery 0.9-ml

MarkLogic Server 3.2兼容性方言。可以在xquery文件的第一行用如下声明开启:

xquery version "0.9-ml"
  1. 声明不需要分号
  2. MarkLogic Server 4.0适用
  3. 不能使用函数映射 function mapping
  4. 预定义命名空间:cts、dav、dbg、dir、err、error、fn、lock、map、match、prof、prop、sec、spell、xdt、xdmp、xml、xmlns、xqe、xqterr、xs

XQuery 1.0

严格模式方言。可以在xquery文件的第一行用如下声明开启:

xquery version "1.0";
  1. 分号是必须的
  2. 与其他的 XQuery 1.0处理器兼容
  3. 要使用Marklogic内建函数,需要手动指定命名空间declare namespace xdmp = "http://marklogic.com/xdmp";
  4. 函数映射 function mapping 默认关闭,使用declare option xdmp:mapping "false";开启
  5. 预定义命名空间:err、fn、local、xml、xmlns、xs

在构建APP的时候,我们可以选择默认的xquery版本,默认选择的是1.0-ml
default

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cj96248

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值