xml课件--第6章_XSL样式单
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为什么要用XSLT 为什么要用XSLT
(1).将数据和表达形式分离。 (1).将数据和表达形式分离。就象天气 将数据和表达形式分离 预报的信息可以显示在不同的设备上, 预报的信息可以显示在不同的设备上, 电视,手机或者其它。 电视,手机或者其它。 (2).在不同的应用之间传输数据。 (2).在不同的应用之间传输数据。电子 在不同的应用之间传输数据 商务数据交换的与日俱增使得这种需求 越来越紧迫。 越来越紧迫。
XSLT如何转换 XSLT如何转换XML 如何转换XML
XSLT如何转换 XSLT如何转换XML 如何转换XML
将XML文档输入,用XSL作为模板,通 XML文档输入,用XSL作为模板,通 过转换引擎,最终输出需要的HTML文 过转换引擎,最终输出需要的HTML文 档。 在具体应用中,有专门的软件来实现这 个转换过程,名为XML Processor。目 个转换过程,名为XML Processor。目 前已经有很多 Processor 软件(下面将详 软件( 细提到),在IE5.5中也已经内嵌了XML 细提到),在IE5.5中也已经内嵌了XML Processor。 Processor。
一个实例
例子1: 例子1: "Hello, world!“ world!“ 第一步:建立要输入XML文档hello.xml。 第一步:建立要输入XML文档hello.xml。 <?xml version="1.0" encoding="iso-8859encoding="iso-88591"?> <greeting>Hello, world!</greeting> 这是一个很简单XML文档,只包含一个节点的 这是一个很简单XML文档,只包含一个节点的 XML结构树。 XML结构树。
为什么要用XSLT 为什么要用XSLT
我们应该知道,XML是一种电脑程序间 我们应该知道,XML是一种电脑程序间 交换原始数据的简单而标准的方法。 交换原始数据的简单而标准的方法。它 的成功并不在于它容易被人们书写和阅 更重要的是, 读,更重要的是,它从根本上解决了应 用系统间的信息交换。因为XML满足了 用系统间的信息交换。因为XML满足了 两个基本的需求: 两个基本的需求:
第六章 XSL样式单 XSL样式单
1、XSLT的概念 XSLT的概念 2、XSLT的实例 XSLT的实例 3、XSLT的元素语法 XSLT的元素语法
1、XSLT的概念 XSLT的概念
什么是XSLT 什么是XSLT 为什么要用XSLT 为什么要用XSLT XSLT的历史 XSLT的历史 什么是XPath 什么是XPath XSLT和CSS的比较 XSLT和CSS的比较 XSLT和 XSLT和IE5
什么是XPath 什么是XPath
XPath是XSLT的重要组成部分 XPath是XSLT的重要组成部分 我们首先来了解一下XSL系列的"家族" 我们首先来了解一下XSL系列的"家族" 关系。如下图:
什么是XPath 什么是XPath
XSL在转换XML文档时分为明显的两个 XSL在转换XML文档时分为明显的两个 过程,第一转换文档结构;其次将文档 格式化输出。这两步可以分离开来并单 独处理,因此XSL在发展过程中逐渐分 独处理,因此XSL在发展过程中逐渐分 裂为XSLT(结构转换) XSL裂为XSLT(结构转换)和XSLFO(formatting objects)(格式化输出)两 objects)(格式化输出) 种分支语言,其中XSL-FO的作用就类似 种分支语言,其中XSL-FO的作用就类似 CSS在HTML中的作用。 CSS在HTML中的作用。
XSLT和CSS的比较 XSLT和CSS的比较
(3) CSS不能统计计算元素中的数据; CSS不能统计计算元素中的数据; 不能统计计算元素中的数据 换句话说,CSS只适合用于输出比较固定的最终文 换句话说,CSS只适合用于输出比较固定的最终文 CSS的优点是简洁 消耗系统资源少; 的优点是简洁, 档。CSS的优点是简洁,消耗系统资源少;而XSLT 虽然功能强大,但因为要重新索引XML结构树 结构树, 虽然功能强大,但因为要重新索引XML结构树,所 以消耗内存比较多。 以消耗内存比较多。 因此,我们常常将它们结合起来使用,比如在服务 因此,我们常常将它们结合起来使用, 器端用XSLT处理文档 在客户端用CSS来控制显示 处理文档, 来控制显示。 器端用XSLT处理文档,在客户端用CSS来控制显示。 可以减少响应时间。 可以减少响应时间。
第二步:建立XSLT文档hello.xsl。提示:默认的 第二步:建立XSLT文档 文档hT文件的后缀名为.xsl。 文件的后缀名为 <?xml version="1.0" encoding="iso-8859-1"?> encoding="iso-8859<xsl:stylesheet xmlns:xsl="/TR/WDxmlns:xsl="/TR/WD-xsl">
什么是XSLT 什么是XSLT
XSLT的英文标准名称为 XSLT的英文标准名称为eXtensible 的英文标准名称为eXtensible Stylesheet Language Transformation。 Transformation。 根据W3C的规范说明书 根据W3C的规范说明书 (/TR/xslt), (/TR/xslt),最早设 XSLT的用意是帮助 的用意是帮助XML文档 文档(document) 计XSLT的用意是帮助XML文档(document) 转换为其它文档。但是随着发展,XSLT已不 转换为其它文档。但是随着发展,XSLT已不 仅仅用于将XML转换为 转换为HTML或其它文本格 仅仅用于将XML转换为HTML或其它文本格 更全面的定义应该是: 式,更全面的定义应该是: XSLT是一种用来转换 XSLT是一种用来转换XML文档结构的语言。 是一种用来转换XML文档结构的语言 文档结构的语言。
XSLT和 XSLT和IE5
在XSLT草案发布不久,微软就在IE4中提供了 XSLT草案发布不久,微软就在IE4中提供了 支持XSL功能的预览版本,到IE5.0发布时, 支持XSL功能的预览版本,到IE5.0发布时, 正式全面支持XSLT,可是由于IE5发布的比 正式全面支持XSLT,可是由于IE5发布的比 XSLT1.0标准时间早,因此在IE5.0中支持的 XSLT1.0标准时间早,因此在IE5.0中支持的 XSTL功能和XSLT 1.0略有不同。好在微软的 XSTL功能和XSLT 1.0略有不同。好在微软的 IE5.5中执行的标准已经和W3C的XSLT1.0基 IE5.5中执行的标准已经和W3C的XSLT1.0基 本相近。但令人头疼的是IE5.0已经发行了几 本相近。但令人头疼的是IE5.0已经发行了几 百万套,您使用的XSLT很可能不能被客户的 百万套,您使用的XSLT很可能不能被客户的 浏览器正确执行。目前XSLT 1.1仍在发展中, 浏览器正确执行。目前XSLT 1.1仍在发展中, W3C及有关组织也在和微软协商争取获得统 W3C及有关组织也在和微软协商争取获得统 一。
XSLT和CSS的比较 XSLT和CSS的比较
CSS同样可以格式化XML文档,那么有了CSS CSS同样可以格式化XML文档,那么有了CSS 为什么还需要XSLT呢?因为CSS虽然能够很 为什么还需要XSLT呢?因为CSS虽然能够很 好的控制输出的样式,比如色彩,字体,大 小等,但是它有严重的局限性,就是: (1) CSS不能重新排序文档中的元素; CSS不能重新排序文档中的元素; (2) CSS不能判断和控制哪个元素被显示, CSS不能判断和控制哪个元素被显示 不能判断和控制哪个元素被显示, 哪个不被显示; 哪个不被显示;
2、XSLT的实例 XSLT的实例
XSLT如何转换XML XSLT如何转换XML 一个实例 过程解析 XSLT的用途 XSLT的用途
XSLT如何转换 XSLT如何转换XML 如何转换XML
如果我们假设XML文档是一块大橡皮泥, 如果我们假设XML文档是一块大橡皮泥, XSLT就象是一个模子,用力一按,就做 XSLT就象是一个模子,用力一按,就做 出需要的形状来---符合不同需要的 出需要的形状来---符合不同需要的 HTML文档。 HTML文档。 具体看下面的过程示意图: 具体看下面的过程示意图:
什么是XSLT 什么是XSLT
XSL(eXtensible Stylesheet Language),XSL和XSLT从狭义上理 Language),XSL和XSLT从狭义上理 解是一样的,而按照W3C的标准, 解是一样的,而按照W3C的标准, 的标准 XSLT的说法更严格些 XSLT的说法更严格些。 的说法更严格些。
什么是XPath 什么是XPath
我们已经知道XML是一个完整的树结构文档。 我们已经知道XML是一个完整的树结构文档。在转 是一个完整的树结构文档 XML文档时可能需要处理其中的一部分 节点) 文档时可能需要处理其中的一部分( 换XML文档时可能需要处理其中的一部分(节点)数 那么如何查找和定位XML文档中的信息呢 文档中的信息呢, 据,那么如何查找和定位XML文档中的信息呢, XPath就是一种专门用来在 XPath就是一种专门用来在XML文档中查找信息的 就是一种专门用来在XML文档中查找信息的 语言。XPath隶属XSLT,因此我们通常会将XSLT 语言。XPath隶属 隶属XSLT,因此我们通常会将XSLT 语法和XPath语法混在一起 语法混在一起。 语法和XPath语法混在一起。 用一种比较好理解的解释:如果将XML文档看作一 用一种比较好理解的解释:如果将XML文档看作一 个数据库,XPath就是 就是SQL查询语言 如果将XML 查询语言; 个数据库,XPath就是SQL查询语言;如果将XML 文档看成DOS目录结构 XPath就是 目录结构, 就是cd,dir等目录 文档看成DOS目录结构,XPath就是cd,dir等目录 操作命令的集合。 操作命令的集合。
XSLT的历史 XSLT的历史
像很多其他XML家族成员一样,XSLT是由W3C起草和制定的。它的主 像很多其他XML家族成员一样,XSLT是由W3C起草和制定的。它的主 要发展历程如下: .1995年由James Clark提议; .1995年由James Clark提议; .1997年 月正式提案为XSL; .1997年8月正式提案为XSL; .1998年 月由Norman Walsh完成需求概要; .1998年5月由Norman Walsh完成需求概要; .1998年 .1998年8月18日XSL草案发布; 18日XSL草案发布; .1999年11月16日正式发布XSL 1.0推荐版本。 .1999年11月16日正式发布XSL 1.0推荐版本。 目前,XSLT仍然在快速的发展中,XSLT1.1的草案已经可以在W3C网 目前,XSLT仍然在快速的发展中,XSLT1.1的草案已经可以在W3C网 站(/TR/xslt11)上看到。 (/TR/xslt11)上看到。
为什么要用XSLT 为什么要用XSLT
为了使数据便于人们的阅读理解, 为了使数据便于人们的阅读理解,我们需要 将信息显示出来或者打印出来, 将信息显示出来或者打印出来,例如将数据 变成一个HTML文件 一个PDF文件 文件, 文件, 变成一个HTML文件,一个PDF文件,甚至 是一段声音;同样, 是一段声音;同样,为了使数据适合不同的 应用程序, 应用程序,我们必须有能够将一种数据格式 转换为另一种数据格式,比如需求格式可能 转换为另一种数据格式, 是一个文本文件,一个SQL语句 一个HTTP 语句, 是一个文本文件,一个SQL语句,一个HTTP 信息,一定顺序的数据调用等。 XSLT就是 信息,一定顺序的数据调用等。而XSLT就是 我们用来实现这种转换功能的语言。 我们用来实现这种转换功能的语言。将XML 转换为HTML,是目前XSLT最主要的功能。 转换为HTML,是目前XSLT最主要的功能。 最主要的功能