XSD に対して XML ドキュメントを検証する汎用の VB.NET (VS2005) 関数を作成しようとしています。次のような相対パスを含む XSD を使用するまで、これは正常に機能します。
<xs:include schemaLocation="test.02.xsd" />
二次文書に含まれるものを見つけることは決してないようです。これが私の元の関数です。XmlUrlResolver() で遊んでいますが、それを使用しても進歩がないようです。ここで何か助けていただければ幸いです。
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