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