Zapp: Schwieriges XPath-Statement gesucht!

Beitrag lesen

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