- 浏览: 73505 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
jinbo0120:
受教了,我还一直存在疑问呢,原来是1.5开始使用的...看来我 ...
5.0for循环 -
persistC:
1、到底在哪用cascade=&q ...
hibernate.hbm.xml总结 -
duanyong:
看到xml就烦。不知道为什么。嘿嘿。
hibernate.hbm.xml总结
1.XSLT的概念
1.1 什么是XSLT
1.2 为什么要用XSLT
1.3 XSLT的历史
1.4 什么是XPath
1.5 XSLT和CSS的比较
1.6 XSLT和IE5
1.XSLT的概念
我们首先来澄清一个概念,大家可能听说过XSL(eXtensible Stylesheet Language),XSL和我们这里说的XSLT从狭义上理解是一样的,而按照W3C的标准,XSLT的说法更严格些,因此我们在文章中统一使用 XSLT的称法。它们之间具体的关系我们会在下面讲述。
1.1 什么是XSLT
XSLT的英文标准名称为eXtensible Stylesheet Language Transformation。根据W3C的规范说明书(http://www.w3.org/TR/xslt),最早设计XSLT的用意是帮助XML文档(document)转换为其它文档。但是随着发展,XSLT已不仅仅用于将XML转换为HTML或其它文本格式,更全面的定义应该是:
XSLT是一种用来转换XML文档结构的语言。
1.2 为什么要用XSLT
我们已经知道,XML是一种电脑程序间交换原始数据的简单而标准的方法。它的成功并不在于它容易被人们书写和阅读,更重要的是,它从根本上解决了应用系统间的信息交换。因为XML满足了两个基本的需求:
(1).将数据和表达形式分离。就象天气预报的信息可以显示在不同的设备上,电视,手机或者其它。
(2).在不同的应用之间传输数据。电子商务数据交换的与日俱增使得这种需求越来越紧迫。
为了使数据便于人们的阅读理解,我们需要将信息显示出来或者打印出来,例如将数据变成一个HTML文件,一个PDF文件,甚至是一段声音;同样,为了使数据适合不同的应用程序,我们必须有能够将一种数据格式转换为另一种数据格式,比如需求格式可能是一个文本文件,一个SQL语句,一个HTTP信息,一定顺序的数据调用等。而XSLT就是我们用来实现这种转换功能的语言。将XML转换为HTML,是目前XSLT最主要的功能。
1.3 XSLT的历史
想很多其他XML家族成员一样,XSLT是由W3C起草和制定的。它的主要发展历程如下:
.1995年由James Clark提议;
.1997年8月正式提案为XSL;
.1998年5月由Norman Walsh完成需求概要;
.1998年8月18日XSL草案发布;
.1999年11月16日正式发布XSL 1.0推荐版本。
目前,XSLT仍然在快速的发展中,XSLT1.1的草案已经可以在W3C网站(http://www.w3.org/TR/xslt11)上看到。
1.4 什么是XPath
XPath是XSLT的重要组成部分,我们将在第四章讲解它的详细语法。那么XPath是什么呢?我们首先来了解一下XSL系列的"家族"关系。如下图:
XSL 在转换XML文档时分为明显的两个过程,第一转换文档结构;其次将文档格式化输出。这两步可以分离开来并单独处理,因此XSL在发展过程中逐渐分裂为 XSLT(结构转换)和XSL-FO(formatting objects)(格式化输出)两种分支语言,其中XSL-FO的作用就类似CSS在HTML中的作用。而我们这里重点讨论的是第一步的转换过程,也就是 XSLT。
另外,在学习XML时我们已经知道XML是一个完整的树结构文档。在转换XML文档时可能需要处理其中的一部分(节点)数据,那么如何查找和定位XML文档中的信息呢,XPath就是一种专门用来在XML文档中查找信息的语言。XPath隶属XSLT,因此我们通常会将 XSLT语法和XPath语法混在一起说。
用一种比较好理解的解释:如果将XML文档看作一个数据库,XPath就是SQL查询语言;如果将XML文档看成DOS目录结构,XPath就是cd,dir等目录操作命令的集合。
1.5 XSLT和CSS的比较
CSS同样可以格式化XML文档,那么有了CSS为什么还需要XSLT呢?因为CSS虽然能够很好的控制输出的样式,比如色彩,字体,大小等,但是它有严重的局限性,就是:
(1) CSS不能重新排序文档中的元素;
(2) CSS不能判断和控制哪个元素被显示,哪个不被显示;
(3) CSS不能统计计算元素中的数据;
换句话说,CSS只适合用于输出比较固定的最终文档。CSS的优点是简洁,消耗系统资源少;而XSLT虽然功能强大,但因为要重新索引XML结构树,所以消耗内存比较多。
因此,我们常常将它们结合起来使用,比如在服务器端用XSLT处理文档,在客户端用CSS来控制显示。可以减少响应时间。
1.6 XSLT和IE5
在 XSLT草案发布不久,微软就在IE4中提供了支持XSL功能的预览版本,到IE5.0发布时,正式全面支持XSLT,可是由于IE5发布的比 XSLT1.0标准时间早,因此在IE5.0中支持的XSTL功能和XSLT 1.0略有不同。(呵呵~~XML推行的主要原因之一就是解决HTML过分依赖浏览器的问题,现在微软又想标新立异?)。好在微软的IE5.5中执行的标准已经和W3C的XSLT1.0基本相近。但令人头疼的是IE5.0已经发行了几百万套,您使用的XSLT很可能不能被客户的浏览器正确执行。目前 XSLT 1.1仍在发展中,W3C及有关组织也在和微软协商争取获得统一。呵呵~~故事还远远没有结束噢。
注意:本文中提到的语法都是根据XSLT 1.0的标准来讲的,没有任何微软的"方言"。
1.1 什么是XSLT
1.2 为什么要用XSLT
1.3 XSLT的历史
1.4 什么是XPath
1.5 XSLT和CSS的比较
1.6 XSLT和IE5
1.XSLT的概念
我们首先来澄清一个概念,大家可能听说过XSL(eXtensible Stylesheet Language),XSL和我们这里说的XSLT从狭义上理解是一样的,而按照W3C的标准,XSLT的说法更严格些,因此我们在文章中统一使用 XSLT的称法。它们之间具体的关系我们会在下面讲述。
1.1 什么是XSLT
XSLT的英文标准名称为eXtensible Stylesheet Language Transformation。根据W3C的规范说明书(http://www.w3.org/TR/xslt),最早设计XSLT的用意是帮助XML文档(document)转换为其它文档。但是随着发展,XSLT已不仅仅用于将XML转换为HTML或其它文本格式,更全面的定义应该是:
XSLT是一种用来转换XML文档结构的语言。
1.2 为什么要用XSLT
我们已经知道,XML是一种电脑程序间交换原始数据的简单而标准的方法。它的成功并不在于它容易被人们书写和阅读,更重要的是,它从根本上解决了应用系统间的信息交换。因为XML满足了两个基本的需求:
(1).将数据和表达形式分离。就象天气预报的信息可以显示在不同的设备上,电视,手机或者其它。
(2).在不同的应用之间传输数据。电子商务数据交换的与日俱增使得这种需求越来越紧迫。
为了使数据便于人们的阅读理解,我们需要将信息显示出来或者打印出来,例如将数据变成一个HTML文件,一个PDF文件,甚至是一段声音;同样,为了使数据适合不同的应用程序,我们必须有能够将一种数据格式转换为另一种数据格式,比如需求格式可能是一个文本文件,一个SQL语句,一个HTTP信息,一定顺序的数据调用等。而XSLT就是我们用来实现这种转换功能的语言。将XML转换为HTML,是目前XSLT最主要的功能。
1.3 XSLT的历史
想很多其他XML家族成员一样,XSLT是由W3C起草和制定的。它的主要发展历程如下:
.1995年由James Clark提议;
.1997年8月正式提案为XSL;
.1998年5月由Norman Walsh完成需求概要;
.1998年8月18日XSL草案发布;
.1999年11月16日正式发布XSL 1.0推荐版本。
目前,XSLT仍然在快速的发展中,XSLT1.1的草案已经可以在W3C网站(http://www.w3.org/TR/xslt11)上看到。
1.4 什么是XPath
XPath是XSLT的重要组成部分,我们将在第四章讲解它的详细语法。那么XPath是什么呢?我们首先来了解一下XSL系列的"家族"关系。如下图:
XSL 在转换XML文档时分为明显的两个过程,第一转换文档结构;其次将文档格式化输出。这两步可以分离开来并单独处理,因此XSL在发展过程中逐渐分裂为 XSLT(结构转换)和XSL-FO(formatting objects)(格式化输出)两种分支语言,其中XSL-FO的作用就类似CSS在HTML中的作用。而我们这里重点讨论的是第一步的转换过程,也就是 XSLT。
另外,在学习XML时我们已经知道XML是一个完整的树结构文档。在转换XML文档时可能需要处理其中的一部分(节点)数据,那么如何查找和定位XML文档中的信息呢,XPath就是一种专门用来在XML文档中查找信息的语言。XPath隶属XSLT,因此我们通常会将 XSLT语法和XPath语法混在一起说。
用一种比较好理解的解释:如果将XML文档看作一个数据库,XPath就是SQL查询语言;如果将XML文档看成DOS目录结构,XPath就是cd,dir等目录操作命令的集合。
1.5 XSLT和CSS的比较
CSS同样可以格式化XML文档,那么有了CSS为什么还需要XSLT呢?因为CSS虽然能够很好的控制输出的样式,比如色彩,字体,大小等,但是它有严重的局限性,就是:
(1) CSS不能重新排序文档中的元素;
(2) CSS不能判断和控制哪个元素被显示,哪个不被显示;
(3) CSS不能统计计算元素中的数据;
换句话说,CSS只适合用于输出比较固定的最终文档。CSS的优点是简洁,消耗系统资源少;而XSLT虽然功能强大,但因为要重新索引XML结构树,所以消耗内存比较多。
因此,我们常常将它们结合起来使用,比如在服务器端用XSLT处理文档,在客户端用CSS来控制显示。可以减少响应时间。
1.6 XSLT和IE5
在 XSLT草案发布不久,微软就在IE4中提供了支持XSL功能的预览版本,到IE5.0发布时,正式全面支持XSLT,可是由于IE5发布的比 XSLT1.0标准时间早,因此在IE5.0中支持的XSTL功能和XSLT 1.0略有不同。(呵呵~~XML推行的主要原因之一就是解决HTML过分依赖浏览器的问题,现在微软又想标新立异?)。好在微软的IE5.5中执行的标准已经和W3C的XSLT1.0基本相近。但令人头疼的是IE5.0已经发行了几百万套,您使用的XSLT很可能不能被客户的浏览器正确执行。目前 XSLT 1.1仍在发展中,W3C及有关组织也在和微软协商争取获得统一。呵呵~~故事还远远没有结束噢。
注意:本文中提到的语法都是根据XSLT 1.0的标准来讲的,没有任何微软的"方言"。
发表评论
-
XSLT2.0---正则表达式
2009-06-06 16:27 969其实,正则表达式是XPATH2.0定义的,暂且放在XSLT里说 ... -
XSLT2.0----<xsl:analyze-string>
2009-06-06 16:26 921<xsl:analyze-string>是XS ... -
XSLT2.0----<xsl:variable>和<xsl:sequence>
2009-06-06 16:25 2976我们知道,<xsl:variable>可以定义变量 ... -
XSLT2.0----XPATH2.0序列
2009-06-06 16:24 959严格说来XPATH2.0和XSLT2.0并无直接联系,但是XP ... -
XSLT2.0----字符映射
2009-06-06 16:23 685XSLT2.0提供了字符映射功能。 对于特殊字符或特殊字符, ... -
XSLT2.0---临时结果树
2009-06-06 16:23 1039<xsl:variable>可不是新东西了,它 ... -
XSLT2.0---多文件输出
2009-06-06 16:22 968<xsl:result-document>指 ... -
XSLT2.0---分组
2009-06-06 16:20 1228看了些关于XSLT2.0的东西,先来总结一下分组吧。 &l ... -
xsl2.0正则
2009-06-05 11:46 1045<xsl:analyze-string>是XSLT ... -
XSLT 2.0 的新特性
2009-06-05 11:44 1550XSLT 2.0 的新特性 关键 ... -
XSLT Designer快速入门指南
2008-12-15 21:07 904目录 概述 配 ... -
XSLT document()函数在IE与Firefox中的区别
2008-12-15 21:07 950XSLT 中 document() 函数的作用是用来访问扩展X ... -
了解XSLT
2008-12-15 21:06 956什么是XSLT? XSLT的英文标准名称为eXtensibl ... -
XSL中count()的使用
2008-12-15 21:05 1059XSL中用count()来取得xml中某种节点的个数 list ... -
XSL学习心得-制作图像超链接
2008-12-15 21:04 805这是我今天学习的时候遇到的另一个问题,做图像超链接要把链接地址 ... -
xslt的简单使用[xml-->html]
2008-12-15 21:03 1024XSLT命令[xml格式转换] 1.循环 <xsl:f ... -
XSL中利用xsl:for-each时给每一项添加序号
2008-12-15 21:02 1742经常用for-each来循环读取XML中的某个节点集,但常常需 ... -
第四章:XPath的语法
2008-12-15 21:00 9834.XPath的语法 我们在前 ... -
第三章:XSLT的元素语法
2008-12-15 20:59 889通过前面两章的介绍,我们已经对XSLT的基本概念和它的转换过程 ... -
第二章:XSLT的实例
2008-12-15 20:59 10112. XSLT的实例 2.1 XSLT如何转换XML 2.2 ...
相关推荐
- **第3章:XSLT进阶部分**(Chapter 3: XSLT Part 2 -- Beyond the Basics) - 讨论了条件处理的方法。 - 介绍了参数和变量的概念。 - 说明了多个样式表的组合使用。 - 解释了文本和数字的格式化技巧。 - ...
- 在这一章节中,读者将学习XSLT的基本概念和工作原理,包括如何创建第一个XSLT样式表,以及如何使用XSLT来转换简单的XML文档。 - 介绍XSLT的基本结构和语法,比如`<xsl:stylesheet>`、`<xsl:template>`等元素的...
第一章“XSLT的概念”会介绍XSLT的基本原理,包括它的主要作用——数据转换,以及与XPath的关系。XPath是XML路径语言,用于在XML文档中查找信息,它是XSLT中的重要组成部分。这一章还会解释XSLT的模板和模式匹配机制...
##### 第一章:XSLT入门 - **基本概念**:介绍XSLT的基本概念,包括样式表、模板、选择器等。 - **简单示例**:通过一个简单的XSLT样式表来展示如何转换XML文档。 ##### 第二章:XPath简介 - **XPath语法**:讲解...
本书分为两大部分,第一部分主要介绍XML和XSLT的基本概念和技术要点,包括XML语法、XSLT语法、选择器、模板等基础知识。这部分内容非常适合初学者快速掌握XSLT的基本用法。 第二部分则通过具体的实例来演示如何将...
- **XSLT轻松入门第一章:XSLT的概念.mht**:这部分会介绍XSLT的基本概念,包括模板、模式匹配、变量和参数等,这些都是进行转换操作的基础。 4. **XSLT实例分析** - **XSLT轻松入门第二章:XSLT的实例.mht**:...
在“第四章 使用XSLT”这个压缩包文件中,可能包含了关于如何使用XSLT进行实际转换操作的教程或示例。通过学习这些实例,你可以深入理解如何编写XSLT样式表,以及如何将XML数据转换为所需格式。这将有助于提升你在...
在第一章“Introduction”中,作者首先阐述了Java、XSLT与Web之间的关系。Java作为一种广泛使用的编程语言,提供了丰富的API和库支持,而XSLT则是一种用于转换XML文档的强大工具。两者结合,可以实现动态Web页面的...
##### 第3章:通过类和结构抽象概念 - **类与结构** - 类和结构的区别。 - 如何定义类和结构。 - 成员变量和方法的定义。 - 构造函数和析构函数的概念。 ##### 第4章:扩展性和多态性 - **扩展性和多态性** ...
#### 第一章:Delphi 7及其集成开发环境(IDE) 本章详细介绍了Delphi 7的集成开发环境,包括其主要界面、工具栏、编辑器、编译器和调试器等组成部分。通过本章的学习,读者将能够熟练操作Delphi IDE,进行代码编写...
综上所述,《数据库系统概念》第五版是一本全面而深入的数据库领域教材,适合计算机科学专业的本科生和研究生作为教材使用,同时也非常适合希望深入学习数据库技术的专业人士参考。通过完成书中的练习题,读者可以...
#### 第一章:JavaScript简介 本章主要介绍了JavaScript的基础概念和发展历史,让读者对这门语言有一个宏观的认识。同时,还探讨了JavaScript与其他编程语言的区别,以及它在现代Web开发中的作用。 #### 第二章:...
这一章主要讲解XML文档的基础结构,包括根元素、元素、属性、注释、处理指令等。XML文档必须遵循严格的语法规则,例如元素必须正确嵌套,属性值需用引号括起等。此外,章节还会介绍命名空间的概念,这是在XML中避免...