XQuery迎来黄金时代

日期: 2008-01-01 作者:Ed Tittle 来源:TechTarget中国 英文

基于XQuery的应用提供了除XSLT之外,一个更直接、显性的处理替代方案,并且几乎可以应用于所有的应用程序。   熟悉XML应用的用户应该知道,现有的XSLT(可扩展样式单语言转换)是将XML文档作为输入并转化为其他格式输出(例如用于网络传输的HTML和XHTML)、或转换为其他XML格式或Schema时,唯一完全支持的标准。但是尽管XML Query(XQuery)标准还停留在工作的草案阶段,来自W3C和XML2004会议的报告都暗示着XQuery现在已经足够值得人们去关注,并去深入的了解。   总的来说,XQuery提供了一种更为程序化、更清楚直接的方法,方便用户进行查询XML文档输入,……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

基于XQuery的应用提供了除XSLT之外,一个更直接、显性的处理替代方案,并且几乎可以应用于所有的应用程序。

  熟悉XML应用的用户应该知道,现有的XSLT(可扩展样式单语言转换)是将XML文档作为输入并转化为其他格式输出(例如用于网络传输的HTML和XHTML)、或转换为其他XML格式或Schema时,唯一完全支持的标准。但是尽管XML Query(XQuery)标准还停留在工作的草案阶段,来自W3C和XML2004会议的报告都暗示着XQuery现在已经足够值得人们去关注,并去深入的了解。

  总的来说,XQuery提供了一种更为程序化、更清楚直接的方法,方便用户进行查询XML文档输入,抓取相关数据和操作结果以创建不同格式的输出形式,包括XHTML和HTML或其他格式等操作。对于某些应用程序来说,实际上,当这些应用程序打开文档、检索内容并操作结果记录时,XQuery已逐渐成为可行的替代XSLT的方案。

  实际上,一些长时间分析XQuery以及对比它和XSLT的专家说,XSLT如果是JavaScript,那么XQuery就是Java。这是他们隐含的表达由XSLT处理器和相关的与XSLT标记一起工作的数据输入体系的支持。简短的说,负责处理XQuery的引擎和XML Schema一起工作,它使用清楚地数据输入技术编制文档查询,数据获取和更方便的输出。

  像Saxon(同时支持XSLT和XQuery)和Qizx/open(只支持XQuery)这样的工具,可以用来处理XQuery文档,以一系列指令、伴随着命令行(Shell)输入和参数,选择要操作的文档,并选择要执行的特定操作。尽管在输入和创建输出过程中,XSLT提供了很多隐性的支持和内建的操作方便进行应用转换,但是XQuery提供的(同时也是必需)显性的处理控制和处理指令将更为强大。

  XQuery进行文档处理的基本准则被称作FLWOR表达式,它指代的是:

  For,用来驱动在一个输入文档或输入流中对物件或结点序列的处理;
  Let,用来声明和初始化在处理过程中需要使用的变量;
  Where(可选),允许用户指定特定的条件,来选择欲操作的条目或结点;
  Order(可选),将选中的节点或条目按照某种特定的顺序排列;
  Return,为每一个从输入中选择的节点或条目返回一个特定的值(可以是计算、比较或其他传输和选择的结果);

  这种类型的结构带来了难以想象的细节化、显性化和具体化的处理控制。任何完整的FLWOR表达式必须保护至少一个For或Let元素,而根据文档类型或输出需求的不同,所获得的细节也会有所差异。在所有的这些XQuery语法中,一些起源于它的设计特性,而剩下的则来自执行XQuery处理的引擎。

  基于XQuery的应用提供了除XSLT之外,一个更直接、显性的处理替代方案,并且几乎可以应用于所有的应用程序。但它最吸引人的地方在于,顾名思义,XQuery更强调的是交流——当与一组记录结构或其它拥有良好结构的数据被查找、匹配、排序和输出时实际上是对特定的查找或输出需求的回应。

相关推荐