![]() |
|
Модераторы: diadiavova |
![]()
|
|
| starmaster |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 29.3.2004 Репутация: нет Всего: нет |
Ребята, такая проблема, в xml файле есть некоторое количество упорядоченных по тегу <item> данных, в xsl нужно вывести эти данные в таблицу HTML, делаем стандартно:
<table> <tr> <xsl:for-each select="/root/tag/item"> <td><xsl:value-of select="."/></td> </xsl:for-each> </tr> </table> Но вся проблема в том, что к примеру мне нужно на ряд 4 ячейки, а потом перенос на новую строку и продолжение там. Если я поставлю теги <tr> </tr> в условие, то происходит ошибка, потому как эти теги могут и не отобразиться и в результате получатся пропущенные незакрытые теги. Как можно решить такую проблему? |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 7 Всего: 110 |
ну если не нагромождать рекурсии, то можно попробовать так:
правда, не тестировал, но вроде должно работать Добавлено @ 10:27 кстати, вот тут не уверен по идее, position() здесь будет обозначать порядковый номер уже в наборе с номерами кратными 4 так что надо будет сделать что-то типа position()*4 - 3 -------------------- qqq |
|||
|
||||
| starmaster |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 29.3.2004 Репутация: нет Всего: нет |
Большое спасибо за подкинутую идею, только не забывай, что в условиях xsl: >= - >= < - < И также не забывай указывать перед переменными знак доллара '$'. И вместо position() надо было указать current():
Ещё раз большое спасибо за идею! |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 7 Всего: 110 |
сказывается небольшой перерыв в работе с XSL а вот тут не очень понятно... current() возвращает список узлов по идее, здесь нужна position(), которая возвращает порядковый номер текущего узла в обрабатываемом списке... -------------------- qqq |
|||
|
||||
| Karabas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 14.6.2006 Репутация: нет Всего: нет |
Столкнулся с подобной проблемой, и воспользовался этим топиком. Огромное спасибо участникам.
Отличие от предыдущего поста: при объявлении переменной 'startpos' функция current() не работает (как правильно заметил maxim1000). В моем случае ей вообще ничего не присваивается.. |
|||
|
||||
![]()
|
| Правила форума "XML/XSLT" | |
|
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | XML, XSL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |