第8章 可扩展路径语言XPath.ppt_第1页
第8章 可扩展路径语言XPath.ppt_第2页
第8章 可扩展路径语言XPath.ppt_第3页
第8章 可扩展路径语言XPath.ppt_第4页
第8章 可扩展路径语言XPath.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章 可扩展路径语言XPath,主要内容: Xpath的基本概念 Xpath的函数,8.1 Xpath的基本概念,一、什么Xpath 在XML树的转换过程中需要用到XPath按照W3C在XPath规范中的解释,XPath是在XSLT中用作对XML文档各部分进行定位的语言。, getX() displayError(); C+ How to program by Deitel Deitel ,上面XML文档含有根节点、注释节点、元素节点、属性节点、文本节点等。 图8-1 Xpath的定位和XSLT的转换,Xml 源文档,Xpath 定位节点和XSLT 转换,XML 结果 文档,XPath把一个

2、XML文档看成一个树,每一个XML的部位(如元素、属性或文本等)均可看作XML文档树的某一个节点。相应的节点类型也有多种,包括元素节点、属性节点和文本节点等。 XPath所提供的功能主要就是如何在XML文档树上定位这些节点。当在XML文档树上找到了与要求相匹配的节点时,通过XSLT将源文档中的匹配部分转换成结果文档。,二、表达式和定位路径 XPath的基本语法由表达式构成。在XPath通过计算表达式的值产生一个对象,该对象的取值为以下四种基本类型之一。 节点集合; 布尔型; 数字型; 字符串型。,一类重要的表达式是定位路径。表达式计算的结果是定位路径从上下文节点中选择的相关节点的集合。 定位路

3、径有两类: 相对定位路径 绝对定位路 1、相对定位路径:由一个或多个定位阶组成,其中用“”或“/”分隔。 ,2、绝对定位路径:最前面必须以“”开头,后面是可选的相对定位路径。其中“”表示选择文档的根节点。如果其后跟有相对定位路径,该定位路径将选择相对于根节点的节点集,例如: 从根节点开始,选择节点 CnGame下的Opponent 的子节点Coach的子节点下的 CoachNam元素。,三、定位阶 一个定位路径由用“/”分隔的一个或多个定位阶组成,而定位阶由轴、节点测试、谓词三个部分组成。如下面的例子: ,其中: “child:Opponentposition()=2/ child:Coach

4、/CoachName”是定位路径; child:Opponentposition()=2是其中 的一个定位阶; “child”是轴; “Opponent”为节点测试; “position()=2” 是谓词。,1、轴(AXeS) 定义了由定位阶选择的节点和当前节点之间的树型关系。如上述例子中的“Child”就是轴的名称,它表明是当前节点的子节点。 表8-l是轴名称及其对应关系列表。 2、节点测试 节点测试是对轴对应的节点集合进行测试,判断其是否为合适的节点。如果节点测试结果为真,则进行相应的操作。节点测试又可为表8-2所示的几种情况之一。,图与表表1.doc(轴名称及其对应关系列表) 图与表表2

5、.doc(节点测试分类表) 3、谓词 根据轴和节点测试得到初始节点后,可以由谓词来做进一步的过滤选择。谓词的形式是在方括号“”中加人谓词表达式。在对初始节点集合中的每个节点进行选择过滤时,根据该节点在集合中的位置判断谓词表达式。当表达式为真时选择该节点,否则不予选择。,如在child:Opponentposition()=2/ child:Coach/CoachName“中,方括号中的position()=2为谓词形式,表明选择XML文档树中的第二个Opponent节点下的子节点为Coach的CoachName节点。 在Xpath标准中,谓词函数分为以下几种类型: 节点集合函数 字符串函数 布

6、尔函数 数值函数 在82节中将详细讲述它们的用法。,四、定位路径举例 讲述完定位路径的基本概念后,下面讲述的是定位路径的一些具体实例。 在表8-3中给出了定位路径的一些实例。 图与表表3.doc(定位路径实例) 例EX8-1.xml 问题描述:显示2002年世界杯足球赛中国队所在小组的第1个对手的相关情况。,第一步,在第2 章中实例Ex2-6.xml的首行语句 ?xml version=“1.0” encoding=“GB2312”? 之后加人下面的一行语句: ?xml-stylesheet type=“text/xsl” href=“EX8-1.xsl”? 其余不变,并且将该文件另存为EX8

7、-1.xml。 第二步,建立EX8-1.xml对应的样式文件EX8-1.xsl文档。 例EX8-1.xsl,【注意】 一些资料中XML文档相应的XSLT文件采用的样式表结构: 已经过时,目前采用的是: 五、XPath的简缩语法 每一个定位路径都可以用简洁的语法来表示,表8-4列出了它们相对应的关系。 图与表表4.doc( XPath的简缩语法) 例EX8-2.xsl,8.2 XPath的函数,XPath除了提供一套用于定位XML文档各部分的语法之外,还包括一些函数,它们提供基本的数字运算、布尔运算和字符串处理功能。 一、节点集及其函数 所谓的节点集就是节点的集合。如表达式“Child:Oppo

8、nent/child:Coach”表明返回Opponent下Coach子节点下的所有节点的集合。 可以通过节点集函数选择相应的节点。节点集函数参见表8-5。,图与表表5.doc(节点集函数) 例EX8-3.xsl 二、字符串及其函数 XPath中字符串是由Unicode字符组成。表8-6列出了XPath中定义的字符串函数。 图与表表6.doc(字符串函数) 例EX8-4.xsl 三、布尔值及其函数 XPath中的布尔值为 true和 false。数值为 0的表达式和空字符串(“”)的布尔值为false,其余为 true。,在表达式中可通过灵活运用逻辑操作符产生布尔值,表8-7是逻辑操作符及其用法的说明。 图与表表7.doc(逻辑操作符) 图与表表8.doc(布尔函数) 四、数值及其函数 XPath中,数值是指宽度为64位的双精度浮点格式的数据类型。 表8-9列出了数值类型常用的操作符。 图与表表9.doc(数值函数) 图与表表10.doc(数值类型操作符),8.3 总结,本章我们讲述了如何在XSLT中灵活应用XPath

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论