Bonjour à tous,
j'ai à nouveau, problème...
voici la partie du fichier xml qui pose problème
Et voici la partie de mon XSL qui traite ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <Resultats> <Ligne Nombre="1"> <Label>MESURES SUR LE SITE DE PARIS</Label> </Ligne> <Ligne Nombre="2" > <Date>2000-01-01 01:00:00+01:00</Date> <Val>27</Val> <Val>3</Val> <Val>15</Val> <Val>0</Val> <Val>0</Val> <Val>15</Val> <Val> </Val> <Val>0</Val> </Ligne> <Ligne Nombre="3"> <Date>2000-01-01 02:00:00+01:00</Date> <Val>25</Val> <Val>2</Val> <Val>14</Val> <Val>0</Val> <Val>0</Val> <Val>18</Val> <Val> </Val> <Val>0</Val> </Ligne> </Resultats>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <xsl:for-each select="//Ligne"> <tr class="soustitre"> <td colspan="100%"> <xsl:value-of select="Label"/> </td> </tr> <tr> <td> <xsl:variable name="date" select="Date"/> <xsl:value-of select="concat(substring($date, 9, 2),'/', substring($date, 6, 2),'/', substring($date,1,4))"/> <!-- pour mettre la date au format jj/mm/aa --> </td> <xsl:for-each select="Val"> <td> <xsl:value-of select="."/> </td> </xsl:for-each> </tr> </xsl:for-each>
Il me crée un <tr> avec la valeur du label dont la largeur est le tableau en entier et en dessou un autre <tr>.
J'ai mis en fichier joint une capture d'écran.
J'ai testé en faisant un test conditionnel mais ca n'a pas marché car il me dit qu'on ne peut faire ceci :
<xsl:for-each select="//Ligne">
<xsl:if select="Label"> //Un select est impossible dans un if
La solution est je pense de traduire en langage le :
pour chaque balise Ligne
si je rencontre la balise <label>
je créer un tr de la largeur du tableau
(sinon) je crée mes cellules normalement
Quelqu'un peut-il m'aider ?
A mon avis la solution vient peut être des prédicats XPath...
Partager