Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как убедится что XSD схема существует ? 
:(
    Опции темы
un8gbx
Дата 12.10.2005, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.10.2005
Где: Montreal

Репутация: нет
Всего: нет



Я использую XSD схему для валидации XML файлов, для этого я использую MSXML 4.0 SP2 парсер и делаю это так:
В XML файле ставлю атрибуты, что бы сказать парсеру где схема расположена:

<ISA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="I:\TEST\XMLEDI\shemas\SCH850.xsd">
<ISA01>00</ISA01>
<ISA02></ISA02>
<ISA03>00</ISA03>
<ISA04></ISA04>
<ISA05>ZZ</ISA05>
</ISA>

После этого ставлю атрибут validateOnParse = TRUE, и делаю load, все работает прекрасно, ошибки обнаружтваются.
Проблема в том, что если схема на котороую указывает
xsi:noNamespaceSchemaLocation="I:\TEST\XMLEDI\shemas\SCH850.xsd"
несуществует, ну нет такого файла, то ни какой ошибки не происходит,
load возврашает что все ОК и ни какого исключения не кидается. Хотя
для меня это ошибка, схемы то нет !

Как заставить парсер проверять наличие схемы ???

Я конечьно могу програмно взять аттрибут xsi:noNamespaceSchemaLocation
и проверить существование фала, но некрасиво както.

smile

PM MAIL   Вверх
3,14
Дата 13.10.2005, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 10
Всего: 24



Не совсем уверен, но вроде это решеается по средствам установки атрибута schemaLocation


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
un8gbx
Дата 13.10.2005, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.10.2005
Где: Montreal

Репутация: нет
Всего: нет



Я как понимаю, что xsi:SchemaLocation делает то же саомае что и xsi:noNamespaceSchemaLocation только с использованием namesapace что впринципе не нужно в моем случае, вот ссылка где это объясняется.

http://msdn.microsoft.com/library/default....1fb0f5959bd.asp


вот вторая ссылка, тут говорится почему игнорируется
http://msdn.microsoft.com/library/default....1b0de0fca8c.asp

Чесно говоря не понимаю логики которой следует микрософт, если схема УКАЗАНА и НЕ НАЙДЕНА, то это не ошибка, ихнее предложение загружать их в каш, то же странно, я же не знаю какая схема используется, пока не открою XML фаел, не грузить же их все, уменя уже набралось 8 штук, а дальше больше. Сранно однако.

PM MAIL   Вверх
Ignat
Дата 14.10.2005, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 2
Всего: 73



un8gbx, а почему бы не использовать не MS парсер? E.g. SAX.


--------------------
Теперь при чем :P
PM   Вверх
un8gbx
Дата 14.10.2005, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.10.2005
Где: Montreal

Репутация: нет
Всего: нет



А что это решит ? И нет ли там тех же проблем.

Я как понимаю SAX это событийный парсер, что мне он очень удобно, удобней загрузить его весь и анализировать, да и на MSXML уже написана и работает куча кода.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.