XML实用教程 教学课件 ppt 范立锋 第6章 使用XSL格式化显示XML文件

上传人:E**** 文档编号:89355167 上传时间:2019-05-23 格式:PPT 页数:29 大小:206.50KB
返回 下载 相关 举报
XML实用教程 教学课件 ppt 范立锋 第6章  使用XSL格式化显示XML文件_第1页
第1页 / 共29页
XML实用教程 教学课件 ppt 范立锋 第6章  使用XSL格式化显示XML文件_第2页
第2页 / 共29页
XML实用教程 教学课件 ppt 范立锋 第6章  使用XSL格式化显示XML文件_第3页
第3页 / 共29页
XML实用教程 教学课件 ppt 范立锋 第6章  使用XSL格式化显示XML文件_第4页
第4页 / 共29页
XML实用教程 教学课件 ppt 范立锋 第6章  使用XSL格式化显示XML文件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《XML实用教程 教学课件 ppt 范立锋 第6章 使用XSL格式化显示XML文件》由会员分享,可在线阅读,更多相关《XML实用教程 教学课件 ppt 范立锋 第6章 使用XSL格式化显示XML文件(29页珍藏版)》请在金锄头文库上搜索。

1、第6章 使用XSL格式化显示XML文件,6.1 XSL的特点,6.2 XSL变换步骤,6.3 XSL的文件结构,6.6 其它常用XSL标记,6.4 XSL的模式语言,6.5 XSL的常用控制标记,6.1 XSL的特点,XSL通过路径的方式来定位数据,从而可以轻易地提取出特定的 数据。,XSL提供了循环、条件、选择等控制语句。从这方面讲,XSL更接 近于程序设计语言。,XSL文件是由标记组成的,是一种特殊的XML文件。,XSL不仅可以实现CSS的所有功能,还可以实现CSS做不到的功能。,XSL的内容涉及两个部分:变换语言(XSL Transformation,XSLT) 和格式化语言(XSL F

2、ormatting Objects,XSL-FO)。,返回,利用XSL来格式化XML文件需要通过下面的步骤:,6.2 XSL变换步骤,1.为需要显示的XML文件编写相应的XSL文件。,2.把XML文件和相应的XSL文件相关联。,3.应用程序会将其变换称为一个HTML文件。,XSL文件所采用的编码必须和对应的XML文件的编码一致,保存后的XSL文件的扩展名为“.xsl”。,XML文件关联XSL文件类似于关联CSS文件,需要在文件的开头加入下面一条语句:,应用程序(例如IE6.0)会自动将XML文件和相关联的XSL文件变换称为一个HTML文件。,返回,一个XSL样式文件的最基本的结构如下:,6.3

3、 XSL的文件结构, 内容描述 ,返回,6.4 XSL的模式语言,6.4.1 相对定位和绝对定位,6.4.2 XSL的路径匹配模式,返回,相对定位和绝对定位(1),绝对定位法,绝对定位法就是相对于文件的根给出一个路径来定位到数据,这个路径称之为绝对路径。,例如,计算机文件系统中路径“C:WINNTsystem32notepad.exe ”就是一个绝对路径。,用XSL格式化XML时,总是先定位到XML文件的根。文件的根用“/”表示。 所以,绝对路径以“/”开头,向后依次为各级子标记,各级标记用“/”隔开,代表父子节点关系。 例如:,/message/persion/name,XML文档的根标记是

4、“message”, “persion”标记是 “message”标记的子标记, “name” 标记是“persion”标记的子标记。,相对定位和绝对定位 (2),相对定位法,相对定位法是指相对于当前的位置来定位数据,这时的路径是一个相对路径。相对路径是一个相对位置的描述,表示从当前位置出发,通过这个相对路径,就可以找到特定的数据。,/message/persion/name/lxfs/tel,相对路径都不以“/”开始,“”表示上一级标记。例如:假设当前位置是“/message/persion” ,则路径“lxfs/tel”就表示相对于当前位置下的“tel”标记。代表的绝对路径是:,返回,XS

5、L的路径匹配模式(1),XSL的路径匹配模式就是通过一些条件的描述来选出特定的数据,有以下一些形式:,1使用任意深度匹配符“/”,2使用通配符“*”,3匹配标记的内容,4匹配标记的属性及子标记,5复合条件匹配,6使用集合索引函数,XSL的路径匹配模式(2),1使用任意深度匹配符“/”,该符号的作用是定位指定标记的后代标记中具有某些特征的标记,中间可以间隔任意级别的标记。例如:,/tel,表示从文件的根开始搜索,遇到“tel”标记就输出其标记的内容,与tel标记的具体位置没有关系。表示所有的“tel ”标记。而:,/lxfs/tel,表示具有父标记为lxfs特征的tel标记。,XSL的路径匹配模

6、式(3),2使用通配符“*”,通配符“*”表示任意名称的标记,它可以匹配任意标记。例如:,lxfs/*,表示标记lxfs的所有子标记。,注意:通配符“*”可以代替任意名称的标记,一个“*”只能代替一级标 记,如果是多级标记,可以用“message/*/*/tel”的形式,表 示的路径可以是“message/persion/lxfs/tel”等。,XSL的路径匹配模式(4),3匹配标记的内容,匹配标记的内容就是根据标记的某种特定内容来定位标记。例如:,message/persionname=小李,表示满足条件:标记persion的子标记name的标记内容为小李 。,两个运算符:“$any$”:表

7、示只要有一个标记满足条件。 “$all$”:表示所有的标记都要满足条件。,例如:,message/persion$any$name=小李,表示标记persion的子标记中只要有一个name的标记内容为小李 。,XSL的路径匹配模式(5),3匹配标记的内容,在这个模式下需要用到的关系运算符有:相等“=”、不等“!=”、小于“”和大于等于“=”。在XSL中,这些符号都有特殊的编码,见下表:,XSL的路径匹配模式(6),4匹配标记的属性及子标记,根据标记所具有的属性或子标记的不同来选出具有某些特征的标记。例如:,message/persionid,表示查找具有“id”属性且父标记为message的p

8、ersion标记。,message/persionid$eq$2,表示message标记的子标记中“id”属性值为2的persion标记。,message/persion*/tel,表示该路径下含有tel孙标记的persion标记。,XSL的路径匹配模式(7),5复合条件匹配,所谓的复合匹配条件,就是把前面所介绍的几种单一条件结合到一起,使之成为一个具有多重约束条件的一个语句。例如:,message/persion(age$gt$18)$and$($not$(sex$ieq$female),表示子标记age的内容大于18且子标记sex的内容不是female的persion标记。上面的语句还可以

9、写成:,message/persion(age$gt$18)$not$(sex$ieq$male),注意:只有逻辑与才可以分开写成几个方括号连接的形式。,XSL的路径匹配模式(8),6使用集合索引函数,在XSL中,使用各种条件来过滤数据,有时得到的结果可能不只一个。如果我们想取出其中的某一条记录,就需要使用集合索引函数。例如:,message/persionid$and$index()=1,表示取出来的是第二条记录。,集合索引函数包括index()和end()。index()表示当前一组标记中的第几个,0表示第一个。end()表示当前一组标记中的最后一个。,返回,6.5 XSL的常用控制标记,

10、6.5.1 循环标记,6.5.2 选择标记,6.5.3 选择标记,6.5.4 求值标记,返回,循环标记,允许循环处理满足由select属性中指定的匹配条件的标记。标记还有一个属性order-by,该属性用来给满足条件的一组标记排序,例如:, ,表示循环遍历persion标记内容,并按name标记和age标记内容排序。排序的方法是:先按照name标记的内容进行排序,如果name标记的内容相同,再按照age标记的内容进行排序。如果不使用order-by属性,则以XML文件中出现的顺序排序。,返回,选择标记,与其他程序设计语言相似,根据某个逻辑条件来决定程序是否执 行。例如:, , ,还可以写成:,

11、注意:标记中,属性test是必选属性,用来设置过滤条件。,返回,选择标记,标记只能判断满足某个条件时需要做哪些事情,而不满足的情况则无法处理。也就是说,在XSL里没有“if-else”结构。标记则可以做到多选一的功能,例如:, 男 未知 ,标记含有两个子标记和,一个标记可以含有多个子标记,每个表示一种情况,一般最后有一个子标记,表示如果前面的情况都不满足,则执行里的动作。,返回,求值标记,这个标记不但可以取到某个标记的值,还可以取到某个标记的某个属性的值。通过select属性来设定取值条件,如果满足条件的有多个记录,则输出这些记录中的第一条。例如:,第一条语句表示取出具有id属性且属性值为2的

12、persion标记的id属性值, 第二条语句表示取出具有id属性且属性值为2的persion标记的name子标记的标记内容。,如果只是输出当前标记的内容,则select属性可以省略。,返回,6.6 其它常用XSL标记,6.6.1 标记和标记,6.6.2 标记,6.6.3 标记,6.6.4 标记和标记,6.6.5 标记,返回,标记和 标记 (1),标记:,标记是XSL中的模板标记。模板(template)是XSLT中最重要的概念之一。XSLT文件就是由一个一个的模板组成,任何一个XSLT文件至少包含一个模板。模板定义的方法如下:,match属性:表示模板的匹配模式,是必选属性。一个模板可以匹配一

13、个 标记,也可以匹配多个标记,各个标记用“|”隔开。 name属性:为模板定义名称。一个XSL文件不能包含同名模板。 priority属性:表示模板的优先级编号。不考虑所有优先级低于最高优先级 的匹配模板规则。此属性的值必须是09的实数,正数负数 都可以。 mode属性:为模板规定模式。,各个属性的意义如下:,标记和 标记 (2),标记:,标记是XSL中的模板调用标记。标记的使用方法如下:, 其他语句 ,标记含有两个属性“select”和“mode”。“select”属性是可选属性,定位到要处理的标记。星号“*”表示选取所有标记。如果省略该属性,则将选取当前标记的所有子标记。“mode”属性也

14、是可选属性,用来区分XSL文件中为相同标记定义的多个处理方法的模板。,返回,标记,标记表示在输出中创建一个与当前节点的名称、命名空间和类型相同的标记,属性和子元素不会自动复制。该标记必须在模板中使用。格式如下:,将会被替换为“”。, 文本内容 ,或,后者,相应部分会被替换为“文本内容”,返回,标记,标记用来给XSL文件添加注释,该标记所标记的内容就是注释的内容。XSL处理器会忽略其标记的内容,不做任何处理。 例如:, 该模板输出XML文件中名称为name的标记的内容,样式为1号标题 ,返回,标记和标记 (1),标记,标记用于在XSL文件中添加脚本,例如:JavaScript、VBScript等

15、,这也是XSL的特色之一。通过脚本的使用,可以使XSL在不同的语言之间进行数据转换。标记的用法为:, 脚本内容 ,例如:, function date() today=new Date(); month=today.getMonth()+1; day=today.getDate(); year=today.getYear(); return year+“年“+month+“月“+day+“日“; ,标记和标记 (2),标记,标记用于执行脚本。 例如:,date(),运行结果如图所示:,返回,标记(1),标记的作用是代替模板中的HTML标记,格式为:, 内容 ,例如:,可以写成如下形式:,标记(2),在使用标记时,还可以添加子标记,表示为相应的HTML标记添加属性。例如:, yellow ,表示:,返回,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号