Platforms to show: All Mac Windows Linux Cross-Platform

XMLValidatorMBS class

Type Topic Plugin Version macOS Windows Linux iOS Targets
class XML MBS Util Plugin 19.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The class for the XML validator.
Example
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>"

Var Schema As String = Join(schemaLines, EndOfLine)
Var ValidXML As String = Join(ValidXMLLines, EndOfLine)
var InvalidXML as string = Join(InvalidXMLLines, EndOfLine)

// let's validate them and see what results we get
Var validator As New XMLValidatorMBS(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

Using the validator in LibXML.

This class has no sub classes.

Blog Entries

Xojo Developer Magazine

Release notes

Some examples using this class:

Some related classes:


The items on this page are in the following plugins: MBS Util Plugin.


XMLTypeInfoMBS   -   XMLValidatorMessageMBS


The biggest plugin in space...