ITPUB??ì3
ITPUB论坛 » 开发工具和语言 » .NET软件架构与模式 » 关于xpath ,xslt,和xquery之间的关系

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: 关于xpath ,xslt,和xquery之间的关系
离线 laofuzhou
初级会员



精华贴数 0
个人空间 0
技术积分 44 (30296)
社区积分 0 (131578)
注册日期 2004-8-2
论坛徽章:0
      
      

发表于 2004-8-5 10:53 
关于xpath ,xslt,和xquery之间的关系

以及现在应用和现状,
谁可以说说哦/


只看该作者    顶部
离线 firefly
初级会员



精华贴数 0
个人空间 0
技术积分 62 (23621)
社区积分 0 (123662)
注册日期 2004-7-9
论坛徽章:0
      
      

发表于 2004-8-5 22:00 
XPath
是处理 XML 文档部分的一种语法和处理模型。它包括一些通用表达式语言的特性,被设计成一种小型的语言,以便在 XML 系统中进行应用程序中立的处理。比如,可以使用 XPath 定位文档中所有的节标题元素。
现在最新的版本是2.0(开发中),不过据说庞大而复杂,目前应用最多的是1.0

XSLT
是一种转换语言,描述从输入 XML 文档到输出树的转换。比如,输出树可以是 HTML 文档的形式也可以是另一种 XML 格式。因此,XSLT 可以作为把 XML 呈现为遗留浏览器显示格式的语言,也可以保持格式不变作为对 XML 文件操作的语言。转换本身使用一种专门的词汇表定义为 XML 文档。
现在最新的版本也是2.0(开发中)。由于2.0对XPath 2.0依赖较大,所以目前应用最多的是1.0

XQuery
是一种用于查询 XML 数据源——文档和数据库——的规范。XQuery 是一种非常复杂的编程语言,组成了 XPath 的一个超集。
目前版本1.0,XQuery 是与 XPath 2.0 一起开发的,和XPath 2.0同样复杂性,目前很少应用,不过随着XML各方面应用越来越广泛,XQuery 和XUpdate 将会是XML中相当重要的一部分,有空了解一下吧。


简言之,XPath 是XSLT 的核心,而XSLT是一种 XML 转换语言,而XQuery是基于XPath上的。单独的 XPath 位置路径本身就是有效的 XQuery, 例如“Cargo/Air Cargo” 就意味当前所有的Air Cargo。而XQuery具有类似于 SQL 的外观和能力:
let $Consignment := /Cargo/Air Cargo
   return
      <CONSIGNMENT>
      {
         $Consignment
      }
      </CONSIGNMENT>

返回Air Cargo的值。

又如:
<results>
   {
      for $book in //book
      let $authors := $book/author
      return
         <book authorCount={ count($authors) }>
         {
            for $author in $authors
            return
               <author>{ $author/last/text() }</author>
         }
         </book>
   }
   </results>


只看该作者    顶部
离线 itsuperman
版主



精华贴数 1
个人空间 0
技术积分 979 (1903)
社区积分 12 (9605)
注册日期 2001-11-9
论坛徽章:3
ITPUB元老管理团队2006纪念徽章授权会员   
      

发表于 2004-8-5 23:49 
谢谢firefly这么好的解释, 大家给点掌声鼓励


__________________
我喜欢X元素, 因为它代表一种未知.所以我衷情于XML.itsuperman22@hotmail.com
只看该作者    顶部
离线 itsuperman
版主



精华贴数 1
个人空间 0
技术积分 979 (1903)
社区积分 12 (9605)
注册日期 2001-11-9
论坛徽章:3
ITPUB元老管理团队2006纪念徽章授权会员   
      

发表于 2004-8-5 23:54 
我觉得XQuery的特点和XSLT所提供的真的有很多相似, 甚至有功能上的重叠, XSL和XML Query工作组也正在一定程度上处理这些问题,
我想在XSLT2.0和XPATH2.0, 他们之间的差距可能会越来越小


__________________
我喜欢X元素, 因为它代表一种未知.所以我衷情于XML.itsuperman22@hotmail.com
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问