有关Oliver Beckers关于xslt编程的有效方法的问题link.
我们知道使用此代码,我们可以消除详细的xsl选择方法
concat(
substring(Str1,1 div Cond),
substring(Str2,1 div not(Cond))
)
然而,我们可以在'条件'中指定什么,只是为了检查节点的存在与否?
我们无法指定
concat(
substring(Str1,1 div test="/node"),
substring(Str2,1 div not(test="/node"))
)
将导致语法错误。
答案 0 :(得分:2)
尝试使用此表达式(其中 node 是您要测试的节点的名称):
<xsl:value-of select="concat(
substring('Yes', 1 div not(not(/root/node))),
substring('No', 1 div not(/root/node)))"/>
或者更好
<xsl:value-of select="concat(
substring('Yes', 1 div boolean(/root/node)),
substring('No', 1 div not(/root/node)))"/>
应用于此XML时,输出是
<root>
<node>Test</node>
</root>
但是当应用于此XML时,输出否
<root>
<othernode>Test</othernode>
</root>