Platforms to show: All Mac Windows Linux Cross-Platform
/Util/XML Validator/Validator test
Required plugins for this example: MBS Util Plugin
Last modified Tue, 12th Jan 2026.
You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /Util/XML Validator/Validator test
Download this example: Validator test.zip
Project "Validator test.xojo_binary_project"
Class App Inherits DesktopApplication
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits DesktopWindow
EventHandler Sub Opening()
Var ValidXMLLines(), InvalidXMLLines(), schemaLines() As String
// we build a scheme and two XML files:
schemaLines.add "<xs:schema xmlns:xs=""http://www.w3.org/2001/XMLSchema"" elementFormDefault=""qualified"">"
schemaLines.add ""
schemaLines.add " <xs:element name=""person"">"
schemaLines.add " <xs:complexType>"
schemaLines.add " <xs:sequence>"
schemaLines.add " <xs:element name=""name"" type=""xs:string""/>"
schemaLines.add " <xs:element name=""age"" type=""xs:int""/>"
schemaLines.add " <xs:element name=""email"" type=""xs:string""/>"
schemaLines.add " </xs:sequence>"
schemaLines.add " </xs:complexType>"
schemaLines.add " </xs:element>"
schemaLines.add ""
schemaLines.add "</xs:schema>"
ValidXMLLines.add "<person>"
ValidXMLLines.add " <name>John Doe</name>"
ValidXMLLines.add " <age>30</age>"
ValidXMLLines.add " <email>john.doe@example.com</email>"
ValidXMLLines.add "</person>"
InvalidXMLLines.add "<person>"
InvalidXMLLines.add " <name>John Doe</name>"
InvalidXMLLines.add " <age>thirty</age>" // invalid: not an integer
InvalidXMLLines.add "</person>"
// let's validate them and see what results we get
Var Schema As String = Join(schemaLines, EndOfLine)
Var ValidXML As String = Join(ValidXMLLines, EndOfLine)
var InvalidXML as string = Join(InvalidXMLLines, EndOfLine)
Var validator As New XMLValidator(Schema)
Var r1 As Integer = validator.ValidateString(ValidXML)
// r1 is 0 for valid XML
Var r2 As Integer = validator.ValidateString(InvalidXML)
// r2 is 1871 as there is a mistake
Break
End EventHandler
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
MenuItem WindowMenu = "Window"
MenuItem HelpMenu = "&Help"
End MenuBar
Sign
End Sign
Class XMLValidator Inherits XMLValidatorMBS
EventHandler Sub Error(message as XMLValidatorMessageMBS)
System.DebugLog message.Message
End EventHandler
EventHandler Sub Warning(message as XMLValidatorMessageMBS)
System.DebugLog message.Message
End EventHandler
End Class
End Project
See also:
Download this example: Validator test.zip
The items on this page are in the following plugins: MBS Util Plugin.