测试模式 - XSL教程 - 5

XML教程 2025-08-01
xslt支持的测试模式语句,用于条件判断,主要有:xsl:if和xsl:choose及其下的xsl:when和xsl:otherwise
还是在匹配模式中使用的用户列表数据源。

1:使用xsl:if

?xmlversion="1.0"encoding="GB2312"?
xsl:stylesheetversion="1.0"xmlns:xsl="http://www.***w3.org/1999/XSL/Transform"
xsl:templatematch="/"
html
body
tableborder="1"
trbgcolor="#9acd32"
thName/th
thID/th
/tr
xsl:for-eachselect="Users/User"
xsl:sortdata-type="number"select="@ID"order="descending"/
xsl:iftest="IDmod2=1"
tr
tdxsl:value-ofselect="Name"//td
tdxsl:value-ofselect="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:whentest="ID2"
tdbgcolor="#ff00ff"xsl:value-ofselect="Name"//td
tdbgcolor="#ff00ff"xsl:value-ofselect="ID"//td
/xsl:when
xsl:otherwise
tdxsl:value-ofselect="Name"//td
tdxsl:value-ofselect="ID"//td
/xsl:otherwise
/xsl:choose


JavaScript输出
html
body
scripttype="text/javascript"
//LoadXML
varxml=newActiveXObject("Microsoft.XMLDOM")
xml.async=false
xml.load("UserList3.xml")
//LoadXSL
varxsl=newActiveXObject("Microsoft.XMLDOM")
xsl.async=false
xsl.load("UserList_template.xsl")//Transform
document.write(xml.transformNode(xsl))/script/body
/html