|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 81
|
[XSLT] Trasformazione con for-each, sort e variable
Ciao a tutti, ho il seguente frammento xml:
Codice:
<girone> <classifica> <squadra nome="Ghana" punti="3"/> <squadra nome="Italia" punti="4"/> <squadra nome="Repubblica Ceca" punti="3"/> <squadra nome="U.S.A." punti="1"/> </classifica> <risultati> <partita id="g11"> <squadra nome="Italia" goal="2"/> <squadra nome="Ghana" goal="0"/> </partita> <partita id="g12"> <squadra nome="U.S.A." goal="0"/> <squadra nome="Repubblica Ceca" goal="3"/> </partita> <partita id="g21"> <squadra nome="Ghana" goal="2"/> <squadra nome="Repubblica Ceca" goal="0"/> </partita> <partita id="g22"> <squadra nome="Italia" goal="1"/> <squadra nome="U.S.A." goal="1"/> </partita> </risultati> </girone> Codice:
<table border="1">
<tr>
<td><img src="logo.jpg" height="85" width="150"></td>
<td> Punti </td>
<td> Goal Fatti </td>
<td> Goal Subiti </td>
</tr>
<tr>
<td>Italia</td>
<td>4</td>
<td>3</td>
</tr>
<tr>
<td>Ghana</td>
<td>3</td>
<td>2</td>
</tr>
<tr>
<td>Repubblica Ceca</td>
<td>3</td>
<td>3</td>
</tr>
<tr>
<td>U.S.A.</td>
<td>1</td>
<td>1</td>
</tr>
</table>
le squadre in base a //classifica/squadra/@punti inserendo anche il campo della tabella "goal fatti" e "goal subiti". Ma mi sono reso conto che l'ordine corretto dell'esercizio è (come sarebbe logico aspettarsi) quello in base alla differenza tra goal fatti e subiti. Questo lo si verifica, nel caso della squadra "Italia" con questa espressione: sum(//partita/squadra[@nome='Italia']/@goal) - sum(//partita[squadra/@nome='Italia']/squadra[@nome!='Italia']/@goal) Il mio problema è rendere parametrica questa espressione e ordinare in base ad essa. La maggiore difficoltà è data dal fatto che XSLT non ammette una variabile tra un elemento for e un elemento sort.. e quindi sono bloccato in questa situazione: <xsl:for-each select="//classifica/squadra"> <xsl:sort order="descending" select="@punti" /> <xsl:variable name="nome_tmp" select="@nome" /> Qualche suggerimento? grazie mille! Ultima modifica di vv1984 : 26-11-2008 alle 14:04. Motivo: titolo non corretto, scusate |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:31.



















