XSLT快速参考
来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 11:48 点击:次
1 前言
在计算机科学中,XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,这是一种对XML文档进行转化的语言,XSLT中的T代表英语中的“转换”(transformation)。它是XSL(Extensiblestylesheetlanguage)规范的一部分。
XSLT是一种用于将XML文档转换为XHTML文档或其他XML文档的语言。 也可以转换成非xml文档,如txt,html, java等等其他文档
XPath是一种用于在XML文档中进行导航的语言。
XSLT指XSL转换(XSLTransformations)。
XSLT是XSL中最重要的部分。
XSLT可将一种XML文档转换为另外一种XML文档。
XSLT使用XPath在XML文档中进行导航。
XPath是一个W3C标准。
XSLT=XSL转换。
我们用一个简单的XSLT样式表作为例子介绍了XSLT的概要。当然,XSLT所拥有的元素并不仅限于xsl:template、xsl:apply-templates、xsl:value-of。为了实行转换,XSLT准备了各种各样的元素。本章将以最常用的元素为中心举例说明。
另外,本文中并不准备介绍元素的全部属性。详情请参见W3C标准的原文[1]及译文[2]等。
在XSLT中经常会用到一种被称为XPath的描述方法。首先从XPath的概要开始介绍。
2 XPath是什么?
XPath是树结构的一种描述方法。在创建XSL样式表时经常使用XPath。
2.1 树结构
XML文档表示的数据组成数结构。用XLST进行转换,也就是从源文档的树(源树)生成转换后的树(目标树)的意思。这个转换以树结构的节点为基础来进行。
节点有几种,主要为:
表示根的“根节点”
表示元素的“元素节点”
表示属性的“属性节点”
表示文本的“文本节点”
表示注释的“注释节点”
使用像这样的各种各样的节点来表示树的位置的描述方法称为XPath。
2.2 XPath表达式
创建XSLT样式表时经常使用的XPath表达式如表1所示。所谓的上下文节点,就是由上下文构成的节点,可以理解为“处理对象”。另外,今后会出现“当前节点”的概念,可以理解为“被选中的节点”。11
表1: 常用的XPath表达式
记号 含义
a 上下文节点的a元素
* 上下文节点的所有元素
a/b 以上下文节点的a元素为父节点的b元素
a//b 以上下文节点的a元素为祖先的b元素
a|b 上下文节点的a元素和b元素
a[表达式] 符合表达式的上下文节点的a元素
. 上下文节点
.. 上下文节点的父节点
/ 根节点
@a 上下文节点的a属性
@* 上下文节点的所有属性
node() 所有节点
text() 文本节点 描述类似于UNIX的路径描述。例如,
<html> <body> <a href="sample.html">示例</a> <ul> <li>项目A</li> <li>项目B</li> </ul> </body> </html>
中,表示元素a的XPath表达式为
/html/body/a
此外,若表示a元素的href属性,则为
/html/body/a/@href
表中a[表达式]是符合表达式的a项目的意思,例如表示第一个li项目时使用
/html/body/ul/li[1]
3 定义样式表的元素
XSLT样式表使用XML文档的格式创建。因此,必须要遵从XML文档的描述规则。XML文档中必须存在的元素只有根元素。在XSLT样式表中的根元素就是xsl:stylesheet元素。基本代码如下所示:
<xsl:stylesheet version = "版本号"> <!-- 内容: (xsl:import*, 顶层元素) --> </xsl:stylesheet>
4 模板规则
XSLT样式表可以说是模板规则的集合。
4.1 模板规则的定义
模板规则使用xsl:template元素进行定义。它的属性包括match、name、priority和mode。其中最重要的是match属性,该属性规定了节点的样式。若没有指定name属性的话,就必须指定match属性。基本的代码如下所示。
<xsl:template match = "样式" name = "名称"> <!-- 内容: (xsl:param*, 模板) --> </xsl:template>
name属性将在调用命名模板时使用。
在计算机科学中,XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,这是一种对XML文档进行转化的语言,XSLT中的T代表英语中的“转换”(transformation)。它是XSL(Extensiblestylesheetlanguage)规范的一部分。
XSLT是一种用于将XML文档转换为XHTML文档或其他XML文档的语言。 也可以转换成非xml文档,如txt,html, java等等其他文档
XPath是一种用于在XML文档中进行导航的语言。
XSLT指XSL转换(XSLTransformations)。
XSLT是XSL中最重要的部分。
XSLT可将一种XML文档转换为另外一种XML文档。
XSLT使用XPath在XML文档中进行导航。
XPath是一个W3C标准。
XSLT=XSL转换。
我们用一个简单的XSLT样式表作为例子介绍了XSLT的概要。当然,XSLT所拥有的元素并不仅限于xsl:template、xsl:apply-templates、xsl:value-of。为了实行转换,XSLT准备了各种各样的元素。本章将以最常用的元素为中心举例说明。
另外,本文中并不准备介绍元素的全部属性。详情请参见W3C标准的原文[1]及译文[2]等。
在XSLT中经常会用到一种被称为XPath的描述方法。首先从XPath的概要开始介绍。
2 XPath是什么?
XPath是树结构的一种描述方法。在创建XSL样式表时经常使用XPath。
2.1 树结构
XML文档表示的数据组成数结构。用XLST进行转换,也就是从源文档的树(源树)生成转换后的树(目标树)的意思。这个转换以树结构的节点为基础来进行。
节点有几种,主要为:
表示根的“根节点”
表示元素的“元素节点”
表示属性的“属性节点”
表示文本的“文本节点”
表示注释的“注释节点”
使用像这样的各种各样的节点来表示树的位置的描述方法称为XPath。
2.2 XPath表达式
创建XSLT样式表时经常使用的XPath表达式如表1所示。所谓的上下文节点,就是由上下文构成的节点,可以理解为“处理对象”。另外,今后会出现“当前节点”的概念,可以理解为“被选中的节点”。11
表1: 常用的XPath表达式
记号 含义
a 上下文节点的a元素
* 上下文节点的所有元素
a/b 以上下文节点的a元素为父节点的b元素
a//b 以上下文节点的a元素为祖先的b元素
a|b 上下文节点的a元素和b元素
a[表达式] 符合表达式的上下文节点的a元素
. 上下文节点
.. 上下文节点的父节点
/ 根节点
@a 上下文节点的a属性
@* 上下文节点的所有属性
node() 所有节点
text() 文本节点 描述类似于UNIX的路径描述。例如,
<html> <body> <a href="sample.html">示例</a> <ul> <li>项目A</li> <li>项目B</li> </ul> </body> </html>
中,表示元素a的XPath表达式为
/html/body/a
此外,若表示a元素的href属性,则为
/html/body/a/@href
表中a[表达式]是符合表达式的a项目的意思,例如表示第一个li项目时使用
/html/body/ul/li[1]
3 定义样式表的元素
XSLT样式表使用XML文档的格式创建。因此,必须要遵从XML文档的描述规则。XML文档中必须存在的元素只有根元素。在XSLT样式表中的根元素就是xsl:stylesheet元素。基本代码如下所示:
<xsl:stylesheet version = "版本号"> <!-- 内容: (xsl:import*, 顶层元素) --> </xsl:stylesheet>
4 模板规则
XSLT样式表可以说是模板规则的集合。
4.1 模板规则的定义
模板规则使用xsl:template元素进行定义。它的属性包括match、name、priority和mode。其中最重要的是match属性,该属性规定了节点的样式。若没有指定name属性的话,就必须指定match属性。基本的代码如下所示。
<xsl:template match = "样式" name = "名称"> <!-- 内容: (xsl:param*, 模板) --> </xsl:template>
name属性将在调用命名模板时使用。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>