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个结合的协同 


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>