请告知下面的xsl标签实现是正确的,因为我怀疑我使用xsl:if的方式()在xsl: else中是不正确的,对于第二个条件我们应该使用xsl:when also.
<xsl:template name="swaption_notional_template_nd_currency">
<xsl:param name="abcVar"/>
<xsl:choose>
<xsl:when test="$ert">
</xsl:when>
<xsl:otherwise>
<xsl:if test="$abcValue">
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
语法上,将<xsl:if></xsl:if>
放在<otherwise></otherwise>
块中是可以的。但是,正如您已经假设的那样,使用另一个<xsl:when></xsl:when>
块是一个更好的选择(并且更容易阅读)。
如果您的<otherwise></otherwise>
块包含依赖于<xsl:choose></xsl:choose>
块中的测试但独立于<xsl:if></xsl:if>
块中的测试的部分,则您的解决方案可能是必要的,例如:
<xsl:choose>
<xsl:when test="$ert">
</xsl:when>
<xsl:otherwise>
<!-- SOMETHING happens here -->
<xsl:if test="$abcValue">
</xsl:if>
<!-- and/or SOMETHING happens here -->
</xsl:otherwise>
</xsl:choose>
You can use <xsl:if> inside the <xsl:otherwise> block below is example
<xsl:template name="check">
<xsl:param name="id"/>
<xsl:choose>
<xsl:when test="Response/Specification/Section/Item/Property[id=$id]/Boolean1=1">
<xsl:text>Y</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:if test="Response/Specification/Section/Item/Property[id=$id]/Boolean`enter code here`1=0">
<xsl:text>N</xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>