![]() |
Модераторы: diadiavova |
![]() ![]() ![]() |
|
[Last]Wizard |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.7.2004 Где: Минск, Беларусь Репутация: нет Всего: 10 |
Извините конечно за ламерский вопрос, но у меня возникла такая проблема:
У меня есть xml-документ, который сделан по определенной xsd-схеме. Например такой:
И есть XSLT-преобразование, подключающее многие другие схемы:
Так вот, шаблон match="root/element1" не срабатывает на данном xml-файле вообще. Хотя, если изменить файл данных следующим образом:
а также во всех шаблонах xslt писать match="ns1:root/ns1:element1" то все прекрасно работает. Но дело в том, что мне нужно обрабатывать xml-файлы, которые не содержат префиксов. Подскажите, как быть. ![]() Заранее благодарен. |
||||||
|
|||||||
Измайлов Ф.В. |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.12.2004 Репутация: 1 Всего: 2 |
Ответ тоже м.б. ламерский, НО... мы такую же проблему решали, трансформация XML-документа для вывода в Excel. У нас все работает, и вот в чем отличия.
1. Мы не используем схему, XML-документ получается из обращения ASP к SQL-серверу 2. В шаблоне используем след. конструкцию: <xsl:template match="/"> <xsl:processing-instruction name="mso-application"> <xsl:text>progid="Excel.Sheet"</xsl:text> </xsl:processing-instruction> <Workbook> ................. Может стоит откзаться от схем? Измайлов Ф.В. |
|||
|
||||
[Last]Wizard |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.7.2004 Где: Минск, Беларусь Репутация: нет Всего: 10 |
Нет, от схем отказываться нельзя по нескольким причинам. Во-первых, перед преобразованием, xml с данными проходит валидацию по схеме, там есть тонкости, которые можно проверить только используя схемы (например ключи и связи xs:key и xs:keyref). Во вторых, в одном документе планируется использоваться несколько схем, и при преобразовании необходимо учитывать какому namespace принадлежит каждый элемент.
Да, я в шаблоне использую такую же конструцию (просто выше не писал):
Это сообщение отредактировал(а) [Last]Wizard - 2.2.2005, 13:32 |
||||||
|
|||||||
3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 10 Всего: 24 |
Уж не знаю почему срабатывает с префиксами но по-моему нужно просто писать match="/element1"
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |