Bonjour,
Ce post fait suite à un problème précédemment rencontré par ma part :
http://www.developpez.net/forums/d1091790/autres-langages/xml-xsl-soap/xsl-xslt-xpath/selectionner-elements-sauf-seul/
J'obtenais bien les données que je voulais mais malheureusement, en les plaçant dans mon tableau, je n'obtenais aucun alignement et il était impossible de retrouver tel <POSSIBLE_VALUES> appartenait à tel <KEY> par exemple.
J'ai donc passé la journée à essayer de trouver une solution lors du parcours de mon XML avec la XSL pour aligner ça mais aucune solution n'a été concluante que ce soit avec utilisant les colspan ou les rowspan, je n'arrive toujours pas à aligner les celulles.
L'objectif est d'avoir quelque chose comme l'image en PJ avec ce post.
Code actuel :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 <xsl:template match="SECTION"> <table> <caption><xsl:value-of select="@name"/></caption> <thead> <tr> <th>Functional group</th> <th>Name</th> <th>Type</th> <th>Default value</th> <th>Min SCG version</th> <th>Description</th> <th>Possible values</th> </tr> </thead> <tbody> <xsl:variable name="linebreak"> <xsl:text> </xsl:text> </xsl:variable> <!--column functional_group--> <xsl:for-each select="KEY[generate-id() = generate-id(key('functional', concat(../@name, '|', @functional_group))[1])]"> <tr> <td> <strong><xsl:value-of select="@functional_group" /></strong> </td> <xsl:variable name="current-group" select="@functional_group"/> <!--column name--> <td> <table> <xsl:for-each select="../KEY[@functional_group = $current-group]/@name"> <tr> <xsl:choose> <xsl:when test="current()=''"><td>Missing value</td></xsl:when> <xsl:otherwise><td><xsl:value-of select="current()"/></td></xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </td> </tr> </xsl:for-each> </tbody> </table> </xsl:template>
Enfin, je n'arrive pas à faire une requête XPATH à partir de la troisième colonne de mon tableau, le XPATH me renvoyant toujours nul alors que je demande simplement de me donner le bon attribut:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <xsl:variable name="current-name" select="current()"/><xsl:for-each select="../KEY[@functional_group = $current-group and @name=$current-name]/@type"> <!--ca ne renvoie rien ici--> </xsl:for-each>
Merci
Partager