Bonjour
Je suis débutant en XML/XSLT et voilà le problème que je rencontre :
1- J'ai un fichier XML (généré automatiquement donc je ne peux changer sa structure) :
<?xml version="1.0" encoding="ISO-8859-1"?>
<report>
<row id='1'>
<column id='1' name='GPE_RUBRIQUES'>Collaborateurs</column>
<column id='2' name='RUBRIQUES'>Absence</column>
<column id='3' name='SS_RUBRIQUES'>Avis absence</column>
</row>
<row id='2'>
<column id='1' name='GPE_RUBRIQUES'>Collaborateurs</column>
<column id='2' name='RUBRIQUES'>Absence</column>
<column id='3' name='SS_RUBRIQUES'>Gestion congés</column>
</row>
<row id='3'>
<column id='1' name='GPE_RUBRIQUES'>Informatique</column>
<column id='2' name='RUBRIQUES'>Communication DSI</column>
<column id='3' name='SS_RUBRIQUES'>Bilan 1</column>
</row>
<row id='4'>
<column id='1' name='GPE_RUBRIQUES'>Informatique</column>
<column id='2' name='RUBRIQUES'>Communication DSI</column>
<column id='3' name='SS_RUBRIQUES'>Bilan 2</column>
</row>
</report>
2- J'aimerais avec une feuille de style XSL avoir le résultat suivant :
Collaborateur
Absence
Avis absence
Gestion congés
Informatique
Communication DSI
Bilan 1
Bilan 2
3- J'ai vu que certains utilisaient "preceding-sibling" mais je ne comprends pas trop vu que je débute !
J'ai fait cela dans mon XSL :
<xsl:template match="/report">
<html>
<body>
<table border="1">
<xsl:for-each select="row/column[not(@name = preceding-sibling::row/column/@name)]">
<tr><td><xsl:value-of select="@name"/></td></tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
et j'obtiens le résultat suivant
GPE_RUBRIQUES
RUBRIQUES
SS_RUBRIQUES
GPE_RUBRIQUES
RUBRIQUES
SS_RUBRIQUES
GPE_RUBRIQUES
RUBRIQUES
SS_RUBRIQUES
GPE_RUBRIQUES
RUBRIQUES
SS_RUBRIQUES
Si quelqu'un peu m'aider pour solutionner mon problème et obtenir le résultat que je cherche à avoir ça serait trop top !!!!
Partager