Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT: цикл, условие и position() / 4 сообщений из 4, страница 1 из 1
04.07.2008, 11:52
    #35411126
Дмитрий Орлов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: цикл, условие и position()
Товарищи есть такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<xsl:for-each select="/projects/has_commands/cmd">
        <xsl:if test="string-length(project/name)=0 or project/name[.=$project_name]">
          <tr>
            <xsl:if test="position() mod 2">
              <xsl:attribute name="bgcolor">#EAE5EF</xsl:attribute>
            </xsl:if>
..............

Проблема в том, что условие отсекает несколько записей, что сбивает очередность раскраски. Прошу подсказать как переписать этот код, что бы очередность раскраски не страдала.

Заранее благодарю!!!
...
Рейтинг: 0 / 0
04.07.2008, 13:13
    #35411373
Volder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: цикл, условие и position()
все оч просто
вместо
Код: plaintext
1.
2.
<xsl:for-each select="/projects/has_commands/cmd">
        <xsl:if test="string-length(project/name)=0 or project/name[.=$project_name]">
сделайте вызов шаблона:
Код: plaintext
<xsl:apply-templates select="/projects/has_commands/cmd[string-length(project/name)=0 or project/name=$project_name]"/>

а уже внутрь шаблона поместите нумерацию строк:
Код: plaintext
1.
2.
3.
4.
5.
<xsl:template match="/projects/has_commands/cmd">
<tr>
            <xsl:if test="position() mod 2">
              <xsl:attribute name="bgcolor">#EAE5EF</xsl:attribute>
            </xsl:if>
...
...
Рейтинг: 0 / 0
04.07.2008, 13:18
    #35411393
Volder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: цикл, условие и position()
или еще проще:

оставить все в рамках <xsl:for-each> только
условие
Код: plaintext
<xsl:if test="string-length(project/name)=0 or project/name[.=$project_name]">
перенести в
Код: plaintext
1.
<xsl:for-each select="/projects/has_commands/cmd[string-length(project/name)=0 or project/name=$project_name]">
...
Рейтинг: 0 / 0
04.07.2008, 13:28
    #35411425
Дмитрий Орлов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: цикл, условие и position()
Большое спасибо!
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT: цикл, условие и position() / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]