Hallo Zusammen,
Ich bin noch relativ neu in XSL, aber doch schon ein wenig begeistert, da hier extrem viele wege hier immer nach Rom führen :-)
Das Problem habe ich mittels workaround gelöst, allerdings verstehe ich nicht warum die elegante Version mit replace nicht funktioniert...
Ich wollte mittels
ein Komma durch ein Punkt ersetzen... dies klappte jedoch nicht :-(
Weiß jemand wieso? Ich verwende auch XSL Version 2.0...
--->
<---
Mit einem Template klappt es ohne probleme:
Rettendes Template:
Schöne Grüße bestes Wochenende und Dnke für jede Antwort und Hinweis...
Ich bin noch relativ neu in XSL, aber doch schon ein wenig begeistert, da hier extrem viele wege hier immer nach Rom führen :-)
Das Problem habe ich mittels workaround gelöst, allerdings verstehe ich nicht warum die elegante Version mit replace nicht funktioniert...
Ich wollte mittels
ein Komma durch ein Punkt ersetzen... dies klappte jedoch nicht :-(
Weiß jemand wieso? Ich verwende auch XSL Version 2.0...
--->
Code:
<xsl:value-of select="replace(AdjustedListPrice,',','.')"/>
Mit einem Template klappt es ohne probleme:
Code:
<xsl:call-template name="string-replace-all"> <xsl:with-param name="text" select="AdjustedListPrice" /> <xsl:with-param name="replace" select="','" /> <xsl:with-param name="by" select="'.'" /> </xsl:call-template> </AdjustedListPrice>
Code:
<xsl:template name="string-replace-all"> <xsl:param name="text" /> <xsl:param name="replace" /> <xsl:param name="by" /> <xsl:choose> <xsl:when test="contains($text, $replace)"> <xsl:value-of select="substring-before($text,$replace)" /> <xsl:value-of select="$by" /> <xsl:call-template name="string-replace-all"> <xsl:with-param name="text" select="substring-after($text,$replace)" /> <xsl:with-param name="replace" select="$replace" /> <xsl:with-param name="by" select="$by" /> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$text" /> </xsl:otherwise> </xsl:choose> </xsl:template>
Comment