如何在 XSLT 中编写一个测试条件,表示“如果当前节点的子节点的任何子节点具有 local-name() = 'abc'”?
例如,如果当前节点test内部有一个名为 的节点,并且test 可能包含一个名为abc
我尝试写作,test="local-name(test/child::*) = 'abc'"但显然没有成功。
提前谢谢!
local-name(test/*)将仅检查(first) 的第一个子元素的名称test,如果您想检查全部,则需要使用谓词:
<xsl:when test="test/*[local-name() = 'abc']">
Run Code Online (Sandbox Code Playgroud)
但更简单
<xsl:when test="test/abc">
Run Code Online (Sandbox Code Playgroud)
如果您不需要考虑未知名称空间的可能性,那么这可能就足够了。