测试模式 - XSL教程 - 5
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>