属性
我有以下xsl:choot标记基于特定条件
<MaturityDate>
<xsl:choose>
<xsl:when test="../../../../@name !='WQA'">
<xsl:value-of select="Apsml:unadjustedDate"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Apsml:adjustedTerminationDate"/>
</xsl:otherwise>
</xsl:choose>
</MaturityDate>
现在如上所示,如果名称等于WQA,则执行某些操作,或者如果产品不是WQA,那么执行某些操作。现在我想添加第三个条件,如果以上两个条件都不成立,那么它应该显示空
<xsl:value-of select="'null'" />
请建议如何添加第三个条件,如果这两个条件都不成立,那么它应该在最后一个显示为null
name
的值可以等于'WQA'
,也可以不同于'WQA'
;(唯一的)另一种选择是该属性不存在。
因此,您可以使用:
<xsl:choose>
<xsl:when test="../../../../@name ='WQA'">
<xsl:value-of select="Apsml:adjustedTerminationDate" />
</xsl:when>
<xsl:when test="../../../../@name !='WQA'">
<xsl:value-of select="Apsml:unadjustedDate" />
</xsl:when>
<xsl:otherwise>
<!-- @name does not exist -->
<xsl:value-of select="'null'" />
</xsl:otherwise>
</xsl:choose>
如果您想在属性不存在的情况下显式检查用例,可以使用测试not(../../../../@name)
。