我们有一个XML Feed,使用此代码选择价格来显示Google Merchant的价格
<g:price>
<xsl:choose>
<xsl:when test="number(saleprice)=0">
<xsl:value-of select="format-number((price), '###0.00')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="format-number((saleprice), '###0.00')" />
</xsl:otherwise>
</xsl:choose>
</g:price>
然后他们问我是否可以修改Feed以将价格放入一个组中,所以我添加了这个
<xsl:choose>
<xsl:when test="price >= 0 and price < 10">
<g:custom_label_0>£0-10</g:custom_label_0>
</xsl:when>
<xsl:when test="price >= 10 and price < 25">
<g:custom_label_1>£10-25</g:custom_label_1>
</xsl:when>
<xsl:when test="price >= 25 and price < 50">
<g:custom_label_2>£25-50</g:custom_label_2>
</xsl:when>
<xsl:when test="price >= 50 and price < 100">
<g:custom_label_3>£50-100</g:custom_label_3>
</xsl:when>
<xsl:when test="price >= 100 and price < 9999">
<g:custom_label_4>£100+</g:custom_label_4>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
如果产品具有销售价格,那么这将覆盖发送给谷歌的价格值。 xsl:otherwise标记在第二个块的末尾。我如何将其写入那个以将任何saleprice放入该值。我已经尝试过了
<xsl:when test="saleprice >= 0 and saleprice < 10">
<g:custom_label_0>£0-10</g:custom_label_0>
但没有运气。在过去没有真正使用xsl:otherwise
任何帮助将不胜感激
答案 0 :(得分:1)
我相信这会做你想要的(虽然我怀疑它真的是你需要的):
<xsl:variable name="price">
<xsl:choose>
<xsl:when test="number(saleprice)">
<xsl:value-of select="saleprice"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="price"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<g:price>
<xsl:value-of select="format-number($price, '0.00')" />
</g:price>
<xsl:choose>
<xsl:when test="$price > 100">
<g:custom_label_4>£100+</g:custom_label_4>
</xsl:when>
<xsl:when test="$price > 50">
<g:custom_label_3>£50-100</g:custom_label_3>
</xsl:when>
<xsl:when test="$price > 25">
<g:custom_label_2>£25-50</g:custom_label_2>
</xsl:when>
<xsl:when test="$price > 10">
<g:custom_label_1>£10-25</g:custom_label_1>
</xsl:when>
<xsl:otherwise>
<g:custom_label_0>£0-10</g:custom_label_0>
</xsl:otherwise>
</xsl:choose>