XSLT1.0 Wiedergabereihenfolge verschiedener Elemente, die in einer Variablen als M x N-Tabelle gespeichert sind
Ich habe das folgende XML (es ist vereinfacht und die meisten Attribute sind weggelassen):
<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>
Ich habe eine Variable, die verschiedene Elemente enthält:
<xsl:variable name="packageElements"
select="/Document/Transfer | /Document/Coach | /Document/Flight | /Document/Hotel | /Document/Extras" />
Ich möchte diese Daten in einer Tabelle mit 2 Spalten anzeigen. Ich verwende XSLT1.0 und MSXSL-Prozessor.
Ich habe es mit der einfachsten Lösung ausprobiert, die mir in den Sinn gekommen ist:
<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>
Würde mich über jede Hilfe sehr freuen.