第五章 使用XSL格式化XMLppt课件

上传人:我*** 文档编号:151141814 上传时间:2020-11-12 格式:PPT 页数:70 大小:315.50KB
返回 下载 相关 举报
第五章 使用XSL格式化XMLppt课件_第1页
第1页 / 共70页
第五章 使用XSL格式化XMLppt课件_第2页
第2页 / 共70页
第五章 使用XSL格式化XMLppt课件_第3页
第3页 / 共70页
第五章 使用XSL格式化XMLppt课件_第4页
第4页 / 共70页
第五章 使用XSL格式化XMLppt课件_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《第五章 使用XSL格式化XMLppt课件》由会员分享,可在线阅读,更多相关《第五章 使用XSL格式化XMLppt课件(70页珍藏版)》请在金锄头文库上搜索。

1、第五章 XSLT,本章目标,XSL概述 讨论CSS和XSL的区别 识别、书写简单的XSL样式表 分析XSL的解析过程 了解基本的XSL结构、语法和函数 使用XSL转换XML文档为HTML文档,样式表简介,为什么需要样式表 XML数据本身并不包含数据显示的信息 什么是样式表 描述结构文档表现方式的文档 使用样式表的意义 数据或内容与表示层分开 W3C推荐的样式表标准: CSS级联样式表 XSL可扩展样式表,级联样式表CSS,什么是级联样式表CSS Cascading Style Sheets 针对HTML提出的样式表语言,现在同样可以很好地应用于描述XML文档的显示。 利用CSS,可以定义XML

2、文档中元素的显示效果。 如何引用CSS显示XML文档 ,CSS示例HelloCSS.xml, Hello, there! Good morning! How are you? ,xsampdoc color:navy; display:block greeting font-family: Arial;font-size: 32pt; width: 30em; color: red question font-size: x-large;color: black answer.ans font-size: 20pt;color: blue ,可扩展样式表XSL,XSL概述 XSL的基本结构 X

3、SL的基本语法 模式匹配与XPath表达式,7,XSL概述,XSL基本概念 XSL的全称是eXtensible Stylesheet Language,即可扩展样式语言,是目前用来设计XML文档显示样式的主要技术之一。 XSL主要由两部分组成,即数据转换语言XSLT和数据格式化语言XSL-FO。目前主要使用数据转换语言XSLT,可以根据需要把XML文档转换成任何一种基于文本格式的文档。 XSL样式表文档的内容完全符合XML的语法规定,因而可以将其看成是一种特殊的XML文档。,8,在显示XML文档时,XSL 样式表要比CSS样式表更具威力且更富弹性。XSL 样式表提供了对所有XML 组件(包括元

4、素、属性、注释和处理指令)的控制权,可以轻易排序和筛选XML 文档中的数据,并允许修改或新增信息。 一个XML文档链接相关的XSL样式表后,即可直接在IE 浏览器中打开,并按样式表指定的格式显示出文档内容。,9,XML文档结构树,XML文档的层次结构像是一颗倒挂的树,称为XML文档结构树。文档中的每一个组件,包括处理指令、注释或各个元素都是结构树中的一个节点。 XML文档结构树从代表整个文档的根节点开始,其下是XML文档声明及根元素等子节点,而在根元素之下则是各层次子元素构成的一系列子节点。 注意:根节点代表整个XML文档,而根元素则是指最上层的一个元素。,10,XSL文档的创建与应用,1XS

5、L文档的组成 XSL文档基本组成形式: ,11,说明: 在XSL文档的开头,需要有XML声明语句,文档中的每一个元素和标记都必须符合XML规范。 必须有由 xsl:stylesheet 开始的XSL样式表声明语句。 XSL文档的模板(template)用来规定XML文档中所匹配元素的输出内容和输出格式。一个XSL文档至少应包含一个与根节点匹配的模板。 W3C为XSL定义了若干个特定的元素或标记,包括:stylesheet、template等,用来实现对XML文档元素的显示格式进行控制。 在XSL文档中也可以使用各种HTML标记。,12,2XSL文档的创建,XSL文档以 .xsl为其文件扩展名,

6、与XML文档一样也是一种文本文件,可用任何一种文本编辑软件进行创建和修改。,13,3XSL文档的引用,在XML文档中引用XSL样式表的方法是在序言部分添加如下形式的指令: ,14,XSL与CSS的比较,(1)用途不同 (2)处理结果不同 (3)表现能力不同 (4)语法不同,什么是XSL CSSHTML XSLXML,IE5.5以上自带此xsl转换器,HTML,WORD,TXT文档,XSL家族,什么是 XSLT,XSLT 是一个可以将 XML 文档转换为其他 XML 文档或其他格式的 XML 应用程序,是XSL的一部分,有独立的命名空间 要执行 XSLT 转换,则需要以下组件: XML 文档 X

7、SL 样式表 XSLT 处理器 XSLT 处理器是一个将 XSL 样式表连接到 XML 文档的应用程序,XSL转换执行过程分析,XML文档 XSL文档 分析XSL代码的执行过程: 1:分别生成xml文件和xsl文件; 2:关联 3:使用IE打开时 IE会首先调用自带的xslt处理并将产生的html缓存进内存并显示该html,XSL的基本结构, ,1,XML声明,2,XSL声明,根元素必须是stylesheet,根标记必须有命名空间,3,XSL命名空间必须是http:/www.w3.org/TR/WD-xsl 或http:/www.w3.org/1999/XSL/Transform,http:/

8、www.w3.org/1999/XSL/Transform 基于推荐标准http:/www.w3.org/TR/WD-xsl 基于工作草案,xml文件关联到Xsl文件, 样式表的URI如果是文件名,该文件必须和XML文件在同一目录下, 如果是一个链接地址,该地址必须是有效的,样式表是格式良好的 XML 文档。 样式表的顶层元素如下所示: 要使 XML 文档与 XSLT 规范相容,则需要将以下元素添加到 XML 文档中:, ,XSL 样式表的结构,样式表的根元素, ,指明 XSL 样式表的位置,XSL模板,模板是XSL中最重要的概念,一个XSL文件至少含有一个模板。 模板用于规定附加于XML源文

9、档上的转换方式,存放一些样式信息。 使用模板的优点: 如同程序设计中的模块化设计 有利于人员分工、协作,模版标记, 模版内容 -要求标记匹配模式为全路径,告诉XSL处理器从XML文档中哪个标记开始寻找和提取数据。 模版内容由html标记和嵌入的xsl标记组成 一个样式表必须有根模版:,也就是根标记匹配的模式。处理器首先找到根模版才开始处理xsl变换,24,1、 张耀华 于文涛 2、姓名的模板内容 姓名的模板内容 姓名的模板内容 3、 海威教育 奥克电子 太平洋科技 汇通科技 提取奥克电子这个数据:模板内容 标记属性 标记属性=属性值,25,模式匹配与XPath表达式,XPath是专门用来在XM

10、L文档中查找信息的语言。 XML是数据库,XPath就是SQL语言 XML是文件系统, XPath就是目录导航命令 XSL的基本元素语句的select/match/test等属性通常把XPath表达式当作属性值,26,路径匹配roster/student/name,skill,27,举例说明几个标记匹配, 标记为name且有属性ID的节点 标记为name且有属性ID,ID属性值=101的节点 test7 标记为name,age,sex的节点 test6 xsl:temple match=“/namedesc” 标记为name且有子标记desc的节点,28,XPATH以根节点为class为例,设

11、XML从根开始的路径为Class/student/name,age,birthday 特定路径匹配: Match=“/”,代表匹配根元素 . 代表上一级元素 Match=“./student/name”,match=“class/student/name”等价 任意路径匹配: 通配符 * -匹配所有2级子元素(孙元素) match=“class/*/name/*” -所有2级子元素要求父元素为student match=“class/student/*” -匹配任意级别元素name, /name,任意级别name 但要求 其父元素为student /student/name -错误匹配模式:*

12、/student/name,student/name,29,位置匹配 test8,30,属性与属性值匹配 test7,31,亲属关系匹配,32,HTML与XSL的结合,HTML的标签可以直接在XSL文档中使用,利用HTML在显示方面的功能来为XSL服务。, Shally Beijing , nameaddress ,33,模板元素,使用template元素定义模板替换XML中指定元素: template有四个属性: match:指定模板样式与源文档的何种元素相匹配。根节点,属性值为“/”。 name:用于给模板起名。 mode:用于确定处理方式 prority:用于在相同的匹配间指定优先级。,

13、 ,34,使用apply-templates处理子节点,总是作为模板内容使用,通知XSLT使用模板转换子节点。 包含两个属性: select:用于指定需要处理的元素,如果没有指定select属性,处理器将按照XML中元素的出现顺序处理每一个元素。 mode:确定处理方式,区分多个模板规则(参照课本p106)。,注意:元素只是通知XSLT转换当前节点集的所有子节点,而实际转换则依赖于元素定义的模板。,35,使用value-of输出节点内容,用于输出XML节点的内容。 语法规则:, -用于选择元素值 -用于选择属性值,36, ,创建第一个模板,使用match指定对应于根元素root,指定对于roo

14、t的子元素message应用模板。处理器搜索整个XSL文档,查找匹配的模板,此为匹配message的模板,使用value-of取出to、content这两个元素的值, Tom Shally There is a meeting tomorrow. ,37,单一模板,只有一个模板,所有对XML文档的转换信息都在此模板中规定。, ,38,多模板,集成多个模板,模板间可互相调用。处理器以与根元素匹配的模板作为入口点,再根据模板间的关系进行匹配。, ,39, ,续上:,40,XSL对XML元素的定位,绝对定位:从XML文档的根/开始按照元素在文档树中的具体位置指定一个绝对的路径,以文档的根为参照物。

15、相对定位:从当前所处的元素开始,以当前元素为参照物,经定位的条件寻找到目标元素。, Tom Shally There is a meeting tomorrow. ,from元素的绝对定位:/root/message/from。 若当前所处元素是root,则from元素的相对定位:message/from,XSL模板示例, , 李白 静夜思 床前明月光,疑是地上霜。 举头望明月,低头思故乡。 王之涣 登鹳雀楼 白日依山尽,黄河入海流。 欲穷千里目,更上一层楼。 ,单个节点访问,用来取出XML文件中被选择的元素或属性的内容 语法: 当在根模板下使用时,代表循环找出所有匹配的值 Value-of select=“.” 等价于 value-of 不带select子句,输出当前节点及其所有后继节点的取值,输出指定节点的取值,用select属性进行限定,备注:见幻灯片下,示例1 (显示全部内容), , 李白 太白 怨情 美人捲珠簾,深坐蹙蛾眉。 但見淚痕濕,不知心恨誰? ,李白 太白 怨情 美人捲珠簾,深坐蹙蛾眉。但見淚痕濕,不知心恨誰?, 作者的字號: ,示例2 (显示部分信息)循环显示部分信息, 李白 太白 怨情 美人捲珠簾,深坐蹙蛾眉。 但

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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