Как удалить знак фунта из атрибута XML в XSLT? - PullRequest
2 голосов
/ 14 января 2012

Я хотел удалить знак фунта (£) в атрибуте formattedValue в XSLT. Не могли бы вы помочь с этим?

    <price value="£99.99" formattedValue="£99.99">55.55</price>

мне нужен вывод как 99,99

В основном необходимо убрать знак фунта в XSLT

Ответы [ 2 ]

2 голосов
/ 14 января 2012

Использовать перевод:

<xsl:template match="@* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="price">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="price/@formattedValue">
  <xsl:attribute name="{name()}">
    <xsl:value-of select="translate(., '£', '')"/>
  </xsl:attribute>
</xsl:template>
0 голосов
/ 14 января 2012

Вы можете использовать либо функцию translate() :

translate(@formattedValue, '£', '')

или, что я бы порекомендовал в данном конкретном случае как более короткий и, возможно, более эффективный - используйте функцию substring() :

substring(@formattedValue, 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...