当前位置: 首页 > 图文教程 > XML家族 > XML > 测试模式 - XSL教程 - 5

XML
一个以Javascript+xml的树型列表
用ajax技术制作在线歌词搜索功能
网络编程:如何生成XML数据
如何让WebServer返回指定XML内容
网页编程必看:XML文法分析
编程:如何生成XML数据
用PHP与XML联手进行网站编程
Javascript+XML实现分页的实例
XML技巧五则
使用xmlhttp为网站增加域名查询功能
详解XML-RPC和JAX-RPC
XML在.net平台下的自定义控件的应用(1)
XML在.net平台下的自定义控件的应用(2)
基础知识认识XML:下一代网络的基石
Web2.0岁月:使用AJAX技术的十大理由
了解 XML实现通用的数据访问
AJAX基础教程及初步使用
Web设计中如何使用XML数据
AJAX应用之草稿自动保存
XML 中的常见问题(一)

XML 中的 测试模式 - XSL教程 - 5


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 78 ::
收藏到网摘: n/a

xslt支持的测试模式语句,用于条件判断,主要有:<xsl:if> 和<xsl:choose>及其下的<xsl:when>和<xsl:otherwise>
还是在匹配模式中使用的用户列表数据源。
1:使用xsl:if
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr bgcolor="#9acd32">
<th>Name</th>
<th>ID</th>
</tr>
<xsl:for-each select="Users/User">
<xsl:sort data-type="number" select="@ID" order="descending" />
<xsl:if test="ID mod 2=1">
<tr>
<td><xsl:value-of select="Name"/></td>
<td><xsl:value-of select="ID"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template></xsl:stylesheet>
关于test 使用的运算符:
= 或 $eq$ 相等
= 或 $ieq$ 相等(不区分大小写)
!= 或 $ne$ 不等
$ine$ 不等(不区分大小写)
< 或 $lt$ 小于
$ilt$ 小于(不区分大小写)
<= 或 $le$ 小于等于
$ile$ 小于等于(不区分大小写)
> 或 $gt$ 大于
$igt$ 大于(不区分大小写)
>= 或 $ge$ 大于等于
$ige$ 大于等于(不区分大小写)
$all$ 集合运算符,如果集合中所有项目均满足条件则返回"真"
$any$ 集合运算符,如果集合中任意项目满足条件则返回"真"
| 集合运算符,返回两个集合的联合

2:使用xsl:choose
<xsl:choose>
<xsl:when test="ID > 2">
<td bgcolor="#ff00ff"><xsl:value-of select="Name"/></td>
<td bgcolor="#ff00ff"><xsl:value-of select="ID"/></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="Name"/></td>
<td><xsl:value-of select="ID"/></td>
</xsl:otherwise>
</xsl:choose>

JavaScript输出
<html>
<body>
<script type="text/javascript">
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("UserList3.xml")
// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("UserList_template.xsl")// Transform
document.write(xml.transformNode(xsl))</script></body>
</html>