XML Datei gegen XSD prüfen mit VB .net

26/11/2007 - 13:21 von Klaus Gollin | Report spam
Hallo liebe Newsgroup-Leser,

ich hab eine XML Datei, die fehlerfrei gegen eine XSD geprüft wird.
Folgender Code làuft auch fehlerfrei durch:

Private Sub XMLValidateSchema(ByVal strXMLFile As String)

Dim rdr As XmlReader
Dim settings As New XmlReaderSettings()

Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
SchemaSet.Add("http://www.myhomepage.de/namespace",
"http://www.myhomepage.de/namespace/my.xsd")

AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack

settings.ValidationType = ValidationType.Schema
settings.Schemas.Add(schemaSet)

rdr = XmlReader.Create(strXMLFile, settings)

While rdr.Read()
End While
End Sub

Private Shared Sub ValidationCallBack(ByVal sender As Object, ByVal e As
ValidationEventArgs)
MsgBox("Validierungsfehler: " & e.Message)
End Sub

Das Problem ist, der Code funktioniert eigentlich immer ohne Fehler, auch
wenn ich
a) eine falsche URI für das Schema angebe
b) in der XML Datei ein nicht deklariertes Attribut adressiere
c) in der XML Datei wahlweise den Header mit Vereis auf Namespace / XSD
definiere oder weglasse.

Weiß jemand, was ich da falsch mache?

Vielen Dank für Eure Hilfe

Klaus
 

Lesen sie die antworten

#1 Martin Honnen
26/11/2007 - 15:07 | Warnen spam
Klaus Gollin wrote:

Das Problem ist, der Code funktioniert eigentlich immer ohne Fehler, auch
wenn ich
a) eine falsche URI für das Schema angebe
b) in der XML Datei ein nicht deklariertes Attribut adressiere
c) in der XML Datei wahlweise den Header mit Vereis auf Namespace / XSD
definiere oder weglasse.

Weiß jemand, was ich da falsch mache?



a) und c) sollten eine Warnung geben, aber um die zu bekommen, muss man
settings.ValidationFlags = settings.ValidationFlags Or
XmlSchemaValidationFlags.ReportValidationWarnings
setzen.
b) sollte allerdings eine Fehlermeldung ergeben, poste mal XML und XSD.



Martin Honnen MVP XML
http://JavaScript.FAQTs.com/

Ähnliche fragen