![]() |
|
Модераторы: diadiavova |
![]()
|
|
| 4epT |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Добрый день. Имеется xml документ вида:
Нужно построить таблицу вида:
Проблема в том что они все лежат на одном уровне, делаю for-each могу пройтись по всем тегам с одиним name, но нужно так же добавить в строку теги с другим name. Эти теги расположены в куче с другими тегами. Подскажите как можно решить данную проблему ? или в какую сторону гуглить ? заранее спасибо |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Я честно говоря, не понял по какому принципу их делить надо.
Добавлено через 18 секунд Может потом посмотрю, но лучше объясни подробнее. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| 4epT |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Попробую подробнее описать)
Есть набор тегов:
Это нужно записать в таблицу:
Сейчас пытаюсь сделать это именованными шаблонами + рекурсия. |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Та не, это лишнее. Можно ведь подсчитывать количество предшественников, то есть если тегу T1 предшествует ноль таких же тегов, то он в первую строку идет, один - во вторую и так далее. Это ж простое выражение T1[count(preceding-sibling::T1) = 0] это пойдет в первую строку и т. д. Можно выражением count(preceding-sibling::T1) + 1 вычислять номер строки. Ну и для других тегов и строк все аналогично. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
У меня не много опыта в xslt ... можно немного подробнее ?)
Дело в том что строк может быть N штук ... тут как по мне без рекурсии не обойтись Ну и все это ведь нужно оформить html, что бы каждый тег попал в свою tr и в конкретную td Это сообщение отредактировал(а) 4epT - 21.3.2012, 16:16 |
|||
|
||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Ну например ты обходишь все элементы С1 в данном наборе и для каждого создаешь строку. В этой строке у тебя будет в первой ячейке С1, во второй - А1 при этом надо брать именно тот из них, которму предшествует столько же А1, сколько С1 предшествует текущему С1
Примерно что-то в этом роде. Только там в валью-офах выражение просто для нужного тега, а тебе видимо из него надо еще что-то извлекать. Короче разбери этот пример, там все не сложно. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
![]()
|
| Правила форума "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. |