XmlSchemaSet contains a cache of XML Schema definition language (XSD) schemas.
Imports System
Imports System.Xml
Imports System.Xml.Schema
Class XmlSchemaSetExample
Shared Sub Main()
Dim booksSettings As XmlReaderSettings = New XmlReaderSettings()
booksSettings.Schemas.Add("http://www.domain.com/books", "books.xsd")
booksSettings.ValidationType = ValidationType.Schema
AddHandler booksSettings.ValidationEventHandler, New ValidationEventHandler(AddressOf booksSettingsValidationEventHandler)
Dim books As XmlReader = XmlReader.Create("books.xml", booksSettings)
While books.Read()
End While
End Sub
Shared Sub booksSettingsValidationEventHandler(ByVal sender As Object, ByVal e As ValidationEventArgs)
If e.Severity = XmlSeverityType.Warning Then
Console.Write("WARNING: ")
Console.WriteLine(e.Message)
ElseIf e.Severity = XmlSeverityType.Error Then
Console.Write("ERROR: ")
Console.WriteLine(e.Message)
End If
End Sub
End Class
'<bookstore xmlns="http://www.domain.com/books">
' <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
' <title>C#</title>
' <author>
' <first-name>A</first-name>
' <last-name>B</last-name>
' </author>
' <price>8.99</price>
' </book>
'</bookstore>
'<?xml version="1.0" encoding="utf-8"?>
'<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.domain.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema">
' <xs:element name="bookstore">
' <xs:complexType>
' <xs:sequence>
' <xs:element maxOccurs="unbounded" name="book">
' <xs:complexType>
' <xs:sequence>
' <xs:element name="title" type="xs:string" />
' <xs:element name="author">
' <xs:complexType>
' <xs:sequence>
' <xs:element minOccurs="0" name="name" type="xs:string" />
' <xs:element minOccurs="0" name="first-name" type="xs:string" />
' <xs:element minOccurs="0" name="last-name" type="xs:string" />
' </xs:sequence>
' </xs:complexType>
' </xs:element>
' <xs:element name="price" type="xs:decimal" />
' </xs:sequence>
' <xs:attribute name="genre" type="xs:string" use="required" />
' <xs:attribute name="publicationdate" type="xs:unsignedShort" use="required" />
' <xs:attribute name="ISBN" type="xs:string" use="required" />
' </xs:complexType>
' </xs:element>
' </xs:sequence>
' </xs:complexType>
' </xs:element>
'</xs:schema>
Related examples in the same category