На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL
  
> Четные и нечетные строки , ХSLT
    Дали задание написать xsl template. В образце четные и нечетные строки имеют разный бэкграунд.
    Можно ли средствами XSLT определить, является ли элемент списка (<xsl:for-each select= ...) четным или нечетным?
    Добавить новый тег к xml файлу не могу.
      Ченить типа такого:

      ExpandedWrap disabled
        <xsl:choose>
            <xsl:when test="count() mod 2 = 0">
                <td bgcolor="#ff00ff"><xsl:value-of select="..."/></td>
            </xsl:when>
            <xsl:otherwise>
                <td bgcolor="#0000ff"><xsl:value-of select="..."/></td>
            </xsl:otherwise>
        </xsl:choose>
        Ну. например так:
        ExpandedWrap disabled
          ...
          <xsl:for-each select="tr">
            <tr>
              <xsl:if test="count(preceding-sibling::*)  mod 2 = 0">
                <xsl:attribute name="style">
                  <xsl:text>background-color:silver</xsl:text>
                </xsl:attribute>
              </xsl:if>
              <td><xsl:value-of select="td" /></td>
            </tr>
          </xsl:for-each>
          ...
          Нашел ответ. Надо использовать функцию position:
          ExpandedWrap disabled
            <xsl:choose>
                <xsl:when test="position() mod 2 = 0">
                    ...
                </xsl:when>
                <xsl:otherwise>
                    ...
                </xsl:otherwise>
            </xsl:choose>
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0468 ]   [ 15 queries used ]   [ Generated: 9.05.24, 03:02 GMT ]