我想编写一个 XSLT 模板,它匹配一个命名空间中除一个元素之外的所有元素。例如,我想匹配所有元素 foo:*
,但不匹配 foo:bar
。
是否可以在选择器中定义它,或者我是否必须在 xsl:template
中编写 xsl:if
条件(以及如何测试本地元素的名称)?
最佳答案
XSLT 1.0:
<xsl:template match="foo:*[not(local-name()='bar')]">
<!--do stuff-->
</xsl:template>
XSLT 2.0:
<xsl:template match="foo:*[. except self::foo:bar]">
<!--do stuff-->
</xsl:template>
关于XSLT:匹配命名空间中除一个元素之外的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7677487/