Visual Basic Code (length.frm)


Dim er As IXMLDOMParseError2
Dim errs As IXMLDOMParseErrorCollection
Dim xd As New DOMDocument60
Dim xs As New XMLSchemaCache60

' 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

' Load the XML file to xd.
xd.Load App.Path & "\books.xml"

' Validate the XML.
Set er = xd.Validate
If er.errorCode <> 0 Then
   Set errs = er.allErrors
   errsCount = errs.length
   MsgBox "there are " & errsCount & " errors in the collection"
   msg = "DOM is valid:" & vbCrLf & xd.xml
End If

Try It!

  1. Copy the XML data (books.xml), and paste it into a text file. Save the file as books.xml.

  2. Copy the XSD listing (books.xsd), and paste it into a text file. Save the file as books.xsd in the same directory where you saved books.xml.

  3. Create a Standard EXE project in Visual Basic Save the empty project as length.vbp to the same directory where you saved books.xml and books.xsd. Name the form file length.frm.

  4. Create a reference to MSXML 6.0. To do this, select References... from the Project menu, then check the box for Microsoft XML, v60.

  5. Copy the Visual Basic code above, and paste it into the form_load subroutine.

  6. Execute the code selecting Start from the Run menu.

  7. Verify that your output is the same as that listed in Output for the length Example.