powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / проверка xml на соответствие DTD в xmlDOM
4 сообщений из 4, страница 1 из 1
проверка xml на соответствие DTD в xmlDOM
    #36543864
Victor L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Пишу веб-сервисы на Microsoft Visual FoxPro 9.0, в качестве объекта для навигации и построения xml файлов использую объект XMLDOM.

Возникла проблема проверки входящего xml-запроса на соответствие DTD.

В наличии xml-сообщения (приходящие в автоматическом режиме) без блока указания адреса расположения DTD, и внешний DTD файл.

Каким образом можно реализовать проверку xml-файла на соответствие DTD?
...
Рейтинг: 0 / 0
проверка xml на соответствие DTD в xmlDOM
    #36544079
Edkonst2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor L.Здравствуйте.

Пишу веб-сервисы на Microsoft Visual FoxPro 9.0, в качестве объекта для навигации и построения xml файлов использую объект XMLDOM.

Возникла проблема проверки входящего xml-запроса на соответствие DTD.

В наличии xml-сообщения (приходящие в автоматическом режиме) без блока указания адреса расположения DTD, и внешний DTD файл.

Каким образом можно реализовать проверку xml-файла на соответствие DTD?

C FoxPro не работал, но думаю, что что-то похожее есть:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
xmlDoc := CoDOMDocument60.Create; 
xmlsch := CoXMLSchemaCache60.Create;
...
xmlsch.Add('', SchemaName_);
xmlDoc.Schemas := xmlsch;
xmlDoc.load(OutXMLName);
xmlErr := xmlDoc.validate;
if xmlErr.errorCode <>  0  then
...
...
Рейтинг: 0 / 0
проверка xml на соответствие DTD в xmlDOM
    #36544320
Victor L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edkonst2008

Спасибо за вариант решения, но к сожалению у меня нет xsd-схем. В наличии только DTD.

Предложенный Вами вариант не понимает DTD-файлы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
oXMLDom=CREATEOBJECT("Microsoft.XMLDOM")
oXMLDom.async ="false"
oXMLDom.validateOnParse="true"
oXMLDom.setProperty("SelectionLanguage", "XPath") 

oXMLDTD=CREATEOBJECT("Msxml2.XMLSchemaCache.6.0")
oXMLDTD.add('','C:\NameDTD.dtd')

oXMLDom.load('C:\XML-1.xml')

При таком написании, происходит ошибка на строчке oXMLDTD.add с формулировкой: Не допускается объявление DTD вне DTD.

Подскажите в каком направлении искать? Какие объекты могут это сделать?
...
Рейтинг: 0 / 0
проверка xml на соответствие DTD в xmlDOM
    #36544910
Edkonst2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor L.
...
При таком написании, происходит ошибка на строчке oXMLDTD.add с формулировкой: Не допускается объявление DTD вне DTD.

Подскажите в каком направлении искать? Какие объекты могут это сделать?

Здесь
ValidationType = ValidationType.Schema;
и тут варианты. Или в сторону SAX смотреть, как понимаю.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / проверка xml на соответствие DTD в xmlDOM
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]