Benjamin: Summenprodukt in XSL?

Hallo,

ich kenne aus Excel die Funktion Summenprodukt und würde gern in meiner xsl Transformation etwas in der Art einbauen.

Folgendes Beispiel:

ich habe verschiedene Datensätze:

<Element>  
  <T>3</T>  
  <A>1</T>  
</Element>  
<Element>  
  <T>1</T>  
  <A>1</T>  
</Element>  
<Element>  
  <T>1</T>  
  <A>0</T>  
</Element>  
<Element>  
  <T>1</T>  
  <A>1</T>  
</Element>  

Diese bestehen immer aus T und A. A ist ein true/false Wert - wenn A 1 ist sollen alle T gezählt werden, wenn A 0 ist, nicht. In Excel funktioniert das über das Summenprodukt als mach die summe über alle A*T Berechnungen.

Wie würde ich das in XSL anstellen? Ich komm irgendwie mit meiner xsl-for each schleife nicht weiter - ich kann mir immer nur alle Ergebnisse nacheinander ausgegeben lassen, aber leider nich summieren..

Ich hoffe mir kann jemand helfen! Danke schon mal!
Benjamin

  1. Hallo Benjamin,

    ich kenne aus Excel die Funktion Summenprodukt und würde gern in meiner xsl Transformation etwas in der Art einbauen.

    Die XPath-Funktion sum() erwartet eine Knotenmenge (bzw. Sequenz unter XPath 2.0) und somit lassen sich keine Operationen innerhalb der ()-Klammern angeben.

    Zur Veranschaulichung mal eine Art Warenkorb-XML und die Umsetzung von Summe(Anzahl*Preis) in XSLT 1.0 bzw. kompakter in XSLT 2.0.

    Grüße,
    Thomas

    1. Hallo Thomas,

      Die XPath-Funktion sum() erwartet eine Knotenmenge (bzw. Sequenz unter XPath 2.0) und somit lassen sich keine Operationen innerhalb der ()-Klammern angeben.

      Das ist mir schon klar ;) Deswegen hab ich ja das Thema hier eröffnet! Ich schau mir erstmal das Beispiel an, das erste sieht auf den ersten Blick sehr gut aus! Vielen Dank!!