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

XML
XML简易教程之四
XML与HTML的结合(上)
XML与HTML的结合(下)
XML入门的常见问题(一)
XML入门的常见问题(二)
XMLHTTP资料
什么是XML
什么是 XML Web Service
XML正在接管Web服务 成为SOA的基础
怎么样在网页上读取远程xml的数据
XML教程—编写结构完整的XML文档
读写xml文件的2个小函数
XML文档的基本操作
初学者如何开发出一个高质量的J2EE系统
优化 JavaScript 代码
自动更新程序的设计框架
使Firefox对XML的处理兼容IE的节点处理方法
WML学习之四 锚和任务
WML学习之五 显示表单
WML学习之六 事件

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 63 ::
收藏到网摘: 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>