Все в порядке, на странице товара заменил свой код на код от llirik, всё работает. Но у меня стоимость выведена еще и на предыдущей странице, в списке товаров, там в коде от llirik внес незначительную правку и всё заработало. Если кому-то будет полезно, код в списке товаров исходный (выводит цену 0,00 р.):
<xsl:apply-templates select="/shop/shop_currency/code">
<xsl:with-param name="value" select="price" />
</xsl:apply-templates> руб.
<xsl:if test="discount != 0">
<span class="old-price">
<xsl:apply-templates select="/shop/shop_currency/code">
<xsl:with-param name="value" select="price + discount" />
</xsl:apply-templates>
</span>
</xsl:if>
код в списке товаров конечный (выводит "Уточняйте стоимость"

:
<xsl:choose>
<xsl:when test="price > 0">
Цена: <xsl:apply-templates select="/shop/shop_currency/code">
<xsl:with-param name="value" select="price" />
</xsl:apply-templates>
<xsl:text> </xsl:text>
<xsl:if test="discount != 0">
<span class="old-price">
<xsl:apply-templates select="/shop/shop_currency/code">
<xsl:with-param name="value" select="price + discount" />
</xsl:apply-templates>
</span><xsl:text> </xsl:text>
</xsl:if>
</xsl:when>
<xsl:otherwise>
Уточняйте стоимость
</xsl:otherwise>
</xsl:choose>
Ещё раз благодарю за помощь!