![]() |
Модераторы: diadiavova |
![]() ![]() ![]() |
|
4epT |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Всем привет. Поставлена задача валидации отчетов с помощью xsl шаблонов. У каждого отчета есть два одинковых тега (head и footer), которые правильно было бы вынести в отдельный xsl ... и что бы при подключении можно было быстро провалеировать head и footer.
Вот так я вызываю шаблоны:
шаблоны check_head и check_footer описаны в отдельном файле main.xsl. Данный файл инклюдится в самом верху.
Шаблоны имеют вот такой вид:
Проблема в том, что он в любом случае выводит сообщение что поле пустое или не правильно заполнено, даже если там все нормально. В чем может быть проблема ? Если предоставил недостаточно информации, пишите) покажу что нужно ... |
||||||||
|
|||||||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
При вызове именованного шаблона вряд ли выражениен ./NUMIDENT имеет смысл. Ну или во всяком случае, у него совсем не тот контекст, которого ты ждешь. По-моему в данном случае лучше использовать apply-templates с явным указанием атрибута select, или передавай нужный узел шаблону с помощью with-param.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Попробую так сделать ... А объясни пожалуйста, почему не работает мой вариант ? Я себе представлял call-template в виде функции ... у шаблона которого я вызываю указан полный путь к узлу который я хочу обработать, и относительно этого пути я писал ./NUMIDENT, который в свою очередь я думал "преобразуется" в /D/BODY/PAGE/FOOTER/NUMIDENT |
|||
|
||||
magelan |
|
|||
![]() потерял xPath ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 5.4.2010 Репутация: 7 Всего: 16 |
не преобразуется.
шаблон вызывается без параметров. нейм и матч указать в шаблоне можно для разных способов вызова. писать длинные пути в маске шаблонов не рекомендуется. вам свою задачу надо было решать как-то так:
Это сообщение отредактировал(а) magelan - 20.2.2012, 13:47 |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
![]() -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Так вот оно в чем дело ) А от какого узла работает шаблон при вызове его через name ? |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Здесь нет контекста, поэтому все выражения считаются от корня документа, то есть к примеру такое выражение ./* возвратит корневой элемент. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |