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

时间:2014-02-26 12:37:56

标签: xml xslt

如何在XSLT中编写测试条件,其中说“如果当前节点的子节点的任何子节点具有local-name()='abc'”?

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

我尝试写test="local-name(test/child::*) = 'abc'",但显然没有用。

Thnx提前!!

1 个答案:

答案 0 :(得分:4)

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

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

但更简单

<xsl:when test="test/abc">
如果您不需要满足未知命名空间的可能性,

就足够了。

相关问题