六. xsl的过滤和查询
如果我们希望只显示满足一定的条件的xml数据应该怎么做呢?还是上面的例子代码,我们只需要在xsl:for-each元素的select属性中加入参数就可以,类似:
<xsl:for-each select="catalog/cd[artist='bob dylan']">
参数的逻辑选择有:
= (等于)
=! (不等于)
!amp;lt!amp; 小于
!amp;gt!amp; 大于等于
和前面同样的例子(cd_catalog_sort.xsl):
<@xml version='1.0'@>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl">
<xsl:template match="/">
<html>
<body>
<table border="2" bgcolor="yellow">
<tr>
<th>title</th>
<th>artist</th>
</tr>
<xsl:for-each select="catalog/cd[artist='bob dylan']">
<tr>
<td><xsl:&#118alue-of select="title"/></td>
<td><xsl:&#118alue-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
你可以自己测试一下,看到的结果有什么不同。