Hallo,
irgendwie häng ich da an einem kleinen Problem:
XML-Daten:
#############################
Alles anzeigen
#############################
Wenn ich nun mittels XSL pro Kunde den Lagerwert (preis*menge*(1-rabatt)) errechne, wie kann ich dann diesen errechneten Wert summieren?
Mein Ansatz war:
#############################
Alles anzeigen
#############################
Allerdings motzt der Parser schon bei der Berechnung da die XPath-Ausdrücke anscheinen keine Nodes zurück geben.
Wo liegt mein Denkfehler? Oder muss ich es einfach komplett anders angehn?
MfG
Angelripper
irgendwie häng ich da an einem kleinen Problem:
XML-Daten:
#############################
Quellcode
- <?xml version="1.0" encoding="UTF-8"?>
- <?xml-stylesheet href="kundenumsatz.xsl" type="text/xsl"?>
- <kundenumsatz>
- <kunde>
- <kundencode>QUICK</kundencode>
- <firma>QUICK-Stop</firma>
- <plz>01307</plz>
- <land>Deutschland</land>
- <bestellnr>10285</bestellnr>
- <artikel>Chai</artikel>
- <preis>14.4</preis>
- <menge>45</menge>
- <rabatt>0.2</rabatt>
- </kunde>
- <kunde>
- <kundencode>RATTC</kundencode>
- <firma>Rattlesnake Canyon Grocery</firma>
- <plz>87110</plz>
- <land>USA</land>
- <bestellnr>10294</bestellnr>
- <artikel>Chai</artikel>
- <preis>14.4</preis>
- <menge>18</menge>
- <rabatt>0</rabatt>
- </kunde>
- <kunde>
- <kundencode>LONEP</kundencode>
- <firma>Lonesome Pine Restaurant</firma>
- <plz>97219</plz>
- <land>USA</land>
- <bestellnr>10317</bestellnr>
- <artikel>Chai</artikel>
- <preis>14.4</preis>
- <menge>20</menge>
- <rabatt>0</rabatt>
- </kunde>
#############################
Wenn ich nun mittels XSL pro Kunde den Lagerwert (preis*menge*(1-rabatt)) errechne, wie kann ich dann diesen errechneten Wert summieren?
Mein Ansatz war:
#############################
Quellcode
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <!-- -->
- <xsl:template match="/">
- <h1>Kundenumsatz</h1>
- <xsl:apply-templates select="/kundenumsatz"/>
- </xsl:template>
- <!-- -->
- <xsl:template match="kundenumsatz">
- <xsl:value-of select="sum(/kundenumsatz/kunde/preis*/kundenumsatz/kunde/menge*(1-/kundenumsatz/kunde/rabatt))"/>
- </xsl:template>
- <!-- -->
- <xsl:template match="node()|@*">
- <xsl:apply-templates/>
- </xsl:template>
- <!-- -->
- </xsl:stylesheet>
#############################
Allerdings motzt der Parser schon bei der Berechnung da die XPath-Ausdrücke anscheinen keine Nodes zurück geben.
Wo liegt mein Denkfehler? Oder muss ich es einfach komplett anders angehn?
MfG
Angelripper