C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Чем проверять xml на валидность xsd
** frofis
Отправлено: 12.05.2006, 16:27


Не зарегистрирован







Чем проверять xml на валидность xsd
или кто-нибудь пользовался xerces-c++ (научите — всю голову сломал)
или посоветуйте парсер
vitavita
Отправлено: 15.05.2006, 08:51


Дежурный стрелочник

Группа: Участник
Сообщений: 59



А чем не нравится компонент XMLDocument с закладки Internet
А валидность проверяется по объявлению типа документа , которое содержится в DTD задающую структуру документа .
** frofis
Отправлено: 15.05.2006, 09:58


Не зарегистрирован







Не DTD, а XML схемы — XSD, причем там есть сложные типы, корорые объявлены не тольто в текущей схеме, а еще в другом пространстве имен.
В XMLDocument внешнюю, не объявленную в XML документе, схему подставить, имхо, не возможно.
vitavita
Отправлено: 16.05.2006, 08:30


Дежурный стрелочник

Группа: Участник
Сообщений: 59



Все-таки настоятельно советую почитать про валидность и внешнее подмножество DTD
<!DOCTYPE SIMPLE SYSTEM "Simple.dtd">
** frofis
Отправлено: 16.05.2006, 09:34


Не зарегистрирован







А зачем, не подскажите? (хотя я все это читал)
Есть определенная задача (УФЭБС) у которой есть определенные (как данность) xsd.
Нужно проверить Xml.
Или вы предлагаете почитать для собственного развития.
Gal
Отправлено: 16.05.2006, 18:13


Станционный диспетчер

Группа: Участник
Сообщений: 124



Все правильно DTD описывает стректуру xml-файла, какие элементы должны быть, какая между ними принадлежность, какие из них обязательные, какие нет и т.д.
Без этого файла ни одна профессиональная программа (XMLSpy)валидацию не сделает.

Если же необходимо проверить синтаксис например отсутствие закрывающего тэга или тому подобное — DTD не нужен. просто разбираещь ручками и проверяешь.
** frofis
Отправлено: 17.05.2006, 16:28


Не зарегистрирован







Да что такое творится, я что не на русском языке пишу
Нет у меня DTD, есть XSD (XML схемы)
vitavita
Отправлено: 17.05.2006, 23:09


Дежурный стрелочник

Группа: Участник
Сообщений: 59



Думаю эта ссылка поможет разобратся
Проверка правильности XML

В отличие от DTD, документы схемы XML строятся на самом XML. Проверка правильности при помощи схемы требует двух документов: документа схемы и документа экземпляра.
** frofis
Отправлено: 18.05.2006, 10:09


Не зарегистрирован







За ссылку конечно спасибо, хотя я ее читал

А вторая часть поста типа для медитации?

Собственно по ссылке и возникают вопросы:
Я не понял как руссифицировать сообщения;
Я не могу отловить _некоторые_ исключения;
Я не понял как указать путь ко всем xsd;
(наверное нужно задать относительный к xml)
Я не понял как использовать в пути к xml русские имена и пробелы;
Я не понял вообще возможно ли использовать 1251 ну и так далее

Вернуться в Вопросы программирования в C++Builder