XSL Laie: Summe in XSL

Beitrag lesen

Hi,

Hallo,

Ich möchte die Summe von anz nur für bearbeiter="frau" machen.

<K bearbeiter="mann" datum="20.10.2003" param="1" anz="1"/>
<K bearbeiter="frau" datum="20.10.2003" param="2" anz="2"/>
<K bearbeiter="frau" datum="20.10.2003" param="1" anz="2"/>
<K bearbeiter="frau" datum="20.10.2003" param="1" anz="3"/>

Dazu brauchst Du die sum(node-set) XPath-Funktion.
Und ein geeignetes Nodeset.

Da Du die anz-Attribute von K-Elementen summieren willst:
K/@anz
das erwischt aber alle K-Elemente, also weiter einschränken auf diejenigen @anz-Attribute in K-Elementen, deren Papa (also das K-Element) ein Attribut bearbeiter mit Wert Frau, also ../@bearbeiter='frau' haben.

K/@anz[../@bearbeiter='frau']

Ausgabe der Summe per xsl:value-of:

<xsl:value-of select="sum(K/@anz[../@bearbeiter='frau'])"/>

(evtl. noch den Pfad zum K-Element vor K davorhängen, hängt davon ab, wie das XML aufgebaut ist und in welchem Kontext das entsprechende Template aufgerufen wird).

(Warnung: obiger Code ist nicht getestet, also keine Funktionsgarantie)

cu,
Andreas

Danke :-))