我有以下xsl:select标签基于某些条件
<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'" />
请告知如何添加第三个条件,如果两个条件都不为真,那么它最后应显示为空
答案 0 :(得分:2)
属性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)
。