Bonjour tout le monde,
Tout d'abrd, je n'ai pas trouvé une rubrique spécial XML/XSLT..., donc puisque je suis sous JSP, j'ai posé la question ici.
J'ai un fichier Xml qui ressemble à ça :
<?xml version="1.0" encoding="ISO-8859-1"?>
<Root name="nomRoot" >
<Operation Att1="A" Att2="B" Att3="1" />
<Operation Att1="C" Att2="D" Att3="2" />
....
<Operation Att1="A" Att2="B" Att3="3" />
<Operation Att1="A" Att2="B" Att3="4" />
</Root>
Puis voici une partie de mon fichier XSLT :
...
<xsl:template match="Root">
<xsl:for-each select="Delete">
<center>
<table border="1">
<tr>
<td>
<xsl:value-of select="Att1" />
</td>
<td>
<xsl:value-of select="Att2" />
</td>
</tr>
<tr>
<td colspan="2">
<xsl:value-of select="@Att3" />
</td>
</tr>
</table>
</center>
</xsl:for-each>
</xsl:template>
...
Après la transformation je récupère pour chaque element Operation un tableau HTML avec deux lignes (la première contenant Att1 et Att2, et la deuxième seulement Att3): comme ça :
______________________________
| A | B |
|______________________________|
| 1 |
|______________________________|
______________________________
| C | D |
|______________________________|
| 2 |
|______________________________|
______________________________
| A | B |
|______________________________|
| 3 |
|______________________________|
______________________________
| A | B |
|______________________________|
| 4 |
|______________________________|
mais ce que je voudrai faire, c'est que si j'ai dans mon fichier XML plusieurs lignes qui ont les même valeurs dans Att1 & Att2 qu'il me mettent tous les Att3 dans un seul tableau, au lieu de chaque tableau à part, une sorte de Group By, comme ça :
______________________________
| A | B |
|______________________________|
| 1 |
| 3 |
| 4 |
|______________________________|
______________________________
| C | D |
|______________________________|
| 2 |
|______________________________|
Je voudrais savoir qu'est ce que je dois changer dans mon fichier XSLT pour atteindre ce résultat ?
J'espère que j'étais clair dans ma question.