允许某些值的属性,但不允许所有其他值
答
如果没有与任何@class
其他模板匹配的元素,这将工作:
<xsl:template match="@class[.!='myName']"/>
答
这可以简单地通过重写恒等变换,并添加模板来实现忽略不正确的值
所以类属性,给予以下XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@class[. != 'myName']" />
</xsl:stylesheet>
当应用于以下XML
<a class="remove">
<b class="myName">Test</b>
</a>
以下是输出
<a>
<b class="myName">Test</b>
</a>
打我给它。 +1 – 2012-01-05 22:17:54