![]() |
Модераторы: diadiavova |
![]() ![]() ![]() |
|
vinograd2008 |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.12.2008 Репутация: нет Всего: нет |
Здравствуйте. Пытаюсь вывести из одного xml файла текст из дочерних узлов в другом xml файле. Вывод по позиции и contains работает некорректно всегда получаю текст первого элемента и при проверке через contains получаю текст которая переменная не содержит.
Нужно получить текст из 1 файла дочерних элементов Termin и сравнить с точно таким же текстом дочерних элементов в другом xml файле, притом что в другом xml файле таких элементов больше. Как изменить contains и position() в document() чтобы работало правильно чтоб выводило текст элемента Razdel из 1 файла во 2 файле только если текст элементов Termin в 1 и 2 файле совпадает, а если не совпадает то не выводило ничего? 1 файл
2 файл
Стиль ко 2 файлу
Это сообщение отредактировал(а) vinograd2008 - 26.1.2012, 18:03 |
||||||
|
|||||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Получил, сравнил, а дальше-то что? Что нужно делать в зависимости от результата сравнения и что ты хочешь получить в результате всех этих действий? -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
vinograd2008 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.12.2008 Репутация: нет Всего: нет |
Вывести текст элемента Razdel для каждого элемента Termin то есть в зависимости от результата сравнения если такой то термин есть в 1 файле и совпадает с точно таким же термином в другом файле мы выводим а если не совпадает то ничего выводиться не должно или выводиться любой другой текст учитывая что позиция может быть разной в этих файлах то есть не совпадает у этих терминов |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
vinograd2008, я так понимаю, в преобразовании обрабатывается второй файл, из него выбираются термины, а из первого файла тебе надо взять название раздела, соответствующего этому термину, если таковой в первом файле присутствует. Если так, то это будет выглядеть примерно так. Я опишу только шаблон для элемента Statya второго файла, все будет там
Поясняю, что я тут делаю: 1. Сначала в переменную term загружаем содержимое элемента Termin для данной статьи. 2. В переменную doc1_term загружаем элементы Termin из первого документа, содержимое которых совпадает с текстом текущей статьи 3. В элементе if проверяем, есть ли в наборе узлов doc1_term элементы и если есть( а это означает, что в первом документе найден хотя бы один узел с нужным содержимым) то выполняем формирование выходных данных. Сначала в переменную section забиваем имя раздела, соответствующее текущему термину, а дальше, имея эти данные можешь создавать любое содержимое выходного потока. Код не проверял на работоспособность, так что возможно что-то придется подправить, но в общем логику я тут описал. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |