![]() |
Модераторы: diadiavova |
![]() ![]() ![]() |
|
Karabas |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 14.6.2006 Репутация: нет Всего: нет |
Может кто сталкивался ?
Есть template для обработки тега, допустим, вставка рисунка. Он имеет несколько входных параметров и обрабатывает теги в .xml файле.
А теперь я хочу добавить рисунки непосредственно в .xsl шаблон, но они должны иметь несколько параметров. Насколько я нашел, можно передавать доп аргумент аттрибутом mode:
Но это не позволяет передать несколько аргументов, как хотелось бы. В идеале холелось бы просто добавлять в XSL файл что-то вроде
и в окончательном html файле видеть рисунок, оформленный в соответствии с template "Pimage", как я написал выше. Иначе приходится вписывать каждый рисунок отдельно, что сильно загромождает код.. |
||||||
|
|||||||
Bikutoru |
|
||||||||||
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: 2 Всего: 22 |
XML такой
С помощью такого XSLT
преобразуется в это:
Если же все-таки нужно передавать в шаблон значения, то это можно делать с помощью xsl:with-param Пример (особого смысла не несет, просто демонстрация)
Результат преобразования самого того же XML-файла такой:
Добавлено @ 09:24 Значение xsl:param следующее: если передается xsl:with-param с таким же именем, то взять его значение, если нет, то взять свое значение... -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
||||||||||
|
|||||||||||
Karabas |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 14.6.2006 Репутация: нет Всего: нет |
Да, примерно так я и начал делать.. от безвыходности: писать теги картинок в отдельный xml файл и вызывать их из xsl.
И вы меня утвердили в мысли, что вызов картинки обязан быть извне: вставка рисунка должна быть по сигналу из внешнего (.xml) файла. Я думал есть какая-то функция, вроде <xsl:use-template name="photo" /> с нужным набором параметров. Тогда я бы мог вставлять картинки, указанные в xml файле для контента, и независимо вставлять картинки, используемые в xsl файле для общего дизайна, при помощи единого темплейта а-ля
Отдельное спасибо за пояснение и способ применения xsl:with-param, я не дочитал до этого места в спецификации, теперь буду пользоваться. :-) |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 3 Всего: 186 |
Если тебе надо, чтобы каждая конструкция photo заменялась на, например, img, просто поставь //:
|
|||
|
||||
Karabas |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 14.6.2006 Репутация: нет Всего: нет |
Есть файл .xml, база данных. Там названия файлов, описания, служебная информация и т.п. Каждой записи присвоен уникальный ID, например id="example1". Все соответствующие tempelates в xsl файле (xml+xsl->html) сделаны и корректно работают.
После этого, добавление картинки к тексту в .xml файле с контеном сводится просто к тегу <photo ref="example1"/>. А теперь последний штрих: хочу добавить картинку напрямик в html, без вызова ее из xml с контентом. Ну, например, логотип. Хотелось максимально просто, тем более уже есть отлаженный <xsl:template match="photo">, вызывать этот photo прямо из xsl:
Но, как я понял, нет способов оперировать в xsl файле подобным образом. |
|||
|
||||
Bikutoru |
|
||||||||||||
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: 2 Всего: 22 |
Может тогда лучше использовать просто
без всяких преобразований и шаблонов?! Добавлено @ 15:48
Зато есть именованные шаблоны и xsl:call-template :
и получаем:
Это сообщение отредактировал(а) Bikutoru - 31.7.2006, 15:49 -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
||||||||||||
|
|||||||||||||
![]() ![]() ![]() |
Правила форума "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. |