我需要创建一个检查“不包含”条件的XSL。例如,我的XML是这样的:
<Categories>
<category>
<blog>ABC</blog>
<link>http://www.msdn.com</link>
</category>
</Categories>
我想展示<blog>
<link>
不包含"msdn"
的每个{{1}}。我不想使用equals,因为我只想查看部分链接。
答案 0 :(得分:35)
我不确定你想要什么样的HTML输出,但希望这可以让你开始。
<xsl:template match="category">
<xsl:if test="not(contains(link, 'msdn'))">
<a href="{link}">
<xsl:value-of select="blog" />
</a>
</xsl:if>
</xsl:template>
您还可以在模板匹配(或apply-templates select)谓词中包含测试,如下所示:
<xsl:template match="category[not(contains(link, 'msdn'))]">
答案 1 :(得分:1)
将not函数与contains函数一起使用。
示例:not(contains('XML','XM'))
结果:false
答案 2 :(得分:0)
xsl:apply-templates或xsl:value-of的Xpath应包含以下内容
/Categories/category/blog[not( contains(following-sibling::link/text(), 'msdn'))]