如何在 XSLT 中编写一个测试条件,表示“如果当前节点的子节点的任何子节点具有 local-name() = 'abc'”?
例如,如果当前节点内部有一个名为 test
的节点,并且 test
可能 包含一个名为 abc
我尝试编写 test="local-name(test/child::*) = 'abc'"
但显然不起作用。
提前致谢!!
最佳答案
local-name(test/*)
将仅检查(第一个)test
的 first 子元素的名称,如果如果你想检查所有这些,那么你需要使用谓词:
<xsl:when test="test/*[local-name() = 'abc']">
但是更简单
<xsl:when test="test/abc">
如果您不需要考虑未知命名空间的可能性,可能就足够了。
关于xml - XSLT:当测试具有特定名称的子节点的条件时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22041641/