<html>
<head>
<title>&lt;xsl:decimal-format&gt;</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="Beschreibung">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">&lt;xsl:decimal-format&gt;</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">
Diese Anweisung definiert ein Zahlenformat, das beim Schreiben numerischer Werte in das Ausgabedokument verwendet werden soll. Besitzt das Element <span class="LITERAL">&lt;decimal-format&gt;</span> keinen Namen (<span class="LITERAL">name</span>), so wird das f&uuml;r alle Ausgaben g&uuml;ltige Standardzahlenformat verwendet. Wenn hingegen ein Zahlenformat benannt ist, kann man mit Hilfe der Funktion <span class="LITERAL">format-number()</span> darauf verweisen.</td></tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Kategorie</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Element der obersten Ebene</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Obligatorische Attribute</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Keine</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Optionale Attribute</td>
</tr>
<tr>
<td colspan="2" class="description">
<dl>
<dt>
name
</dt>
<dd>
Weist dem Format einen Namen zu.
<P></p>
<dt>
decimal-separator
</dt>
<dd>
Dieses Attribut definiert das Zeichen (meist ein Punkt oder ein Komma), das als Dezimalzeichen verwendet wird. Dieses Zeichen wird sowohl im Format-String als auch in der Ausgabe verwendet. Der Standardwert ist der Punkt ( <span class="LITERAL"> . </span> ).
<P></p>
<dt>
grouping-separator
</dt>
<dd>
Dieses Attribut definiert das Zeichen (meist ein Punkt oder ein Komma), das als Tausendertrennzeichen verwendet wird. Dieses Zeichen wird sowohl im Format-String als auch in der Ausgabe verwendet. Der Standardwert ist ein Komma (<span class="LITERAL"> , </span>).
<P></p>
<dt>
infinity
</dt>
<dd>
Dieses Attribut definiert den String, der unendlich repr&auml;sentiert. Beachten Sie, dass die Nummerierungsmerkmale von XSLT sowohl positiv unendlich als auch negativ unendlich unterst&uuml;tzen. Dieser String wird nur in der Ausgabe verwendet. Der Standardwert ist der String &quot;Infinity&quot;.
<P></p>
<dt>
minus-sign
</dt>
<dd>
Definiert das als Minuszeichen verwendete Zeichen. Dieses Zeichen wird nur in der Ausgabe verwendet. Der Standardwert ist der Bindestrich (<span class="LITERAL"> - </span>, #x2D).
<P></p>
<dt>
NaN
</dt>
<dd>
Dieses Attribut definiert den String, der angezeigt wird, wenn es sich beim zu formatierenden Wert nicht um eine Zahl handelt. Dieser String wird nur in der Ausgabe verwendet. Der Standardwert ist der String &quot;NaN&quot; (f&uuml;r 'Not a Number').
<P></p>
<dt>
percent
</dt>
<dd>
Definiert das als Prozentzeichen verwendete Zeichen. Dieses Zeichen wird sowohl im Format-String als auch in der Ausgabe verwendet. Der Standardwert ist das Prozentzeichen (<span class="LITERAL"> % </span>).
<P></p>
<dt>
per-mille
</dt>
<dd>
Definiert das als Promillezeichen verwendete Zeichen. Dieses Zeichen wird sowohl im Format-String als auch in der Ausgabe verwendet. Der Standardwert ist das Unicode-Promillezeichen (#x2030).
<P></p>
<dt>
zero-digit
</dt>
<dd>
Dieses Attribut definiert das Zeichen, das f&uuml;r die Ziffer Null zu verwenden ist. Dieses Zeichen wird sowohl im Format-String als auch in der Ausgabe verwendet. Der Standardwert ist die Ziffer Null (<span class="LITERAL"> 0 </span>).
<P></p>
<dt>
digit
</dt>
<dd>
Dieses Attribut definiert das Zeichen, das im Format-String als Platzhalter f&uuml;r eine Ziffer verwendet wird. Der Standardwert ist das Nummernzeichen (<span class="LITERAL"> # </span>).
<P></p>
<dt>
pattern-separator
</dt>
<dd>
Hiermit wird das Zeichen definiert, das zur Abgrenzung der positiven und negativen Untermuster in einem Muster dient. Der Standardwert ist das Semikolon (<span class="LITERAL"> ; </span>). Dieses Zeichen wird nur im Format-String verwendet.
<P></p>
</dl>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Inhalt</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Keiner. <span class="LITERAL">&lt;xsl:decimal-format&gt;</span> ist ein leeres Element.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">&Uuml;bergeordnetes Element</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>
<span class="LITERAL">&lt;xsl:decimal-format&gt;</span> ist ein Element der obersten Ebene und kann nur dem Element <span class="LITERAL">&lt;xsl:stylesheet&gt;</span> untergeordnet werden.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Definition</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>XSLT-Abschnitt 12.3, Zahlenformatierung.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Beispiel</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Hier ein Stylesheet, das zwei Dezimalformate (<span class="LITERAL">&lt;decimal-format&gt;</span>) definiert:</p>
<span class="PROGRAMLISTING"><pre>
&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
&lt;xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:months="Lookup table for month names"&gt;

  &lt;xsl:output method="text"/&gt;

  &lt;months:name sequence="01"&gt;January&lt;/months:name&gt;
  &lt;months:name sequence="02"&gt;February&lt;/months:name&gt;
  &lt;months:name sequence="03"&gt;March&lt;/months:name&gt;
  &lt;months:name sequence="04"&gt;April&lt;/months:name&gt;

  &lt;xsl:variable name="newline"&gt;
&lt;xsl:text&gt;
&lt;/xsl:text&gt;
  &lt;/xsl:variable&gt;

  &lt;xsl:decimal-format name="f1"
    decimal-separator=":"
    grouping-separator="/"/&gt;

  &lt;xsl:decimal-format name="f2"
    infinity="Really, really big"
    NaN="[not a number]"/&gt;

  &lt;xsl:template match="/"&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;Tests of the &lt;decimal-format&gt; element:&lt;/xsl:text&gt;

    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   format-number(1528.3, '#/###:00', 'f1')=&lt;/xsl:text&gt;
    &lt;xsl:value-of select="format-number(1528.3, '#/###:00;-#/###:00', 'f1')"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   format-number(1 div 0, '###,###.00', 'f2')=&lt;/xsl:text&gt;
    &lt;xsl:value-of select="format-number(1 div 0, '###,###.00', 'f2')"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   format-number(blue div orange, '#.##', 'f2')=&lt;/xsl:text&gt;
    &lt;xsl:value-of select="format-number(blue div orange, '#.##', 'f2')"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:for-each select="report/month"&gt;
      &lt;xsl:text&gt;   &lt;/xsl:text&gt;
      &lt;xsl:value-of 
        select="document('')/*/months:name[@sequence=current()/@sequence]"/&gt;
      &lt;xsl:text&gt; - &lt;/xsl:text&gt;
      &lt;xsl:value-of select="format-number(miles-flown, '##,###')"/&gt;
      &lt;xsl:text&gt; miles flown, &lt;/xsl:text&gt;
      &lt;xsl:value-of select="format-number(miles-earned, '##,###')"/&gt;
      &lt;xsl:text&gt; miles earned.&lt;/xsl:text&gt;
      &lt;xsl:value-of select="$newline"/&gt;
      &lt;xsl:text&gt;     (&lt;/xsl:text&gt;
      &lt;xsl:value-of 
        select="format-number(miles-flown div sum(//miles-flown), '##%')"/&gt;
      &lt;xsl:text&gt; of all miles flown, &lt;/xsl:text&gt;
      &lt;xsl:value-of 
        select="format-number(miles-earned div sum(//miles-earned), '##%')"/&gt;
      &lt;xsl:text&gt; of all miles earned.)&lt;/xsl:text&gt;
      &lt;xsl:value-of select="$newline"/&gt;
      &lt;xsl:value-of select="$newline"/&gt;
    &lt;/xsl:for-each&gt; 
    &lt;xsl:text&gt;   Total miles flown: &lt;/xsl:text&gt;
    &lt;xsl:value-of select="format-number(sum(//miles-flown), '##,###')"/&gt;
    &lt;xsl:text&gt;, total miles earned: &lt;/xsl:text&gt;
    &lt;xsl:value-of select="format-number(sum(//miles-earned), '##,###')"/&gt;
  &lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;</pre></span>
<p>Das Stylesheet wird auf das folgende Dokument angewendet:</p>
<span class="PROGRAMLISTING"><pre>
&lt;?xml version="1.0"?&gt;
&lt;report&gt;
  &lt;title&gt;Miles Flown in 2001&lt;/title&gt;
  &lt;month sequence="01"&gt;
    &lt;miles-flown&gt;12379&lt;/miles-flown&gt;
    &lt;miles-earned&gt;35215&lt;/miles-earned&gt;
  &lt;/month&gt;
  &lt;month sequence="02"&gt;
    &lt;miles-flown&gt;32857&lt;/miles-flown&gt;
    &lt;miles-earned&gt;92731&lt;/miles-earned&gt;
  &lt;/month&gt;
  &lt;month sequence="03"&gt;
    &lt;miles-flown&gt;19920&lt;/miles-flown&gt;
    &lt;miles-earned&gt;76725&lt;/miles-earned&gt;
  &lt;/month&gt;
  &lt;month sequence="04"&gt;
    &lt;miles-flown&gt;18903&lt;/miles-flown&gt;
    &lt;miles-earned&gt;31781&lt;/miles-earned&gt;
  &lt;/month&gt;
&lt;/report&gt;</pre></span>
<p>Hier das Ergebnis, wenn Sie das Dokument mit diesem Stylesheet verarbeiten:</p>
<span class="PROGRAMLISTING"><pre>

Tests of the &lt;decimal-format&gt; element:

   format-number(1528.3, '#/###:00', 'f1')=1/528:30
   format-number(1 div 0, '###,###.00', 'f2')=Really, really big
   format-number(blue div orange, '#.##', 'f2')=[not a number]

   January - 12,379 miles flown, 35,215 miles earned.
     (15% of all miles flown, 15% of all miles earned.)

   February - 32,857 miles flown, 92,731 miles earned.
     (39% of all miles flown, 39% of all miles earned.)

   March - 19,920 miles flown, 76,725 miles earned.
     (24% of all miles flown, 32% of all miles earned.)

   April - 18,903 miles flown, 31,781 miles earned.
     (22% of all miles flown, 13% of all miles earned.)

   Total miles flown: 84,059, total miles earned: 236,452</pre></span>
</td>
</tr>
</table>
</div>
</body>
</html>
