Private Sub Form_Resize() ' Resize the text box to the size of the form Text1.Width = Form1.Width - 350 Text1.Height = Form1.Height - 750 End Sub Private Sub Form_Load() ' Resize the text box to the size of the form Text1.Top = 100 Text1.Left = 100 Text1.Width = Form1.Width - 350 Text1.Height = Form1.Height - 750 ' Check "Microsoft XML, v50" from Project->References... ' in Visual Studio. Dim er, e As IXMLDOMParseError2 Dim xd As New DOMDocument50 Dim xs As New XMLSchemaCache50 ' Add xs to xd. xs.Add "urn:books", App.Path & "\books.xsd" Set xd.schemas = xs xd.async = False xd.validateOnParse = False xd.setProperty "MultipleErrorMessages", True msg = "Validating DOM..." & vbCrLf ' Load XML to xd. xd.Load App.Path & "\books.xml" Set er = xd.Validate If er.errorCode <> 0 Then msg = msg & "invalid dom:" & vbCrLf msg = msg & " reason:" & vbCrLf & er.reason msg = msg & " errorXPath:" & vbCrLf & er.errorXPath & vbCrLf msg = msg & "parameters count: " & er.errorParametersCount msg = msg & vbCrLf For i = 0 To er.errorParametersCount - 1 msg = msg & " errorParameters(" & i & "): " msg = msg & er.errorParameters(i) msg = msg & vbCrLf Next Else msg = msg & " DOM is valid:" & vbCrLf msg = msg & xd.xml End If msg = msg & vbCrLf msg = msg & "Validating nodes..." & vbCrLf Set pNodes = xd.selectNodes("//book") For Each pNode In pNodes Set er = xd.validateNode(pNode) If er.errorCode <> 0 Then msg = msg & vbCrLf msg = msg & "Node is invalid:" & vbCrLf msg = msg & " reason:" & vbCrLf & er.reason msg = msg & " errorXPath:" & vbCrLf & er.errorXPath msg = msg & vbCrLf msg = msg & "Parameters Count: " & er.errorParametersCount msg = msg & vbCrLf For i = 0 To er.errorParametersCount - 1 msg = msg & " errorParameter(" & i & "): " msg = msg & er.errorParameters(i) msg = msg & vbCrLf Next Else msg = msg & vbCrLf msg = msg & "Node is valid: " & vbCrLf msg = msg & pNode.xml & vbCrLf End If Next Text1 = msg End Sub
Try It!