Элемент XSL:IF - улучшение внешнего вида таблиц
Элемент xsl:if можно применять не только для фильтрации строк выборки. Очевидно, что он может быть полезен и во многих других областях. В этом параграфе мы разберем пример использования элемента xsl:if для улучшения внешнего вида таблицы. Заодно мы продемонстрируем реальное использование функции position(). Мы будем использовать эту функцию для того, чтобы чередовать цвет четных и нечетных строк таблицы (, ).
Фрагмент XSL-файла, который отвечает за требуемое чередование.
<tr>
<xsl:if test="position() mod 2 = 0">
<xsl:attribute name="bgcolor">#CCCCCC</xsl:attribute>
</xsl:if>
С элементом xsl:if и с функцией position() мы уже знакомы. Оператор mod
дает нам остаток от деления на 2. А элемент xsl:attribute
позволяет нам динамически подставлять в файл результатов различные атрибуты. Это очень мощный элемент, мы разберем еще одно применение этого элемента в следующем параграфе. А сейчас приведем для полноты картины таблицу результатов.
Кличка | Вес | Цвет |
Шарик | 18 кг | рыжий с черными подпалинами |
Тузик | 10 кг | белый с черными пятнами |
Бобик | 2 кг | бело-серый |
Трезор | 25 кг | черный |