I ont le code XML suivant (il est simplifié et la plupart des attributs sont omis):XSLT1.0 séquence de rendu de différents éléments stockés dans une variable tableau M x N
<Document>
<Transfer Name="" From="" To=""/>
<Transfer Name="" From="" To=""/>
<OtherElement/>
<OtherElement/>
<Flight AirLina="" From="" To=""/>
<Flight AirLina="" From="" To=""/>
<OtherElement/>
<Hotel Name="" Duration=""/>
<Hotel Name="" Duration=""/>
<OtherElement/>
<OtherElement/>
<Extras Name="" Price=""/>
<Extras Name="" Price=""/>
<Extras Name="" Price=""/>
<Extras Name="" Price=""/>
<Extras Name="" Price=""/>
<Extras Name="" Price=""/>
<OtherElement/>
<OtherElement/>
</Document>
j'ai une variable contenant différents éléments:
<xsl:variable name="packageElements"
select="/Document/Transfer | /Document/Coach | /Document/Flight | /Document/Hotel | /Document/Extras" />
Je voudrais afficher ces données dans une table avec 2 colonnes. J'utilise le processeur XSLT1.0 et MSXSL.
J'ai essayer avec la solution la plus simple que je pouvais penser:
<table>
<tbody>
<xsl:for-each select="$packageElements[position() mod 2 = 1]">
<tr>
<td>
<!-- current element -->
<xsl:value-of select="local-name()"/>
</td>
<td>
<!-- element following the current in the $packageElements variable -->
<!-- Here is where I'm stuck, I can't figure out how to correctly pick it up :(-->
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
apprécierions vraiment aucune aide.
Sans montrer votre XML, c'est difficile à dire. – Tomalak
@Tomalak: désolé, ajout d'une structure de document XML simplifiée. J'espère que cela a du sens. – DashaLuna
Bonne question (+1). Voir ma réponse pour une solution complète. :) –