J'essaye d'écrire une fonction générique VB.NET (VS2005) pour valider un document XML par rapport à un XSD. Cela fonctionne bien jusqu'à ce que j'utilise un XSD avec un chemin relatif comprennent comme:Validation de XML avec plusieurs XSD en utilisant des chemins relatifs dans .NET
<xs:include schemaLocation="test.02.xsd" />
Il ne peut jamais sembler trouver ce qui est inclus dans les documents secondaires. Voici ma fonction originale ci-dessous. J'ai joué avec XmlUrlResolver() mais je ne peux pas sembler faire de progrès en utilisant cela non plus. Toute aide est grandement appréciée ici.
Private Sub ValidatingProcess(ByVal XSDPath As String, ByVal XMLPath As String)
Try
Me.Reader = New XmlTextReader(XMLPath)
Dim SR As New StreamReader(XSDPath)
Dim Schema As New XmlSchema()
Schema = XmlSchema.Read(SR, New ValidationEventHandler(AddressOf ReaderSettings_ValidationEventHandler))
Dim ReaderSettings As New XmlReaderSettings()
ReaderSettings.ValidationType = ValidationType.Schema
ReaderSettings.Schemas.Add(Schema)
AddHandler ReaderSettings.ValidationEventHandler, AddressOf ReaderSettings_ValidationEventHandler
Dim objXmlReader As XmlReader = XmlReader.Create(Reader, ReaderSettings)
While objXmlReader.Read()
End While
Catch AccessEx As UnauthorizedAccessException
Throw AccessEx
Catch Ex As Exception
Throw Ex
End Try
End Sub