我是xslt的新手,虽然我设法解决它。但我遇到了一个需要专家帮助的案例。我试图找到存在与否的节点。我已经搜索过同样的问题,我没有得到预期的答案。我有一个节点,MainNode-> SubNode1-> SubNode2-> SunNode3。如果我正在检查如下
<xsl:if test= "not(//MainNode/SubNode1/SubNode2/SunNode3)">
哪个有效,但如果相同,我会转换为变量,如下所示
<xsl:if test= "not(//MainNode/$Var1/$Var2/SunNode3)">
其中,Var1 = SubNode1,Var2 = SubNode2
为什么它不起作用。我不能在路径搜索中使用Variable。如果没有解决方案的话。
答案 0 :(得分:0)
您无法使用变量动态构造路径步骤。但您可以使用变量按名称过滤元素,例如:
<xsl:if test= "not(//MainNode/*[name()=$Var1]/*[name()=$Var2]/SunNode3)">