是否有可能匹配不属于属性的子集的属性? 例如,我想匹配的一切,但@ attR1和@ attR2位。 是否有写类似以下内容的模板匹配语句,或者我要对这个错误的方式方法吗?
<xsl:template match="NOT(@attr1) and NOT(@attr2)">
谢谢
是否有可能匹配不属于属性的子集的属性? 例如,我想匹配的一切,但@ attR1和@ attR2位。 是否有写类似以下内容的模板匹配语句,或者我要对这个错误的方式方法吗?
<xsl:template match="NOT(@attr1) and NOT(@attr2)">
谢谢
最简单的方法是使用两个模板:
<xsl:template match="@attr1|@attr2"/>
<xsl:template match="@*">
....
</xsl:template>
第一个模板会抓住那些你想忽略参考,并简单地吃起来。 第二个将匹配剩余的属性。
什么是运问的是可能的。 使用以下命令:
<xsl:template match="@*[local-name()!='attr1' and local-name()!='attr2']">
....
</xsl:template>
如果你想改变一个属性或添加,如果缺少withing单一的复制操作,这是特别有用的。 对方回答不这样的情况下工作。 例如
...
<xsl:copy>
<xsl:attribute name="attr1">
<xsl:value-of select="'foo'"/>
</xsl:attribute>
<xsl:apply-templates select="@*[local-name()!='attr1']|node()"/>
</xsl:copy>
...