IT-Expert
  IT-Expert / Веблог / Расцветка таблицы "полосами" используя XSLT
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2023 год
 за 2022 год
 за 2021 год
 за 2015 год
 за 2014 год
 за 2013 год
 за 2012 год
 за 2011 год

     за 2010 год

       за 2009 год
       за 2008 год
       за 2007 год
       за 2006 год
       за 2005 год
      RSS лента Лента новостей IT-Expert 

      Расцветка таблицы "полосами" используя XSLT

      10:00, 22 июля 2005 ( Web Development XSLT  )

      Всегда приятнеее смотреть, да и просто ориентироваться в данных когда дизайн таблицы выполнен в "полосатом" стиле.

      Следать это довольно просто. Имеем, к примеру, входной 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}"> будет динамически подставлять класс в ячейку.

      Вот и все :)


      Оставить комментарий
      © Максим Прокопов 2005-2024 О сервере