![]() |
|
Модераторы: diadiavova |
![]()
|
|
| Young85 |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2008 Репутация: нет Всего: нет |
В общем об XSL - слышал только мельком. Возникла необходимость сделать отчет в PDF.
В общем формирую xml, в котором есть headerblock, lineblock и insertblock.
В общем в файле с хсл создал такие вещи:
и инсертблок :
Как вы уже наверно успели заметить, в пдф не попадает инсертблок ;-) объясните пожалуйста, где я не так сделал |
||||||||||
|
|||||||||||
| jsa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 704 Регистрация: 19.1.2006 Где: Новосибирск Репутация: 3 Всего: 20 |
для начала xsl:template match="..."
если name то надо юзать xsl:call-template -------------------- Все мы, на перине с песней, строим небо на земле © Ю. Шевчук |
|||
|
||||
| Young85 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2008 Репутация: нет Всего: нет |
А можно немного поподробнее, все что я сделал - делалось на интуитивном уровне ;-) ибо случай в практике единичный и в дальнейшем думаю сталкиваться не придется с этим.
|
|||
|
||||
| jsa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 704 Регистрация: 19.1.2006 Где: Новосибирск Репутация: 3 Всего: 20 |
-------------------- Все мы, на перине с песней, строим небо на земле © Ю. Шевчук |
|||
|
||||
| Young85 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2008 Репутация: нет Всего: нет |
Ладно, уважаемый jsa я прекрасно знаю, где находятся спецификации и прочие базы знаний (уже не 1 год программист). Для Вас повторюсь - за всю практику мне единственный раз пришлось столкнуться с xsl - на это у нас есть отдельный человек (который теперь в отпуске и не в этой стране) вот пришлось подкорректировать его таски. Мне не нужно прошариваться в xsl, тыкните, если не так сложно и не займет у вас кучу времени, в код, который выложил на страничке и скажите как сделать, чтобы заработало. Буду безмерно благодарен.
Удачи Вам в трудовой деятельности. |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 5 Всего: 31 |
Young85, почитайте лучше руководства на zvon.org - там как раз просто написано в 2 строках. с примерами.
Короче: есть два способа описания шаблонов: <xsl:template name="balbla"></xsl:template> и <xsl:template match="some xpath"></xsl:template> В первом случае шаблон нужно вызывать явно помощью xsl:call-template, наприрмер:
Эта конструкция находит все элементы lineblock в документе, и по очередно для каждого из них применяет шаблон blabla. Во втором случае у шаблона не указано имя, а указывается XPATH выражение. Это своего рода указатель на элемент в документе. Таким образом шаблон указывает на некоторые элементы в документе. (Если написать match="//bla" , то на все элементы bla в документе) Таким образом, этот шаблон соответсвует некоторым элементам. XSLT движок для каждого элемента выбирает шаблон который ему соответсвует и применяет. В общем , если струтура входного XML вам известна, то проще использовать call - способ. Если не известна (например парсим XHTML с сайта) - тогда лучше использовать match |
|||
|
||||
| Young85 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 24.4.2008 Репутация: нет Всего: нет |
sir_nuf_nuf спасибо.
|
|||
|
||||
![]()
|
| Правила форума "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. |