hh: format-number - gibt es eine bessere Alternative?

Beitrag lesen

Hallo,

Parameter für die Sprache wird im parsing-prozess dem Parameter $Language zugewiesen, entweder de oder en. Nun sollen auch die Werte mit den richtigen Trennzeichen angegeben werden. Eigentlich habe ich eine Lösung schon gefunden, aber ich wollte mal nachfragen, ob es dafür eine elegantere Variante gibt, habe im WWW und Forum nichts gefunden.

Globale Definition der Varaiblen im kopf des xsl-Datei:

<xsl:param name="Language" select="'de'"/>
 <xsl:decimal-format name="en" decimal-separator="." grouping-separator=","/>
 <xsl:decimal-format name="de" decimal-separator="," grouping-separator="."/>
 <xsl:param name="NumberFormat">
  <xsl:if test="$Language='de'">
   <xsl:value-of select="'#.##0,##'"/>
  </xsl:if>
  <xsl:if test="$Language='en'">
   <xsl:value-of select="'#,##0.##'"/>
  </xsl:if>
 </xsl:param>
 <xsl:param name="PercentFormat">
  <xsl:if test="$Language='de'">
   <xsl:value-of select="'##0,0 %'"/>
  </xsl:if>
  <xsl:if test="$Language='en'">
   <xsl:value-of select="'##0.0 %'"/>
  </xsl:if>
 </xsl:param>

Später wird ein Wert mit dem entsprechenden Wert in dieser Form aufgerufen:

<xsl:value-of select="format-number(Wert,$FormatNumber,$Language)"/>

oder für Prozentangaben:

<xsl:value-of select="format-number(Wert,$PercentNumber,$Language)"/>

Gibt es elegantere Varianten?

Gruß, Holger