第五章 XML Path.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 XML查询定位链接 5.1 概述 5.2 XPath 5.1 概述 随着XML的发展,XML文档的查询、定位、链接的相关技术规范相继出台。这些规范完善了XML技术体系,使XML技术健康、稳步发展。目前XPath、XLink、XPointer是W3C推荐的用于XML文档的查询链接和检索的规范。 XPath的目标是定义一种定位XML文档各部分的语言。XPath规范定义了两个主要部分:允许到XML文档各个部分的路径说明的表达式语法,另一部分是支持这些表达式的核心库基本函数。读者可以在/TR/2004/WD-xpath20中了解更多的内容。 5.1 概述 Xlink采用允许将任意元素标记为链接元素,可以将任意数量的本地资源和远程资源绑定在一起。在Xlink中,链接分为简单链接和扩展链接。扩展链接根据资源、定位符和arc来定义。 简单链接把资源、定位符和arc的功能合为一体。 XPointer 以XPath为基础,它提供了用于指向XML文档内部结构的语言,这个语言的表达式可以用作URI引用的一部分。XPointer是XML寻址的可扩展系统,XPointer由框架、element()、xmlns()、和xpointer()组成。Xpointer提供了完整Xpointer、纯名称和子序列三种定位模式, 5.2 XPath XPath是一个表达式语言,它允许一些数据值的处理,这些数据与XPath2.0 Data Model中定义的数据模型一致。这个数据模型提供XML文档以及原子值(如整数、字符串、布尔型,以及包含对XML文档和原子值两者中结点引用的序列等)的树型表示。一个XPath表达式的结果可以是结点的选择,这些结点来自输入文档,或来自原子值,或更普遍地来自数据模型所允许的任意序列。XPath的路径表达式提供了XML树的结点层次寻址方法。 XPath的主要目的是对XML1.0树的结点的寻址。XPath通过使用路径表示法在XML文档的层次结构中导航来获得结点的 5.2 XPath 名字。 考察例5.1的XML文档,该文档的各元素具有如下的树型结构。 5.2 XPath XPath对XML文档的抽象的逻辑的结构进行操作,即对图5.1中XML文档树结点之间的抽象结构和逻辑结构进行操作。这个逻辑结构就是在第3、4章详细已经讨论过的数据模型,它定义在XPath 2.0 Data Model中。 XPath设计成嵌入在宿主语言(如XSLT 2.0)中,而不独立使用。 在XPath规范中使用基本的EBNF(扩展的Backus-Naur范式)表示法,除非另外说明,空格在此语法中不重要。如:FunctionCall的语法定义为: FunctionCall?::=?QName ( (ExprSingle (, ExprSingle)*)? ) 5.2.1 使用XPath示例 为了能够较好的理解XPath,需要用一个使用XPath的例子来说明。下面是关于如何使用XPath的几个XSLT的程序片段,这些程序片段选自第9章的XSLT设计部分,这对于我们理解XPath是很有好处的。 下面是例5.1的XSLT程序的片段 (1)排序的程序段 ………… xsl:for-each select=scores/score xsl:sort select=computer order=”descending”/ tr td align=centerxsl:value-of select=num//td …… /tr /xsl:for-each ………… 5.2.1 什么是XPath 分析:在上面这段代码中,不论是xsl:for-each、xsl:sort还是xsl:value-of,反复使用了select属性,select属性后的表达式指明用于显示的XML文档内元素的路径和元素名,如xsl:for-each中的表达式select=“scores/score”,用来在上面的XML文档中查询根元素scores下的所有子元素score;xsl:sort/中的select=“computer”根据元素score下的computer子元素值进行排序;而xsl:value-of/中的select=“num”则给出元素score下的子元素num的值。 5.2.1 什么是XPath (2)求和程序段 xsl:for-each select=scores/score ………… td align=center colspan=3平均分/td tdxsl:value-of select=s

文档评论(0)

9885fp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档