XSLT入门 -- 第1章 入门篇
来源:互联网 发布:dx10 for windows xp 编辑:程序博客网 时间:2024/05/16 05:25
1 前言
一般来说,XML文档中没有样式信息(如字体等)。我们必须指定样式信息才能用适当的形式来显示XML文档。XSL(Extensible Stylesheet Language)就是能够应用在XML文档中的一种样式描述语言。
XSL有以下两种。
- XSLT(XSL Transformations)
- 将某个XML文档变换成其他的XML文档
- FO(Formatting Objects)
- 定义文档的阅读方法
FO的标准尚未确定。XSLT的1.0版是W3C推荐的标准。由于XSLT是XML文档转换语言,虽然不能直接定义显示方式,但可以通过将XML文档转换成能够显示的格式,以达到指定样式的目的。将来,也许能通过XSLT将XML转换成容易显示的格式,而且可以通过FO将XML转换成阅读方法的定义。
虽然说是XML文档转换,但由于XSLT的目的是指定样式,因此并不能说是完全的通用转换语言。然而,XML文档转换的许多场合下都可以使用XSLT。
2 第一步
首先让我们看一个简单的例子,来熟悉一下XSLT样式表的书写方式。被转换的XML文档如代码1所示。。 1
<?xml version="1.0"?><document><content>你好!</content></document>
<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="document"><html><body><xsl:apply-templates/></body></html></xsl:template><xsl:template match="content"><p><xsl:value-of select="."/></p></xsl:template></xsl:stylesheet>
XSLT样式表也是XML文档,因此第1行写出了XML声明。第2行为XSLT样式表的根元素。在这里指定了命名空间。在XSLT样式表中,XSLT元素和作为输出结果的元素是混杂在一起书写的,因此必须通过命名空间来区分XSLT的命名空间的URI为“http://www.w3.org/1999/XSL/Transform”。
xsl:template元素定义了对各个节点的处理方式,称为模板。在表2中定义了两个模板。
<xsl:template match="document">
<xsl:apply-templates/>
</xsl:template>
这样就能够定义一个模板规则。由于在针对document元素的模板中指明了要应用针对子元素的模板,因此需要定义针对子元素的模板。document的子元素是content,因此针对该标记定义模板。
针对content元素的模版中首先输出HTML标记<p>,然后输出content元素的内容。
<xsl:value-of select="."/>
XSLT分析器分析的结果如代码3所示。。 2
<html><body><p>你好!</p></body></html>
3 结语
我们介绍了非常简单的一个XSLT样式表,应该能抓住概要了吧。创建XSLT样式表,其中心就是定义模板。即使仅创建简单的模版并把它们组合起来,也能做到非常精妙的转换。但是,XSLT的元素并不仅仅是这些。第2章就来介绍XSLT的各种元素。
- XSLT入门 -- 第1章 入门篇
- XSLT入门 -- 第1章 入门篇
- XSLT入门 -- 第1章 入门篇:带领初学者开始XSLT的旅行 [转]
- XSLT入门 -- 第1章 入门篇:带领初学者开始XSLT的旅行
- XSLT入门 -- 第3章 实践篇: XSLT实例
- XSLT入门 -- 第2章 基础篇
- XSLT入门 -- 第3章 实践篇
- XSLT入门 -- 第2章 基础篇
- XSLT入门 -- 第3章 实践篇
- XSLT入门 -- 第2章 基础篇: XSLT快速参考1 [转]
- XSLT入门 -- 第2章 基础篇: XSLT快速参考1 [转]
- XSLT入门 -- 第2章 基础篇: XSLT快速参考2 [转]
- xslt入门
- XSLT入门
- XSLT入门
- xslt入门
- xslt入门
- XSLT轻松入门第二章:XSLT的实例
- 探讨单件模式(1)
- Visual C#弹出窗口杀手(1)
- 树状数组介绍(转)
- 用AWT生成图形化用户界面
- [开发环境]PSP开发整合包(一键安装,无须配置包含目前最新的全库)
- XSLT入门 -- 第1章 入门篇
- BuzzWord 预览
- XSLT入门 -- 第2章 基础篇
- XSLT入门 -- 第3章 实践篇
- 滚动天气预报
- 深入Struts2
- 我们应该追求什么?
- UG二次开发之ug/open++类库
- 别人的经验