format-number(zahl, pattern, decimal-format)
<xsl:decimal-format ... />
Snip:
< decimal-format
name= qname
decimal-separator= char
grouping-separator= char
infinity= string
minus-sign= char
NaN= string
percent= char
per-mille= char
zero-digit= char
digit= char
pattern-separator= char >
<-- Content: -->
< /decimal-format>
<xsl:template name="konvertBetrag2">
<xsl:param name="betrag"/>
<xsl:value-of select="format-number($betrag, pattern, decimal-format)"/>
</xsl:template>
<xsl:template name="ersetze">
<xsl:param name="mitp"/>
<xsl:variable name="zeichen" select="substring($mitp, 1, 1)"/>
<xsl:variable name="laenge" select="string-length($mitp)"/>
<xsl:variable name="neubetrag" select="substring($mitp, 2, $laenge)"/>
<xsl:if test="not($laenge = 0)">
<xsl:choose>
<xsl:when test="$zeichen = '.'">
<xsl:text>,</xsl:text>
</xsl:when>
<xsl:when test="$zeichen = ','">
<xsl:text>.</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$zeichen"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="ersetze">
<xsl:with-param name="mitp" select="$neubetrag"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="konvertBetrag">
<xsl:param name="betrag"/>
<xsl:variable name="mitp" select="format-number($betrag, '###,###.00')"/>
<xsl:call-template name="ersetze">
<xsl:with-param name="mitp" select="$mitp"/>
</xsl:call-template>
</xsl:template>
<xsl:decimal-format name="meinDezimalFormat" decimal-seperator="," grouping-seperator="." />
###,###,###.00
format-number('1234567', '###,###.00', meinDezimalFormat)
<xsl:template name="konvertBetrag">
<xsl:decimal-format name="meinDezimalFormat" decimal-seperator="," grouping-seperator="." />
<xsl:param name="betrag"/>
<xsl:variable name="mitp" select="format-number($betrag, '###,###.00', meinDezimalFormat)"/>
<xsl:value-of select="$mitp"/>
</xsl:template>