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的比较
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器