No KB da elipse é sugerido um processo para ler um arquivo XML.
Queria saber se existe uma forma de fazer a validação desse arquivo usando um XSD.
Eu testei esse seguinte código mas ele sempre dá como válido o arquivo.
Dim xmlDoc, xsdCache
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlDoc.async = False
xmlDoc.validateOnParse = True
xmlDoc.resolveExternals = True
' Carrega o documento XML para o objeto DOMDocument
xmlDoc.load(caminhoEstruturaXML)
' Verifica se ocorreu algum erro durante o carregamento do documento XML
If xmlDoc.parseError.errorCode <> 0 Then
msgbox "Erro ao carregar o documento XML: " & xmlDoc.parseError.reason
Else
' Cria uma instância do objeto MSXML2.XMLSchemaCache
Set xsdCache = CreateObject("MSXML2.XMLSchemaCache")
' Adiciona o esquema (XSD) ao cache de esquemas
xsdCache.add "urn:exemplo", caminhoEstruturaXSD
' Associa o esquema ao documento XML
xmlDoc.schemas = xsdCache
' Verifica se o documento XML é válido
If xmlDoc.validate() Then
msgbox "O documento XML é válido."
Else
msgbox "O documento XML não é válido: " & xmlDoc.parseError.reason
End If
End If