XML mit VBScript validieren
Gab
- xml
Hallo,
ich baue gerade einen kleinen Script, um XML-Files auf ein Schema zu validieren.
Allerdings bringt mir die derzeitige Version keine Fehlermeldung, auch wenn ein Fehler vorliegt:
Function OrgDateiEinlesen (Datendatei)
' Schema definieren und laden
Dim schema, SchemaCache
' set schema = CreateObject (ma
Set schema = CreateObject("Msxml2.DOMDocument.6.0")
Set SchemaCache = CreateObject("Msxml2.XMLSchemaCache.6.0")
schema.ASync = False
schema.Load (schemapfad)
SchemaCache.Add "http://www.w3.org/1999/xhtml", schema
' Die Originaldatei laden
Set OrgDatei = CreateObject("Msxml4.DOMDocument.6.0")
' Schema zuweisen
Set OrgDatei.schemas = SchemaCache
OrgDatei.async=False
OrgDatei.validateOnParse = True
OrgDatei.resolveExternals = False
OrgDatei.setProperty "SelectionLanguage", "XPath"
OrgDatei.load (Datendatei)
WScript.Echo OrgDatei.parseError.errorCode
End Function
Woran kann es liegen und wie sieht eine Lösung aus?
Danke
Gab
Hi,
XmlDocument.parseError gibt imho nur Fehler zurück, die der Wohlgeformtheit des Dokuments (syntaktische Gültigkeit) entgegenstehen. Mit Schema Validation hat das noch nix zu tun.
Du solltest vielleicht einfach folgendes an die richtige Stelle einfügen:
Dim oError As IXMLDOMParseError
Set oError = OrgDatei.Validate
If oError.errorCode <> 0 Then
strout = strout + vbTab _
+ "XMLDoc is not valid because " _
+ vbNewLine + oError.reason + vbNewLine
End If
Gruss,
Frank