• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы xelaok
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
X

xelaok

Не подскажите ли мне с одним вопросом, короче проблема такова: в загружаемом xml файле есть ссылка на файл схемы, как его вообще к нему подключить. Мне это нужно для того чтобы знать точную структуру данных, проверка на типы и тп.
 
Не совсем понятен вопрос .. схема обычноиспользуется парсеров XML для проверки правильности структуры XML файла... подключается он автоматически парсером когда открывается XML файл с указанием на какую схему он опирается...
 
Вот что я нарыл в хелпе 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 возрващает пустой результат и в документ можно пихать данные любого типа. Никакой проверки на ошибки не идет вообще. Либо я чего-то недопонимаю, либо это такая недоделанная компонента.
:(
 
Компоненты точно не доделанная, да и в станадртном msxml так нельзя ..

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

TXMLDocument вообще глючная компонента .. лучше ей не пользоваться ...
 
А как нибудь другие есть компоненты? Я до этого пользовался XMLPartner, так та по моему вообще полный мрак...
 
А в чём проблема напрямую использовать Micorsoft-овские интерфейсы ?

Они на 70% похожи на борляндовский компонент .. нет разница конечно есть .. но малосущественная .. зато работают значительно стабильнее ...
 
Знать бы как. IDL? И как его подключить?
 
А епт, "Import type library..." !!! Щас буду испытывать...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab