上一个节点,看看父节点是否等同于XSLT中的特定节点

时间:2012-07-08 07:13:25

标签: xslt xpath xslt-1.0 xslt-2.0 xpath-2.0

我想看看我所引用的当前节点的父节点是否等于特定值。我做了如下但没有用。

例如。

<v:name>
<v:age>

在“年龄”时,我尝试<xsl:if test='.. = v:name'>。但这不正确。什么是正确的方法?有人可以帮忙吗?

我在一个模板中,对于v:name和v:age都是如此。有v:年龄不是v:name的孩子。我想确保我所指的v:age是v:name的孩子。这就是我想要的test属性。

3 个答案:

答案 0 :(得分:3)

来自OP的评论:

  

我在v:namev:age的模板中。   有v:agev:name不是v:age的子项。我想要   确保我所指的v:nameparent::v:name 的孩子。那   是我想要的测试属性

使用

xsl:if

这在<xsl:if test="parent::v:name"> <!-- Whatever processing is necessary. --> </xsl:if> 变为:

{{1}}

答案 1 :(得分:2)

使用<xsl:if test="../v:name = 'somevalue'></xsl:if><xsl:if test="parent::v:name = 'somevalue'></xsl:if>

答案 2 :(得分:1)

我怀疑当你说你想知道父节点是否与特定值“相等”时,你的意思是你想要知道它的名字是否等于一个特定的值(如果你的名字是否等于一个特定的值(如果你举了输入输出的例子。

如果我的推测是正确的,请使用<xsl:if test="parent::xyz">