XSLT基本语法和第一个实例
2007-08-22 19:45
459 查看
人家都说XSLT转换技术是XML的一项重要技术,俺也没有机会在项目里运用,就在网上瞎搜搜,找点学习学习,所以下面我写的自己的学习结果有可能跟哪位老兄有些许雷同,纯属巧合哈,先申明。
首先说下XSL的主要语句:
上面就是最常用地语句,下面我们来看看具体的实例:
my.xml文件
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>
<Books>
<Book ID="a001">
<Type>True</Type>
<Name>网络指南</Name>
<Price>13.2</Price>
</Book>
<Book ID="a002">
<Type>False</Type>
<Name>局域网技术</Name>
<Price>25.5</Price>
</Book>
</Books>这个就不再多说了,大家都应该知道的哈!
mystyle.xsl
<?xml version="1.0" encoding="GB2312"?>
//version-版本,encoding-语言
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">//匹配XML所有的节点
<html>
<body>
<table border="1" bgcolor="blue">
<tr>
<th>Type1</th>
<th>Name</th>
<th>Price</th>
</tr>
<xsl:for-each select="Books/Book">
//循环Books/Book,可以取他的所有节点
<tr>
//选择的一种
<!--<td><xsl:if test="Type1='True'">男</xsl:if></td>-->
<td>
//选择的另一种,当Type1='True'时显示男,其它显示女
<xsl:choose>
<xsl:when test="Type1='True'">
男
</xsl:when>
<xsl:otherwise>
女
</xsl:otherwise>
</xsl:choose>
</td>
//显示XML文件里Name节点的值
<td><xsl:value-of select="Name"/></td>
<td><xsl:value-of select="Price"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
之后我们用浏览器打开XML文件,出现如下结果:
首先说下XSL的主要语句:
主要语句 | 含 义 |
xsl:stylesheet | 声明语句 |
xsl:template | 相当于编程中函数的概念 |
xsl:template match = "" | 相当于函数调用,去匹配引号中指定的节点 |
xsl:apply-templates | 应用模板函数 |
xsl:apply-templates select ="" | 应用模板函数的调用,跳转到引号中指定的模板 |
xsl:for-each select = "" | 循环语句,遍历与引号中的属性值相同的节点 |
xsl:value-of select = "" | 赋值语句,取出引号中指定的属性值 |
my.xml文件
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>
<Books>
<Book ID="a001">
<Type>True</Type>
<Name>网络指南</Name>
<Price>13.2</Price>
</Book>
<Book ID="a002">
<Type>False</Type>
<Name>局域网技术</Name>
<Price>25.5</Price>
</Book>
</Books>这个就不再多说了,大家都应该知道的哈!
mystyle.xsl
<?xml version="1.0" encoding="GB2312"?>
//version-版本,encoding-语言
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">//匹配XML所有的节点
<html>
<body>
<table border="1" bgcolor="blue">
<tr>
<th>Type1</th>
<th>Name</th>
<th>Price</th>
</tr>
<xsl:for-each select="Books/Book">
//循环Books/Book,可以取他的所有节点
<tr>
//选择的一种
<!--<td><xsl:if test="Type1='True'">男</xsl:if></td>-->
<td>
//选择的另一种,当Type1='True'时显示男,其它显示女
<xsl:choose>
<xsl:when test="Type1='True'">
男
</xsl:when>
<xsl:otherwise>
女
</xsl:otherwise>
</xsl:choose>
</td>
//显示XML文件里Name节点的值
<td><xsl:value-of select="Name"/></td>
<td><xsl:value-of select="Price"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
之后我们用浏览器打开XML文件,出现如下结果:
相关文章推荐
- Oracle存储过程基本语法与基础教程(简明清楚且附实例)
- XPath实例教程一、基本的XPath语法
- PHP基本语法实例总结
- Kotlin 基本语法实例详解
- SmartTemplate 实例分析——基本语法[basic]之Alternating_Colors
- Objective-C 基本语法:实例变量与成员变量的区别
- objective c之中的类和实例,方法等基本语法(一)
- SQL 基本语法实例介绍-数据定义
- Oracle存储过程基本语法和存储过程的各种实例
- FreeMarker 基本语法与简单实例
- Java千百问_03基本语法(001)_局部变量、类变量、实例变量有什么区别
- SmartTemplate 实例分析——基本语法[basic]之Special_Characters
- MS SQL基本语法及实例操作
- Objective-C 基本语法:实例变量与成员变量的区别.l........实例方法和类方法区别
- extjs学习笔记(基本语法实例代码)
- C++类基本语法实例分析
- freemarker基本语法及实例
- 存储过程基本语法和实例
- php explode() 函数的基本语法及使用实例
- AD LDAP 基本知识及查询语法及实例