Russian Qt Forum

Qt => XML => Тема начата: ZIkos от Март 08, 2007, 19:27



Название: Как проверить соответствие XML DTD диаграмме?
Отправлено: ZIkos от Март 08, 2007, 19:27
Буду очень благодарен если кто нибудь расскажет как проверить соответствует ли XML документ DTD диаграмме.

Версия 4.2.0.


Название: Как проверить соответствие XML DTD диаграмме?
Отправлено: vipet от Март 08, 2007, 23:38
Ошибка вылезет при вызове QDomDocument::setContent(...)

см. класс QXmlParseException, есть такие сообщения:

- internal general entity reference not allowed in DTD
- external parsed general entity reference not allowed in DTD


Название: Как проверить соответствие XML DTD диаграмме?
Отправлено: ZIkos от Март 09, 2007, 16:47
Можете поподробней написать как все это делать, если я делай вот так:

QDomDocument doc;
QFile in(fname);
in.open(QIODevice::ReadOnly);
doc.setContent(&in,true);

как мне проверить соответствует xml файл in DTD или нет?


Заранее спасибо.


Название: Как проверить соответствие XML DTD диаграмме?
Отправлено: vipet от Март 09, 2007, 17:01
описать переменные QString errorMsg, int errline, int errcolumn и передавать их адреса функции setContent:

bool setContent ( QIODevice * dev, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )


errorMsg должен содержать текст, кот. я писал выше

может есть и др. способ, не знаю


Название: Как проверить соответствие XML DTD диаграмме?
Отправлено: ZIkos от Март 09, 2007, 17:12
setContent(...) на DTD не проверяет. проверяет только лексику.


Кто нибудь еще знает способ как это сделать??? (срочно необходимо)


Название: Как проверить соответствие XML DTD диаграмме?
Отправлено: vipet от Март 09, 2007, 17:40
цитата из мессаги из qt-interest:

QT XML classes are no use for DTD validation at all, even the new QtLibXmlReader in QT Solutions even so it uses libxml2 which does support DTD validation, I wasn't able
to pass the DTD_VALID properties to the xml reader (not supported). So I did write a small class which uses libxml2 and allow DTD as well as Schema validation.


Название: Как проверить соответствие XML DTD диаграмме?
Отправлено: ZIkos от Март 11, 2007, 10:58
Помогите! Может все таки кто-нибудь знает как это сделать?