| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > XML, XSL > Таблицы HTML и XSL |
| Автор: starmaster 27.5.2006, 03:03 |
| Ребята, такая проблема, в 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 27.5.2006, 10:24 | ||
ну если не нагромождать рекурсии, то можно попробовать так:
правда, не тестировал, но вроде должно работать Добавлено @ 10:27 кстати, вот тут не уверен по идее, position() здесь будет обозначать порядковый номер уже в наборе с номерами кратными 4 так что надо будет сделать что-то типа position()*4 - 3 |
| Автор: starmaster 27.5.2006, 18:59 | ||
Большое спасибо за подкинутую идею, только не забывай, что в условиях xsl: >= - >= < - < И также не забывай указывать перед переменными знак доллара '$'. И вместо position() надо было указать current():
Ещё раз большое спасибо за идею! |
| Автор: Karabas 21.7.2006, 11:06 | ||
Столкнулся с подобной проблемой, и воспользовался этим топиком. Огромное спасибо участникам.
Отличие от предыдущего поста: при объявлении переменной 'startpos' функция current() не работает (как правильно заметил maxim1000). В моем случае ей вообще ничего не присваивается.. |