Всегда приятнеее смотреть, да и просто ориентироваться в данных когда дизайн таблицы выполнен в "полосатом" стиле.
Следать это довольно просто. Имеем, к примеру, входной XML следующего вида:
<test>
<value>1</value>
<value>2</value>
<value>3</value>
</test>
и хотим получить из этого "полосатую" таблицу.
Нам поможет XSLT преобразование следующего вида:
<xsl:template match="test">
<table class="simple" cellpadding="5" cellspacing="0" border="0">
<xsl:for-each select="value">
<xsl:variable name="c" select="position() mod 2+1"/>
<tr>
<td class="td{$c}"><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
Кстати, в таблице стилей должно быть определено два стиля: .td1 и .td2 которые и будут означать цвета чередующихся строк.
Здесь стоит обратить внимание на <xsl:variable name="c" select="position() mod 2+1"/>,
эта инструкция задает вычисление четности-нечетности на основе позиции элемента. Берем остаток от деления, + 1 для красоты, ибо возвращаемые значения остатка будут 0 и 1. А мы хотим 1 и 2 :) <td class="td{$c}"> будет динамически подставлять класс в ячейку.
Вот и все :)
Оставить комментарий