Hallo,
ich hoffe mir kann jemand helfen
(tüfftel schon ne ganze Weile daran herum)
Ziel ist es einfach nach einer Summe von Bytes zu sortieren:
XML-Datei schaut so aus:
(DZ sind Datenzeilen mit DFÜ-Partnern und Bytes)
<?xml version ='1.0' encoding='ISO-8859-1'?>
<?xml-stylesheet type='text/xsl' href='test.xsl'?>
<MONATS_STATISTIK>
<DZ><PA>Bank1</PA><BYTE>00001000</BYTE></DZ>
<DZ><PA>Bank2</PA><BYTE>00002048</BYTE></DZ>
<DZ><PA>Bank3</PA><BYTE>00001024</BYTE></DZ>
<DZ><PA>Bank1</PA><BYTE>00001000</BYTE></DZ>
<DZ><PA>Bank2</PA><BYTE>00002048</BYTE></DZ>
</MONATS_STATISTIK>
XSL-Datei:
(nicht verwirren lassen,
habe gleich alles hier reinkopiert für Copy/Paste,
ist nicht so viel)
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="MONATS_STATISTIK">
<html>
<head>
<title>Statistik Test</title>
</head>
<body bgcolor="#808080" link="#FF9966" vlink="#FF9966" alink="#FFFFFF">
<div align="center">
<table>
<tr>
<td><b>DFÜ-Partner</b></td>
<td width="20"/>
<td align="right"><b>BYTE</b></td>
</tr>
<xsl:for-each select="//DZ">
<xsl:sort select="BYTE" order="descending"/>
<xsl:for-each select="PA[not(.=following::PA)]">
<tr>
<xsl:variable name="aktueller_PA" select="."/>
<td><xsl:value-of select="."/></td>
<td/>
<td align="right"><b><xsl:value-of select="sum(//DZ[contains(PA, $aktueller_PA)]/BYTE)"/></b></td>
</tr>
</xsl:for-each>
</xsl:for-each>
</table>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Es klappt alles in der XSL Datei, lediglich die Zeile
<xsl:sort select="BYTE" order="descending"/>
sortiert nach "BYTE" und nicht nach Summe der Bytes.
Es klappt nicht wenn ich hier einfach "sum(BYTE)" eintrage.
Hoffe einer von euch scrollt nicht gleich weiter ;-)
ciao
-Johnny-