当前位置: 代码网 > it编程>网页制作>Xml > 测试模式 - XSL教程 - 5

测试模式 - XSL教程 - 5

2024年05月15日 Xml 我要评论
xslt支持的测试模式语句,用于条件判断,主要有:<xsl:if>和<xsl:choose>及其下的<xsl:when>和<xsl:otherwise>
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> 
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com