1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Подключение схемы к Xml

Тема в разделе "Delphi - программирование", создана пользователем xelaok, 25 ноя 2005.

Статус темы:
Закрыта.
  1. xelaok

    xelaok Гость

    Репутация:
    0
    Не подскажите ли мне с одним вопросом, короче проблема такова: в загружаемом xml файле есть ссылка на файл схемы, как его вообще к нему подключить. Мне это нужно для того чтобы знать точную структуру данных, проверка на типы и тп.
     
  2. Barmutik

    Barmutik Гость

    Репутация:
    0
    Не совсем понятен вопрос .. схема обычноиспользуется парсеров XML для проверки правильности структуры XML файла... подключается он автоматически парсером когда открывается XML файл с указанием на какую схему он опирается...
     
  3. xelaok

    xelaok Гость

    Репутация:
    0
    Вот что я нарыл в хелпе msxml:

    -------------------------------------
    Dim xmldoc As New MSXML2.FreeThreadedDOMDocument40
    Dim SchemaCache As New MSXML2.XMLSchemaCache40

    xmldoc.async = False
    xmldoc.resolveExternals = False
    xmldoc.validateOnParse = True
    SchemaCache.Add "x-schema:books", "c:\books.xsd"
    Set xmldoc.schemas = SchemaCache
    ' The document will load only if a valid schema is attached to the xml
    ' file.
    xmldoc.Load "c:\books.xml"
    If (xmlDoc.parseError.errorCode <> 0) Then
    Dim myErr
    Set myErr = xmlDoc.parseError
    MsgBox("You have error " & myErr.reason)
    Else
    MsgBox xmldoc.xml
    End If
    -------------------------------------

    Как отсюда видно схема сначала вручную загружается в кеш, а потом уже используется xml документом. В дельфи же я такого вообще не вижу. А без нее
    свойство TXMLDocument.SchemaRef возрващает пустой результат и в документ можно пихать данные любого типа. Никакой проверки на ошибки не идет вообще. Либо я чего-то недопонимаю, либо это такая недоделанная компонента.
    :(
     
  4. Barmutik

    Barmutik Гость

    Репутация:
    0
    Компоненты точно не доделанная, да и в станадртном msxml так нельзя ..

    Это видно только в XML 4.0 появилось это ... надо значит напрямую с их интерфейсами с 4-ой версии работать ...

    TXMLDocument вообще глючная компонента .. лучше ей не пользоваться ...
     
  5. xelaok

    xelaok Гость

    Репутация:
    0
    А как нибудь другие есть компоненты? Я до этого пользовался XMLPartner, так та по моему вообще полный мрак...
     
  6. Barmutik

    Barmutik Гость

    Репутация:
    0
    А в чём проблема напрямую использовать Micorsoft-овские интерфейсы ?

    Они на 70% похожи на борляндовский компонент .. нет разница конечно есть .. но малосущественная .. зато работают значительно стабильнее ...
     
  7. xelaok

    xelaok Гость

    Репутация:
    0
    Знать бы как. IDL? И как его подключить?
     
  8. xelaok

    xelaok Гость

    Репутация:
    0
    А епт, "Import type library..." !!! Щас буду испытывать...
     
  9. Barmutik

    Barmutik Гость

    Репутация:
    0
    Удачи! B)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей