Edmund Schöpf: Suche, ober ein bestimmter Wert mindestens einmal vorkommt

Beitrag lesen

Hallo,

danke, das mit dem Punkt war die Lösung. Es ist nicht das erste Mal, dass ich Dank <del>Ihrer/</del>Deiner Hilfe meine Probleme gelöst habe.

Ich hätte da gleich noch eine Variante:
Wie stelle ich fest, ob die Elemente DIVISA alle den gleichen Wert haben? D.h. ich möchte wissen, ob unterschiedliche Währungen vorhanden sind, oder alles dieselben (unabhängig von EUR)?

<xsl:key name="waehrung" match="DIVISA" use="."/>
<xsl:template match="/">
  <xsl:if test="count(/DATA/DISPO/DIVISA[ . != 'EUR']) &gt; 0">
   Es gibt mind. eine andere Währung!
  </xsl:if>

so viele versch. Währungen gibt es:
<xsl:value-of select="count(//DIVISA[generate-id(.) = generate-id(key('waehrung', .)[1])])"/>

das sind die versch. Währungen:
  <xsl:for-each select="//DIVISA[generate-id(.) = generate-id(key('waehrung', .)[1])]">
   <xsl:value-of select="."/>
  </xsl:for-each>
</xsl:template>

Grüße
Thomas

Nach etwas Suche habe ich nun am Beginn meines XSL folgende keys Anweisung hinzugefügt:
  <xsl:key name="DIV" match="DISPO" use="DIVISA" />
Am Ende hab ich dann diese Anweisung, die mir immer 0 zurückgibt
  <xsl:value-of select="count(/DATI/DISPO/DIVISA[generate-id(.) = generate-id(key('DIV', .)[1])])"/>

Irgendetwas mach ich noch falsch.
Edi