我试图在模板中使用变量来获取祖先的兄弟,然后如果兄弟姐妹是某个元素,我想做点什么。
我能够正确地抓住兄弟姐妹,但是当我使用if来检查节点是否是我想要的元素时,它永远不会被击中。我的问题是什么,如果它没有找到什么时候兄弟元素是什么?想要的元素'?
<xsl:template match="deltaxml:text[@deltaxml:deltaV2='A']">
<xsl:variable name="nextVal" select="ancestor::*:textGroup/following-sibling::*[1]"/>
<xsl:if test="$nextVal = 'desiredElement'">
<!-- do something -->
答案 0 :(得分:2)
使用<xsl:if test="$nextVal/self::desiredElement">
或者该元素与<xsl:if test="$nextVal/self::deltaxml:desiredElement">
以外的名称相同。如果要对元素名称进行字符串比较,也可以比较local-name($nextVal) = 'desiredElement'
。您当前的尝试会将元素的字符串值/内容与字符串desiredElement
进行比较。