У меня есть следующие XML-(это упрощается, и большинство атрибутов опущены):XSLT1.0 Rendering последовательность различных элементов, хранящихся в переменной как М х 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>
У меня есть переменная, содержащий разные элементы:
<xsl:variable name="packageElements"
select="/Document/Transfer | /Document/Coach | /Document/Flight | /Document/Hotel | /Document/Extras" />
Я хотел бы отобразить эти данные в таблице с двумя столбцами. Я использую XSLT1.0 и MSXSL-процессор.
Я пытался это с простым решением я мог думать:
<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>
бы очень признателен за любую помощь.
Без отображения вашего XML это сложно сказать. – Tomalak
@Tomalak: извините, добавлена упрощенная структура документов XML. Надеюсь, это имеет смысл. – DashaLuna
Хороший вопрос (+1). См. Мой ответ для полного решения. :) –