Hallo zusammen,
ich suche ein XPath-Statement, welches mir die Anzahl gewonnener Spiele eines Teams generiert. Schaut euch am besten mal die beiden Quelltexte an, dann wird klar, was ich meine (mir geht es um die Zeile: <xsl:variable name="gewonnen" select="???"/>)
XML-Datei:
<?xml-stylesheet href="em.xsl" type="text/xsl" ?>
<resultate gruppe="B">
<spiel>
<datum>13-Jun-04</datum>
<team tore="0">Schweiz</team>
<team tore="0">Kroatien</team>
</spiel>
<spiel>
<datum>13-Jun-04</datum>
<team tore="2">Frankreich</team>
<team tore="1">England</team>
</spiel>
<spiel>
<datum>17-Jun-04</datum>
<team tore="0">England</team>
<team tore="0">Schweiz</team>
</spiel>
<spiel>
<datum>17-Jun-04</datum>
<team tore="3">Kroatien</team>
<team tore="0">Frankreich</team>
</spiel>
<spiel>
<datum>21-Jun-04</datum>
<team tore="1">Kroatien</team>
<team tore="0">England</team>
</spiel>
<spiel>
<datum>21-Jun-04</datum>
<team tore="0">Schweiz</team>
<team tore="0">Frankreich</team>
</spiel>
</resultate>
XSL-Datei:
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="teams" select="//team[not(.=preceding::team)]"/>
<xsl:variable name="spiele" select="//spiel"/>
<xsl:template match="resultate">
<html><body>
<table border="5">
<tr>
<th>Team</th>
<th>Spiele</th>
<th>Gewonnen</th>
<th>Geschossen</th>
<th>Erhalten</th>
</tr>
<xsl:for-each select="$teams">
<xsl:variable name="this" select="."/>
<xsl:variable name="gespielt" select="count($spiele[team=$this])"/>
<xsl:variable name="gewonnen" select="???"/>
<xsl:variable name="geschossen" select="sum($spiele/team[.=current()]/@tore)"/>
<xsl:variable name="erhalten" select="sum($spiele[team=current()]/team/@tore) - $geschossen"/>
<tr>
<td><xsl:value-of select="."/></td>
<td><xsl:value-of select="$gespielt"/></td>
<td><xsl:value-of select="$gewonnen"/></td>
<td><xsl:value-of select="$geschossen"/></td>
<td><xsl:value-of select="$erhalten"/></td>
</tr>
</xsl:for-each>
</table>
</body></html>
</xsl:template>
</xsl:stylesheet>
Weiss da jemand, welcher Art das XPath-Statement sein soll, um dieses Problem zu lösen? Bin sehr gespannt,wie eine solche Lösung aussieht. Nimmt mich natürlich schon wunder, warum ich nicht selber drauf gekommen bin ;).
Also, vielen Dank für jedwelche inputs!!!
Lg, Zapp