1 pièce(s) jointe(s)
Tableau html pris sur un XML avec le bon dimensionnement
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 :cry: 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:
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:
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