2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

XQuery Java API JSR 225 发布公开预览版

  • 2007-07-04
  • 本文字数:1576 字

    阅读完需:约 5 分钟

JSR 225——XQuery API for Java——的第一个公开预览草案已经发布。其规范(由Oracle 领导)的目标在于为XQuery 的Java 实现提供标准的便捷的访问接口。XQJ 是一个通用的XQuery 数据访问框架,它在许多不同的XQuery 实现之上提供了一个统一的接口。

W3C 的 XQuery 是针对 XML 的查询语言。Wikipedia 对它的定义是,提供了用于抽取和操纵来自于 XML 文档或者任何可以视作 XML 的数据源(比如关系型数据库或者 office 文档)中数据的方式。XQuery 使用 XPath 表达式语法来解析 XML 文档中的特殊部分。 XQuery 的语法要求 之一是 Query 语言必须是方便人们读写的。现在 XQuery 语言既有一种方便人们阅读的语法,也有一种基于 XML 的语法。基于 XML 的语法开始于 XQueryX 1.0

用 Java 编写的基本 XQJ 表达式看起来是这样(源自规范):

...<br></br>// establish a connection to the XQuery engine<br></br>XQConnection conn = xqds.getConnection();<p>// create an expression object that is later used</p><br></br>// to execute an XQuery expression<br></br>XQExpression expr = conn.createExpression();<p>// the XQuery expression to be executed</p><br></br>String es = "for $n in fn:doc('catalog.xml')//item " +<br></br>"return fn:data($n/name)";<p>// execute the XQuery expression</p><br></br>XQResultSequence result = expr.executeQuery(es);<p>// process the result (sequence) iteratively</p><br></br>while (result.next()) {<br></br> // retrieve the current item of the sequence as a String<br></br> String str = result.getAtomicValue();<br></br> System.out.println("Product name: " + str);<br></br>}<p>// free all resources allocated for the result</p><br></br>result.close();<p>// free all resources allocated for the expression</p><br></br>expr.close();<p>// free all resources allocated for the connection</p><br></br>conn.close();<br></br>...
虽然 XQJ 规范是由 Jim Melton(Oracle)领导制定,但它的 JCP 专家组成员包括 Jason Hunter DataDirect BEA System 等等。除了 JCP 之外的行业领导者也一直遵循 XQJ 规范,贡献自己的思想,并为了统一而改善他们自己的产品。 Saxon 的创建者及 XPath 2.0 开发参考 的作者—— Michael Kay 写道 :> 这 是近一年来的第一个新版本,而且规范是在完全保密的情况下制定的,因此我很感兴趣它里面发生了什么。我原来并没有太多期望,因为我对于之前草案的多数评论 都被婉拒了(大约在我提交完的 8 个月后,而且没有任何公开的讨论)。但肯定的是,他们已经整理了很多细微之处,但总体设计并没有改变多少。(然而大多数应 用将不得不进行调整:不是重写,而是进行多处修改。这无疑说明了系统的兼容性并不好。)它还是坚定地基于客户机 - 服务器、面向连接的模 式,这样应用程序就存在于不同于数据库所在的那台机器上(就好像回到了上世纪八十年代!)……prepared 语句并不是线程安全的——你不能编译一个表 达式并让它在多个线程中同时运行,因为 XQPreparedExpression 持有它自己的动态执行上下文。

那有什么优点吗?是的,有一些。XPath 值(19 个基本数据类型)到 Java 对象的映射做得相当好——比 JAXP 好得多……这个版本还有针对所有 XPath 类型的 Java 表示……

还有,我认为还有一个可以做得更好……

W3C XQuery 规范和 8 个相关规范(包括 XSLT 2.0 XPath 2.0 )于 2006 年 6 月 8 日提交给 W3C。其中大多数更新于 2007 年 1 月 23 日。整个行业已经开始在他们的产品中使用 XQuery,甚至 JSR 170/Java 内容仓库也在使用它作为它们的标准访问机制。InfoQ 也一直在跟踪 XQuery 规范,XQJ 规范以及实现的发展。查看英文原文: http://www.infoq.com/news/2007/07/xquery-review

2007-07-04 21:261157
用户头像

发布了 127 篇内容, 共 46.2 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

端侧 AI 时代,每台家居设备都可以是一个 AI Agent丨Voice Agent 学习笔记

声网

大厂加码,小厂离席:DeepSeek驱动的MaaS之变

脑极体

AI

【每日学点HarmonyOS Next知识】获取资源问题、软键盘弹起、swiper更新、C给图片设置位图、读取本地Json

轻口味

HarmonyOS HarmonyOS NEXT

淘宝淘口令API接口全攻略

tbapi

淘宝API接口 淘宝口令接口 淘口令API接口

招标采购系统(源码+文档+讲解+演示)

深圳亥时科技

Tavus 发布对话轮次控制模型:能理解对话节奏和意图;百度推出 AI 情感陪伴应用月匣,整合 MiniMax 等模型丨日报

声网

DevEco Studio 联合小艺接入 DeepSeek,步骤更简单开发鸿蒙更专业

最新动态

【每日学点HarmonyOS Next知识】粘贴板、异步、用户权限、锁屏事件、对话框

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】底部弹窗、对话框不弹出、多模块间跳转、输入框不显示内容、Grid编辑顺序

轻口味

HarmonyOS HarmonyOS NEXT

天润融通走进蔚来汽车,探索AI在厂店一体化中的应用

天润融通

06.依赖倒置原则介绍

杨充

接棒DeepSeek,Manus带来AI Agent最新工程实践

小鲸数据

AI Agent #AI Manus

H5 APP的性能优化

北京木奇移动技术有限公司

软件外包公司 APP外包公司 APP开发公司

企业为什么需要建设零信任身份安全

芯盾时代

iam 零信任 统一身份管理平台

【运维实战分享】轻松搞定 SSL 证书管理,告别证书繁琐操作

外滩运维专家

运维 SSL证书 免费通配符 免费证书 免费ssl

原生APP的性能优化

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包公司

BOE(京东方)携手微博举办“微博影像年”年度影像大展 创新科技赋能专业影像惊艳呈现

爱极客侠

【每日学点HarmonyOS Next知识】对话框与导航冲突、富文本、字体大小、列表刷新、Scroll包裹文本

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】对话框去掉圆角、数组拼接、自定义对话框依附某个控件、平移动画、页面栈管理

轻口味

HarmonyOS HarmonyOS NEXT

兼职招聘平台(源码+文档+讲解+演示)

深圳亥时科技

家政服务平台(源码+文档+讲解+演示)

深圳亥时科技

AI颠覆数据分析!Google最新AI产品Data Science Agent让你秒变数据科学家

小鲸数据

AI 数据分析 数据科学 AI Agent 自动化分析

数据高质量与合规,守护AI模型的真实未来

澳鹏Appen

人工智能 内容审核 训练数据

接入手机后,DeepSeek难“转正”

脑极体

AI

两会布局的新兴和未来产业,用友一直在助力!

用友智能财务

AI 财经 用友 会计

时序数据库 IoTDB 为某大厂多领域物联网场景提供数字化管理基座

Apache IoTDB

XQuery Java API JSR 225发布公开预览版_Java_Abhay Bakshi_InfoQ精选文章