XSLT:当具有特定名称的子节点的测试条件时



如何在XSLT中编写一个测试条件,该条件显示"如果当前节点的子节点的任何子节点具有local-name() = 'abc'"?

例如,如果当前节点中有一个名为 test 的节点,并且test可能包含一个名为 abc 的节点

我试着写test="local-name(test/child::*) = 'abc'"但它显然不起作用。

提前感谢!!

local-name(test/*)将只检查(第一个)test的第一个子元素的名称,如果要全部检查它们,则需要使用谓词:

<xsl:when test="test/*[local-name() = 'abc']">

但更简单

<xsl:when test="test/abc">

如果您不需要满足未知命名空间的可能性,可能就足够了。

最新更新