Часть браузеров и операционных систем не поддерживает новые расширенные версии Unicode (например, символ рубля, добавленный в версии Unicode 7.0). Решить проблему можно выводом валюты с использованием шрифта Font Awesome.
Добавьте в XSL-шаблон определение формата и шаблон currencycode:
<xsl:decimal-format name="spaces" grouping-separator=" " />
<!-- currencycode - шаблон вывода цен -->
<xsl:template match="currencycode">
<xsl:param name="value" />
<xsl:variable name="spaced" select="format-number($value, '# ###', 'spaces')" />
<xsl:choose>
<xsl:when test=". = 'USD'">$<xsl:value-of select="$spaced"/></xsl:when>
<xsl:when test=". = 'EUR'">€<xsl:value-of select="$spaced"/></xsl:when>
<xsl:when test=". = 'GBP'">£<xsl:value-of select="$spaced"/></xsl:when>
<xsl:when test=". = 'RUB'"><xsl:value-of select="$spaced"/><i class="fa fa-ruble"></i></xsl:when>
<xsl:when test=". = 'AUD'">AU$<xsl:value-of select="$spaced"/></xsl:when>
<xsl:when test=". = 'CNY'"><xsl:value-of select="$spaced"/>元</xsl:when>
<xsl:when test=". = 'JPY'"><xsl:value-of select="$spaced"/>¥</xsl:when>
<xsl:when test=". = 'KRW'"><xsl:value-of select="$spaced"/>₩</xsl:when>
<xsl:when test=". = 'PHP'"><xsl:value-of select="$spaced"/>₱</xsl:when>
<xsl:when test=". = 'THB'"><xsl:value-of select="$spaced"/>฿</xsl:when>
<xsl:when test=". = 'BRL'">R$<xsl:value-of select="$spaced"/></xsl:when>
<xsl:when test=". = 'INR'"><xsl:value-of select="$spaced"/><i class="fa fa-inr"></i></xsl:when>
<xsl:when test=". = 'TRY'"><xsl:value-of select="$spaced"/><i class="fa fa-try"></i></xsl:when>
<xsl:when test=". = 'ILS'"><xsl:value-of select="$spaced"/><i class="fa fa-ils"></i></xsl:when>
<xsl:otherwise><xsl:value-of select="$spaced"/><xsl:value-of select="." /></xsl:otherwise>
</xsl:choose>
</xsl:template>
затем при выводе цены (в данном примере amount) и валюты (/shop/shop_currency/name) вместо:
<xsl:value-of select="amount"/><xsl:text> </xsl:text><xsl:value-of select="/shop/shop_currency/name"/>
используйте:
<xsl:apply-templates select="/shop/shop_currency/currencycode">
<xsl:with-param name="value" select="amount" />
</xsl:apply-templates>