如何在 if/else 条件下使用 XML 参数
How can I use XML parameter with if/else condition
我有一个XML参数(折扣)。我想像有折扣一样使用它,显示折扣。否则什么都不显示。我试过一个例子,但我知道它是错误的 way.How 我可以使用它吗?
<xmlparameter>
<paymentinfo taxbase="187,97 $" subtotal="205,12 $" discount="10,00 $" total="227,12 $"
totalinstallment="250,54 TL" />
</xmlparameter>
<xsl:choose>
<xsl:when test="$discount">
<tr style="font-size:14px;">
<td colspan="2">
Discount:
</td>
<td>
<xsl:value-of select="paymentinfo/@discount"/>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<xsl></xsl>
</xsl:otherwise>
</xsl:choose>
首先,这里不需要使用 <xsl:choose>
,因为你只想显示它是否存在,所以一个简单的 <xsl:if>
就可以了。
但无论如何这不是问题...
因此,要检查它是否存在,您可以将其转换为 String
(我不确定类型是什么,因为它未指定,我们也看不到参数的初始化位置)然后检查是否为空。您的代码将如下所示:
<xsl:if test="string($discount) != ''">
<tr style="font-size:14px;">
<td colspan="2"><xsl:text>Discount:</xsl:text></td>
<td><xsl:value-of select="paymentinfo/@discount"/></td>
</tr>
</xsl:if>
我有一个XML参数(折扣)。我想像有折扣一样使用它,显示折扣。否则什么都不显示。我试过一个例子,但我知道它是错误的 way.How 我可以使用它吗?
<xmlparameter>
<paymentinfo taxbase="187,97 $" subtotal="205,12 $" discount="10,00 $" total="227,12 $"
totalinstallment="250,54 TL" />
</xmlparameter>
<xsl:choose>
<xsl:when test="$discount">
<tr style="font-size:14px;">
<td colspan="2">
Discount:
</td>
<td>
<xsl:value-of select="paymentinfo/@discount"/>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<xsl></xsl>
</xsl:otherwise>
</xsl:choose>
首先,这里不需要使用 <xsl:choose>
,因为你只想显示它是否存在,所以一个简单的 <xsl:if>
就可以了。
但无论如何这不是问题...
因此,要检查它是否存在,您可以将其转换为 String
(我不确定类型是什么,因为它未指定,我们也看不到参数的初始化位置)然后检查是否为空。您的代码将如下所示:
<xsl:if test="string($discount) != ''">
<tr style="font-size:14px;">
<td colspan="2"><xsl:text>Discount:</xsl:text></td>
<td><xsl:value-of select="paymentinfo/@discount"/></td>
</tr>
</xsl:if>