Edi: Anzahl unterschiedlicher Elemente innerhalb einer Schleife

Hallo,
ich formuliere meine Anforderungen neu (für jene, welche mein vorheriges Posting gelesen haben)
Ich habe folgende XML Daten:
<auftraege>
 <daten>
   <auftrag>
     <beguenstigter>Thomas</beguenstigter>
     <betrag>100</betrag>
     <waehrung>EUR</waehrung>
   </auftrag>
 <daten>
 <daten>
   <auftrag>
     <beguenstigter>Dieter</beguenstigter>
     <betrag>200</betrag>
     <waehrung>USD</waehrung>
   </auftrag>
   <auftrag>
     <beguenstigter>Franz</beguenstigter>
     <betrag>120</betrag>
     <waehrung>EUR</waehrung>
   </auftrag>
   <auftrag>
     <beguenstigter>Jochen</beguenstigter>
     <betrag>130</betrag>
     <waehrung>CHF</waehrung>
   </auftrag>
 <daten>
 <daten>
   <auftrag>
     <beguenstigter>Thomas</beguenstigter>
     <betrag>300</betrag>
     <waehrung>EUR</waehrung>
   </auftrag>
   <auftrag>
     <beguenstigter>Paul</beguenstigter>
     <betrag>100</betrag>
     <waehrung>CHF</waehrung>
   </auftrag>
 <daten>
</auftraege>

Ich habe folgende key Definition:
<xsl:key name="w" match="waehrung" use="."/>
In meinem for-each "daten" möchte ich jedesmal ausgeben, wieviel unterschiedliche Währungen im jeweiligen "daten" Knoten enthalten sind. Das Verhalten ist aber äußerst merkwürdig (jedenfalls für mich).

<xsl:for-each select="daten" >
 <xsl:value-of select="count(auftrag/waehrung[generate-id(.) = generate-id(key('w', .)[1])])"/>

In diesem Fall erhalte ich das erste Mal 1 (habe nur Aufträge in EUR), das 2. Mal erhalte ich aber 2 (ich habe mir 3 erwartet), aber es scheint so, als würden nur die neuen zusätzlichen Währungen gezählt (also Euro hatte ich schon, also kommen noch CHF und USD dazu).
Beim 3. Knoten "daten" erhalte ich dann "0", denn es gibt keine neue zusätzliche Währung.

Wie kann ich in meinem for-each daten zählen, wieviel unterschiedliche Währungen es ab diesem Knoten gibt, also 1, 3 und 2 müßte dann herauskommen.
Wenn ich den Zähler auf das ganze Dokument anwende (also ausserhalb der for-each Schleife) dann erhalte ich richtigerweise die Anzahl der gesamten unterschiedlichen Währungen (3 ==> EUR, USD, CHF)
Danke
Edi