2005年XQuery工业使用现状深度调查报告

2005 XQuery工业使用现状调查

 
        DataDirect是美国一家XML相关工具产品提供商,日前发布了一份XQuery使用调查,据称是第一份关于XQuery的深度工业调查,让我们看看,这份调查报告的内容:
 

1. XQuery的采用率

       对550位软件专业人士的调查显示,XQuery的采用率已经在猛增。对于这个问题:“你使用XQuery有多久了”,回答如下:
        52%的人表示,他们已经开始使用XQuery,另有33%的人表示会在2005年开始使用XQuery,对于一个尚未成为最终标准的规范来说(XQuery目前仍处于工作草案阶段,有望在2006年成为推荐标准),这个比例也确实难能可贵。
 

2. 谁在使用XQuery?

        关于使用使用XQuery的人员比例,由下图表示:
        结果显示,XQuery的使用者构成广泛,包括开发人员、技术经理、高级管理者和教育部门人士。很明显,XQuery已经不再仅仅是学术象牙塔中产物,也不是某些“高人”们的专利。
 

3. XQuery适合什么样的公司?

        XQuery是一门企业级的技术吗?它能应用于较小规模的公司吗,调查中有一个问题是“你的公司多大?”,结果如下所示:
        可以看出,XQuery的用户分布比较均匀,大、中、小公司相差无几。
 

4. 什么行业在使用XQuery?

        为了了解使用XQuery的行业情况,调查了这个问题:“贵公司属于什么行业?”,结果如下:
        比例最高的是IT咨询公司,其次是软件厂商,这显示了XQuery良好的前景,一般来说,对于新技术,IT公司的嗅觉最灵敏,IT公司将起到良好的带动作用,同时,软件厂商的支持也使得XQuery相关的产品和工具将会越来越多,这些工具无疑有利于XQuery的学习、使用和推广。而学术界的高比例也说明了XQuery在教育和培训方面大有工作可做。出了这三个行业外,最集中的行业就是政府、金融和电信行业,而这三个行业恰好就是对基于XML的数据集成方案最为需要的行业,很明显,XQuery被认为是这些方案的不二选择。
 

5. 为什么选择XQuery?

        那么推动XQuery变革的力量到底是什么?为什么这些用户选择了XQuery?对于问题:“您使用XQuery的主要原因是什么?”回答如下:
  • 简化XML数据访问和转换。43.1%的调查者说XQuery简化了XML数据的访问和转换——目前大量数据以XML格式存在,但是在XQuery的出现之前,一直没有易于使用的技术来查询、访问及操纵XML数据,而XQuery容易阅读和理解,而且它的语法对于数据库开发者来说也不陌生。
  • 紧凑而简洁的语法和编程风格。1/3的人把原因归于他们喜欢XQuery紧凑而简洁的语法和编程风格——这一点与DataDirect的一个非正式的测试结果不谋而合,经测试,对于涉及查询和转换XML数据源的各种常见用例,完成相同的功能,XQuery表达式的代码是XSLT的1/5和低级DOM方式的1/20。
  • 统一各种易质数据源。第三个原因是XQuery能用来应对很多数据集成的挑战,24.5%的调查者认为XQuery能跨越多个异质数据源的能力是他们青睐的主要原因。
  • 其他。在“其他”原因中,有XQuery遵循W3C标准,对互操作性的提升以及更好的应用系统性能。可以预见,当XQuery被W3C确定为推荐标准之后,这些优势将更加明显。

 6. 结论

        XQuery如此高的使用率(73%)不能不让人侧目。深入分析发现,XQuery开发者有着广泛的技术背景,分布于各种不同规模的公司,而且存在于很多垂直行业中,他们对于XQuery提供的生产力有着清晰的需求。最后,结果还显示,XQuery标准有着广泛的支持者和深厚的群众基础。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中使用xQuery可以通过以下步骤实现: 1. 引入xQuery解析器:Java中可以使用Saxon或XMLStarlet来解析xQuery语句,需要在项目中引入相关的jar包。 2. 创建xQuery查询语句:使用xQuery语言编写需要执行的查询语句。 3. 创建XML文档:将需要查询的XML数据存储在一个XML文件中。 4. 解析XML文档:使用Java中的DOM或SAX解析器解析XML文档。 5. 执行xQuery查询:将查询语句传递给xQuery解析器,并执行查询操作。 6. 处理查询结果:解析器返回查询结果,Java程序可以将结果存储在内存中或输出到文件等。 以下是一个使用Saxon解析器执行xQuery查询的Java示例代码: ```java import net.sf.saxon.s9api.*; public class XQueryExample { public static void main(String[] args) throws SaxonApiException { // 创建xQuery查询语句 String xquery = "for $x in doc('example.xml')//book where $x/price>30 return $x/title"; // 创建Processor和XQueryCompiler对象 Processor processor = new Processor(false); XQueryCompiler compiler = processor.newXQueryCompiler(); // 编译查询语句 XQueryExecutable exec = compiler.compile(xquery); // 创建XQueryEvaluator对象 XQueryEvaluator query = exec.load(); // 解析XML文档 DocumentBuilder builder = processor.newDocumentBuilder(); XdmNode doc = builder.build(new File("example.xml")); // 设置查询上下文 query.setContextItem(doc); // 执行查询并处理结果 XdmValue result = query.evaluate(); for (XdmItem item : result) { System.out.println(item.getStringValue()); } } } ``` 以上代码中,使用Saxon解析器执行了一个xQuery查询,查询了一个XML文档中价格大于30的书籍的标题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值