![]() |
Модераторы: diadiavova |
![]() ![]() ![]() |
|
alex48 |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
Имеется такой XML:
Необходимо изменить с помощью XSL необходимо изменить заданный атрибут заданного элемента на какое либо строковое значение. Например:
Атрибут bgcolor на значение red Использую Lotus, а он как то странно всё преобразет. Делал так:
Получал это:
А мне нужен исходный XML но с другим цветом. Помогите составить XSL преобразование, пробовал копировать элемент aсtionbar, но а как же другие элементы да и как потом что-то поменять. Это сообщение отредактировал(а) alex48 - 19.4.2011, 13:32 |
||||||||
|
|||||||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
alex48 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
Выводит только не измененный ХМЛ
Пробовал так:
но тоже увы, может надо перебирать все атрибуты и все елементы кроме node()='atctionbar', вот только не равно не знаю как поставить.... Кстати конструкция:
Тоже почему то не работает ыл бы признателен за помощ.... Хотя есть ещё вариант - работа со строками: искать строку "<actionbar" , потом до строки ">", а затем искать в этой бод строке другое вхождение, но этот способ какой то не красивый.... |
||||
|
|||||
diadiavova |
|
||||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Да ладно ![]()
![]() Если в твоем документе не работает(а я его подробно не изучал) то можно изменить выражение для шаблона, меняющего атрибут таким образом
А почему она должна работать? ![]() Добавлено через 9 минут Таки посмотрел я документ, в таком виде действительно не работает, но проблема тут в пространстве имен(в твоем примере для того, чтобы увидеть надо дергать горизонтальную прокрутку, просто переносить надо, чтобы пример читабельным был). Это пространство имен надо в преобразовании объявить и выражения составлять именно для него.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||||||
|
|||||||||
alex48 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
ух ты класс, работает как надо. спасибо.
а я кстати бился бился и сделал вторым способом через строки на VB:
а вызывать так:
где XML потоковый объект, считывающий XML из файла. Может кому пригодится ![]() Воспользуюсь вашим способом ![]() |
||||
|
|||||
alex48 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
всё здорово, но никак ни могу добавить атрибут style="bold" элемента font вложенного в actionbar.
я так понимаю, это не работает потому что нет атрибута style (его нужно создать както), но если сделать так:
НО тогда он затирает все другие атрибуты :( Может быть надо сохранить их вначале в переменные (вот только атрибутов может быть много) а затем их потом создать вместе с новым? Имеется вопросик:
|
||||||
|
|||||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Такая конструкция и не может работать правильно, в силу того, что атрибуты можно добавлять к элементам, а ты пытаешься заменить все атрибуты своим.
Думаю надо сделать как-то так.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
alex48 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
Попробовал, но реботает.
По-моему просто не работает
я вот и ранее пробовал таким образом, но ничего не происходит, видимо ни один элемент не совпадает с этим шаблоном и работает только через один атрибут, т.е. без указания вложенности. Убрал вложенность с методом КОПИ, но всё также все атрибуты затираются и ставится один style="bold", может как то подругому вложенностьь эту надо указывать с этим пространством имен? |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Это сообщение отредактировал(а) diadiavova - 20.4.2011, 12:07 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "XML/XSLT" | |
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | XML, XSL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |