XSL样式表由一个或多套被称为模板(template)的规则组成。
每个模板含有当某个指定的节点被匹配时所应用的规则。
1.<xsl:template>元素
<xsl:template>元素用于构建模板。
match属性用于关联XML元素和模板。match属性也可用来为整个文档定义模板。match属性的值是XPath表达式(举例,match="/"定义整个文档)。
好了,让我们看一下上一节中的XSL文件的简化版本:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<tr>
<td>.
</td>
<td>.
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
代码解释:
由于XSL样式表本身也是一个XML文档,因此它总是由XML声明起始:
<?xmlversion="1.0"encoding="utf-8"?>
下一个元素,<xsl:stylesheet>,定义此文档是一个XSLT样式表文档(连同版本号和XSLT命名空间属性)。
<xsl:template>元素定义了一个模板。而match="/"属性则把此模板与XML源文档的根相联系。
<xsl:template>元素内部的内容定义了写到输出结果的HTML代码。
最后两行定义了模板的结尾,及样式表的结尾。
Xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="template.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
转换样式:

2.其它常用元素
(1)<xsl:if>
示例:
<xsl:iftest="expression">
...
...如果条件成立则输出...
...
</xsl:if>
(2)<xsl:value-of>
示例:
<td><xsl:value-ofselect="catalog/cd/title"/></td>
(3)<xsl:for-each>
示例:
<xsl:for-eachselect="catalog/cd">
<tr>
<td><xsl:value-ofselect="title"/></td>
<td><xsl:value-ofselect="artist"/></td>
</tr>
</xsl:for-each>
(4)<xsl:sort>
示例:
<xsl:for-eachselect="catalog/cd">
<xsl:sortselect="artist"/>
<tr>
<td><xsl:value-ofselect="title"/></td>
<td><xsl:value-ofselect="artist"/></td>
</tr>
</xsl:for-each>
(5)<xsl:choose><xsl:when><xsl:otherwise>
示例:
<xsl:choose>
<xsl:whentest="expression">
...输出...
</xsl:when>
<xsl:otherwise>
...输出....
</xsl:otherwise>
</xsl:choose>
分享到:
相关推荐
- 讲解如何在XSLT中实现条件判断和循环,包括`<xsl:if>`、`<xsl:choose>`、`<xsl:when>`和`<xsl:otherwise>`等元素。 - 展示如何根据条件的不同生成不同的输出。 - **第5章:排序和分组** - 介绍如何使用XSLT对...
C#可以借助System.Xml.Xsl命名空间中的类执行XSLT转换,实现XML到XML或者XML到HTML等格式的转换。 7. **XPath和XQuery**:XPath是用于在XML文档中查找信息的语言,而XQuery则是一种更强大的查询语言,用于从XML数据...
3. **命名规则**:XML的元素和属性名是大小写敏感的,并且必须遵循特定的命名规则,例如不能以数字开头,不能包含特殊字符等。 4. **命名空间**:XML命名空间允许在同一个文档中使用相同的元素名而不会产生冲突。...
- **XSLT (XSL Transformations)**: 用于转换XML文档的XSL子集。 - **XSL-FO (XSL Formatting Objects)**: 用于控制XML数据的最终输出格式。 #### 4. XML与HTML的结合(上下) - **HTML与XML的区别**: - **目的**...
XML Schema Definition (XSD) 是最常用的XML Schema语言,它使用XML语法来定义元素、属性、数据类型等。通过Schema,开发者可以指定元素的顺序、可选性以及允许的数据格式。 **第三章 文档对象模型(DOM)** DOM是...
XML,即可扩展标记语言(eXtensible Markup Language),是一种用于存储和传输结构化数据的标记语言。它源于SGML(Standard Generalized Markup Language),但经过简化,使其更加适用于Web应用。XML的核心特性在于...
XML,全称Extensible Markup Language,可扩展标记语言,是一种用于标记数据的标准化语言,尤其在IT行业中,XML因其灵活性和跨平台性被广泛应用。IBM作为一家全球知名的科技公司,提供了丰富的XML学习资源,帮助初学...
通过本文的介绍,我们了解了Java中常用的XML解析技术,包括DOM、SAX和XSLT的基本原理及应用示例。对于初学者来说,掌握这些基础知识对于处理实际项目中的XML文件非常重要。无论是数据交换、配置文件管理还是Web服务...
XML,全称Extensible Markup Language,可扩展标记语言,是一种用于标记数据的结构化语言,尤其在Web应用程序和数据交换领域中广泛应用。本教程“XML实用教程课程2006”是一份专为入门级读者设计的教学资料,旨在...