版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021/3/91第六讲 初识XSL2021/3/92 XSL (全称是:可扩展的样式单语言,全称是:可扩展的样式单语言,the eXtensible Stylesheet Language)比比CSS样式单功能要强大的多。样式单功能要强大的多。XSL的一的一个主要的用途就是将个主要的用途就是将XML文档转换成文档转换成HTML格式的文件,然后再交付给浏览格式的文件,然后再交付给浏览器,由浏览器显示转换的结果。器,由浏览器显示转换的结果。2021/3/93CSS缺点缺点: 只能处理简单的、顺序固定的只能处理简单的、顺序固定的XML文件,不能处理复文件,不能处理复杂的、高度结构化的杂的、高度结构
2、化的XML文档。文档。XSL标准特点:标准特点: 是一种基于是一种基于X M L的语言,它被设计用来转换的语言,它被设计用来转换X M L文文档到另一种档到另一种X M L文档、文档、HTML文档或其他格式对象。文档或其他格式对象。XSL规范内容:规范内容: XSL转换:转换:XSLT XSL格式化对象:格式化对象:FO2021/3/94l建立一个建立一个XSL样式表文件样式表文件:l XSL遵循遵循XML的所有格式和规则。后缀的所有格式和规则。后缀名为名为.xsl, 也是由纯文本组成。也是由纯文本组成。l将将XSL样式表链接至样式表链接至XML文件文件: XML文件使用处理指令文件使用处理指
3、令xml-stylesheet来链接来链接XSL文件。文件。2021/3/95元素名元素名描述描述xsl:apply-imports应用从样式表中导入的模板规则应用从样式表中导入的模板规则xsl:apply-templates对当前节点或者当前节点的子节点应用模板规则对当前节点或者当前节点的子节点应用模板规则xsl:attribute生成一个属性生成一个属性xsl:attribute-set定义一个属性的集合定义一个属性的集合xsl:call-template调用一个已经命名的模板调用一个已经命名的模板xsl:choose用于多条件分支的选择用于多条件分支的选择xsl:comment创建一个注
4、释节点创建一个注释节点xsl:copy创建当前节点的拷贝创建当前节点的拷贝(不包括子节点与属性不包括子节点与属性)xsl:copy-of创建当前节点的拷贝创建当前节点的拷贝(包括子节点与属性包括子节点与属性)xsl:element生成一个元素节点生成一个元素节点xsl:fallback指定处理器遇到不支持的指定处理器遇到不支持的XSL元素时需要运行的代码元素时需要运行的代码xsl:for-each对节点集中的每一个节点进行循环对节点集中的每一个节点进行循环xsl:if用于条件判断用于条件判断xsl:import将一个样式表的内容导入到另一个样式表将一个样式表的内容导入到另一个样式表(导入者优先
5、权低导入者优先权低)xsl:include包含一个样式表的内容导入到另一个样式表中包含一个样式表的内容导入到另一个样式表中(优先权一样优先权一样)2021/3/96xsl:message输出一条信息输出一条信息xsl:namespace-alias在输出中为命名空间指定别名在输出中为命名空间指定别名xsl:number转换为数值转换为数值xsl:otherwise条件分支的一种条件分支的一种xsl:output指定文件的输出格式指定文件的输出格式xsl:param定义一个本地的或者全局的参数定义一个本地的或者全局的参数xsl:preserve-space指定空白的保留格式指定空白的保留格式xs
6、l:processing-instruction在输出中产生一条处理指令在输出中产生一条处理指令xsl:sort对输出结果排序对输出结果排序xsl:stylesheet包含其他样式表元素的文档元素包含其他样式表元素的文档元素xsl:template对指定的节点定义一个处理规则对指定的节点定义一个处理规则xsl:text在输出中生产文本在输出中生产文本xsl:transform定义一个样式表的根元素定义一个样式表的根元素xsl:value-of选择指定节点的值选择指定节点的值xsl:variable定义一个本地或全局的变量定义一个本地或全局的变量xsl:when用于多条件分支用于多条件分支xsl
7、:with-param定义模板传递的参数定义模板传递的参数2021/3/971.1.stylesheetstylesheet元素元素stylesheet元素是一个包含其他样式表元素的根元素,是元素是一个包含其他样式表元素的根元素,是命名空间被声明的地方。命名空间被声明的地方。元素的第一个属性是元素的第一个属性是XSLXSL的版本。第二个的版本。第二个属性是属性是xmlns:xslxmlns:xsl,用来控制用来控制XSLXSL转换推荐的命名空间。还转换推荐的命名空间。还有一个命名空间为有一个命名空间为/1999/XSL/Transform2021/3/98sty
8、lesheet元素有一下属性元素有一下属性:default-space 原文件的文本空白是否保留原文件的文本空白是否保留indent-result 在输出文档中的文本空白处理在输出文档中的文本空白处理language 设置嵌入于设置嵌入于XSL样式表中的脚本语言样式表中的脚本语言类型。类型。result-ns 输出部分的样式。输出部分的样式。2021/3/992. template元素元素 template元素元素用用match属性从属性从XML选取满足条选取满足条件的节点,征对这些特定的节点形成一个特定件的节点,征对这些特定的节点形成一个特定输出形式的模板。输出形式的模板。XSL样式表中可以
9、有很多样样式表中可以有很多样板规则,每个必须包含在板规则,每个必须包含在和和之间。例如:之间。例如:2021/3/910有有2个属性:个属性:match 确定什么样的情况下执行此模板。确定什么样的情况下执行此模板。作为一种简化的说明,作为一种简化的说明,它的值是一个模式或X P a t h表达式表示应该使用哪一个节点的模板。更明确地说,任何更明确地说,任何X P a t h表达式返回表达式返回一个节点列表,与一个节点列表,与m a t c h属性值相匹配的节属性值相匹配的节点候选。点候选。language 确定在此模板中执行什么脚本确定在此模板中执行什么脚本语言,其取值与语言,其取值与HTML
10、中的中的SCRIPT标记的标记的LANGUAGE属性的取值相同,缺省值是属性的取值相同,缺省值是Jscript。2021/3/9113.value-of元素元素 获取来源树中对应节点的值,然后将值放到结果树中获取来源树中对应节点的值,然后将值放到结果树中,如果,如果select=“”,表示将目前对应元素的值显示出表示将目前对应元素的值显示出来。例如:来。例如: 2021/3/912 有一个叫做有一个叫做select的属性,它的值是一个的属性,它的值是一个XPath表达表达式式, ,就是定位节点树中节点的表达式。就是定位节点树中节点的表达式。如:如: H12021/3/913lXSL文件:文件:
11、ex23.xsllXML文件文件: ex23.xml2021/3/9146.2.1 用用for-each处理循环处理循环 如在如在XML中有这样的数据中有这样的数据:小禹小禹春华春华秋实秋实要读取这三个作者名字,是一个一个地按要读取这三个作者名字,是一个一个地按author/name方法来读取吗,可有多个这样方法来读取吗,可有多个这样的的name呀?如果有一种程序性的语句来循环呀?如果有一种程序性的语句来循环读取有多好啊!读取有多好啊!2021/3/915 XSL提供了这样的具有程序语言性质的语句:提供了这样的具有程序语言性质的语句:用它读取这三个作者名字的方法如下用它读取这三个作者名字的方法
12、如下: 属性属性select,顾名思义,选取,它可以选定顾名思义,选取,它可以选定XML中特定唯一的标记,也可以选择某一类中特定唯一的标记,也可以选择某一类相同的标记,我们称之为结点集。相同的标记,我们称之为结点集。2021/3/916见书上的例子见书上的例子:程序代码程序代码6-6与程序代码与程序代码6-72021/3/9176.2.2 应用模板应用模板 xsl:apply-templates应用样板规则,有应用样板规则,有select属性属性,用来设置只选取某些指定的子元素处理。例如:用来设置只选取某些指定的子元素处理。例如:2021/3/918见实例程序代码见实例程序代码6-82021/
13、3/919XSL程序程序:ex24.xslXML程序程序:ex24.xml2021/3/9202021/3/9212.匹配元素名匹配元素名2021/3/9223.匹配子节点匹配子节点2021/3/9232021/3/9244.匹配元素后代匹配元素后代2021/3/9255.匹配属性匹配属性2021/3/9266.通过通过ID匹配匹配2021/3/9277.匹配文本节点匹配文本节点2021/3/9288.匹配注释匹配注释2021/3/9299.匹配操作指令匹配操作指令2021/3/93010.使用使用”或或”操作符操作符2021/3/931Xml文件:文件:ex25.xmlDTD文件:文件:ex
14、25.dtdXsl文件:文件:ex25-1.xsl, ex25-2.xsl2021/3/9322021/3/9336.4.2 XPath轴线轴线2021/3/9346.4.3 基本的基本的XPath表达式表达式轴线轴线:元素元素测试测试轴线轴线:属性属性例子:例子:见书上表见书上表63,第,第227页。页。2021/3/9356.4.4 基本的基本的XPath缩写表达式缩写表达式表达式缩写self:node.parent:node.child:namenameattribute:namename/descendant-or-self:node()/例子:例子:见书上表见书上表65,第,第227页。页。2021/3/936Xml文件:文件:ex26.xmlXsl文件:文件:ex26.xsl2021/3/9372021/3/9386.5.2 字符串类型字符串类型2021/3/9392021/3/9406.5.3 数值类型数值类型2021/3/9416.5.4 布尔类型布尔类型函数函数描述描述语法语法boolean()转化为布尔类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度股权投资合同:甲方投资乙方公司的投资金额、股权比例等3篇
- 二零二五年度车辆包车保险合同规范3篇
- 二零二五版地下综合管廊安全防护质量保修合同3篇
- 二零二五版30万吨矿砂船船舶维修保养及配件供应长期合同3篇
- 二零二五版专业环保印刷保密合同3篇
- 二零二五年度网络直播平台运营与分成合同2篇
- 二零二五年环保搬运承包项目合同3篇
- 解除2025年度互联网金融服务合同3篇
- 二零二五版文化衍生品开发及销售合同范本3篇
- 二零二五版服装品牌管理公司员工劳动合同范本3篇
- 2025年中国高纯生铁行业政策、市场规模及投资前景研究报告(智研咨询发布)
- 2022-2024年浙江中考英语试题汇编:完形填空(学生版)
- 2025年广东省广州市荔湾区各街道办事处招聘90人历年高频重点提升(共500题)附带答案详解
- 中试部培训资料
- 硝化棉是天然纤维素硝化棉制造行业分析报告
- 央视网2025亚冬会营销方案
- 北师大版数学三年级下册竖式计算题100道
- 计算机网络技术全套教学课件
- 屋顶分布式光伏发电项目施工重点难点分析及应对措施
- 胃镜下超声穿刺护理配合
- 2024解析:第三章物态变化-基础练(原卷版)
评论
0/150
提交评论