<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net_Tutorial%2FXML%2FXML_Schema</id>
		<title>VB.Net Tutorial/XML/XML Schema - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net_Tutorial%2FXML%2FXML_Schema"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/XML/XML_Schema&amp;action=history"/>
		<updated>2026-04-05T05:43:27Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net_Tutorial/XML/XML_Schema&amp;diff=3059&amp;oldid=prev</id>
		<title> в 16:40, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/XML/XML_Schema&amp;diff=3059&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:30Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:40, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net_Tutorial/XML/XML_Schema&amp;diff=3060&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net_Tutorial/XML/XML_Schema&amp;diff=3060&amp;oldid=prev"/>
				<updated>2010-05-26T12:54:08Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Create XML Schema==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Imports System.IO&lt;br /&gt;
Imports System.Xml&lt;br /&gt;
Imports System.Xml.Schema&lt;br /&gt;
&lt;br /&gt;
public class Test&lt;br /&gt;
   public Shared Sub Main&lt;br /&gt;
        &amp;quot; Create the schema. This object acts as the root node.&lt;br /&gt;
        Dim XS As New XmlSchema()&lt;br /&gt;
        &amp;quot; Define a personal reference type.&lt;br /&gt;
        Dim Personal As New XmlSchemaElement()&lt;br /&gt;
        Personal.Name = &amp;quot;Personal&amp;quot;&lt;br /&gt;
        Personal.SchemaTypeName = New XmlQualifiedName(&amp;quot;boolean&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema)&lt;br /&gt;
        &amp;quot; Define a business reference type.&lt;br /&gt;
        Dim Business As New XmlSchemaElement()&lt;br /&gt;
        Business.Name = &amp;quot;BusType&amp;quot;&lt;br /&gt;
        Dim BusType As New XmlSchemaComplexType()&lt;br /&gt;
        Dim BusSeq As New XmlSchemaSequence()&lt;br /&gt;
        Dim Position As New XmlSchemaElement()&lt;br /&gt;
        Position.Name = &amp;quot;Position&amp;quot;&lt;br /&gt;
        Position.MinOccurs = 1&lt;br /&gt;
        Position.MaxOccurs = 1&lt;br /&gt;
        Position.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema)&lt;br /&gt;
        Dim CompanyName As New XmlSchemaElement()&lt;br /&gt;
        CompanyName.Name = &amp;quot;CompanyName&amp;quot;&lt;br /&gt;
        CompanyName.MinOccurs = 1&lt;br /&gt;
        CompanyName.MaxOccurs = 1&lt;br /&gt;
        CompanyName.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
        BusSeq.Items.Add(Position)&lt;br /&gt;
        BusSeq.Items.Add(CompanyName)&lt;br /&gt;
        BusType.Particle = BusSeq&lt;br /&gt;
        Business.SchemaType = BusType&lt;br /&gt;
        XS.Items.Add(Personal)&lt;br /&gt;
        XS.Items.Add(Business)&lt;br /&gt;
        Dim MyAddress As New XmlSchemaElement&lt;br /&gt;
        MyAddress.Name = &amp;quot;Addresses&amp;quot;&lt;br /&gt;
        Dim MyAddressType As New XmlSchemaComplexType()&lt;br /&gt;
        Dim MyAddressSeq As New XmlSchemaSequence()&lt;br /&gt;
        Dim Items As New XmlSchemaElement()&lt;br /&gt;
        Items.Name = &amp;quot;Item&amp;quot;&lt;br /&gt;
        Items.MinOccurs = 1&lt;br /&gt;
        Items.MaxOccursString = &amp;quot;unbounded&amp;quot;&lt;br /&gt;
        Dim ThisType As New XmlSchemaComplexType()&lt;br /&gt;
        Dim ThisSeq As New XmlSchemaSequence()&lt;br /&gt;
        Dim FName As New XmlSchemaElement()&lt;br /&gt;
        FName.Name = &amp;quot;FirstName&amp;quot;&lt;br /&gt;
        FName.MinOccurs = 1&lt;br /&gt;
        FName.MaxOccurs = 1&lt;br /&gt;
        FName.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
        Dim LName As New XmlSchemaElement()&lt;br /&gt;
        LName.Name = &amp;quot;LastName&amp;quot;&lt;br /&gt;
        LName.MinOccurs = 1&lt;br /&gt;
        LName.MaxOccurs = 1&lt;br /&gt;
        LName.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
        Dim Address As New XmlSchemaElement()&lt;br /&gt;
        Address.Name = &amp;quot;Address&amp;quot;&lt;br /&gt;
        Address.MinOccurs = 1&lt;br /&gt;
        Address.MaxOccursString = &amp;quot;unbounded&amp;quot;&lt;br /&gt;
        Address.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        Dim City As New XmlSchemaElement()&lt;br /&gt;
        City.Name = &amp;quot;City&amp;quot;&lt;br /&gt;
        City.MinOccurs = 1&lt;br /&gt;
        City.MaxOccurs = 1&lt;br /&gt;
        City.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
        Dim Region As New XmlSchemaElement()&lt;br /&gt;
        Region.Name = &amp;quot;Region&amp;quot;&lt;br /&gt;
        Region.MinOccurs = 0&lt;br /&gt;
        Region.MaxOccurs = 1&lt;br /&gt;
        Region.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        Dim PostalCode As New XmlSchemaElement()&lt;br /&gt;
        PostalCode.Name = &amp;quot;PostalCode&amp;quot;&lt;br /&gt;
        PostalCode.MinOccurs = 0&lt;br /&gt;
        PostalCode.MaxOccurs = 1&lt;br /&gt;
        PostalCode.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
        Dim PersOrBus As New XmlSchemaChoice()&lt;br /&gt;
        PersOrBus.MinOccurs = 1&lt;br /&gt;
        PersOrBus.MaxOccurs = 1&lt;br /&gt;
        Dim PersRef As New XmlSchemaElement()&lt;br /&gt;
        PersRef.RefName = New XmlQualifiedName(&amp;quot;Personal&amp;quot;)&lt;br /&gt;
        PersOrBus.Items.Add(PersRef)&lt;br /&gt;
        Dim BusRef As New XmlSchemaElement()&lt;br /&gt;
        BusRef.RefName = New XmlQualifiedName(&amp;quot;BusType&amp;quot;)&lt;br /&gt;
        PersOrBus.Items.Add(BusRef)&lt;br /&gt;
        ThisSeq.Items.Add(FName)&lt;br /&gt;
        ThisSeq.Items.Add(LName)&lt;br /&gt;
        ThisSeq.Items.Add(PersOrBus)&lt;br /&gt;
        ThisSeq.Items.Add(Address)&lt;br /&gt;
        ThisSeq.Items.Add(City)&lt;br /&gt;
        ThisSeq.Items.Add(Region)&lt;br /&gt;
        ThisSeq.Items.Add(PostalCode)&lt;br /&gt;
        ThisType.Particle = ThisSeq&lt;br /&gt;
        Items.SchemaType = ThisType&lt;br /&gt;
        MyAddressSeq.Items.Add(Items)&lt;br /&gt;
        MyAddressType.Particle = MyAddressSeq&lt;br /&gt;
        MyAddress.SchemaType = MyAddressType&lt;br /&gt;
        XS.Items.Add(MyAddress)&lt;br /&gt;
        Dim Output As New XmlTextWriter(&amp;quot;TestSchema.xsd&amp;quot;, System.Text.Encoding.UTF8)&lt;br /&gt;
        XS.Write(Output)&lt;br /&gt;
        Output.Close()&lt;br /&gt;
   End Sub&lt;br /&gt;
End class&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validating XML documents against Schemas==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;Imports System.Xml&lt;br /&gt;
Imports System.Xml.Schema &amp;quot; contains XmlSchemaSet class&lt;br /&gt;
&lt;br /&gt;
Public Class Tester&lt;br /&gt;
   Private Shared schemas As XmlSchemaSet &amp;quot; schemas to validate against&lt;br /&gt;
   Private Shared valid As Boolean = True &amp;quot; validation result&lt;br /&gt;
    Public Shared Sub Main&lt;br /&gt;
&lt;br /&gt;
      schemas = New XmlSchemaSet() &amp;quot; create the XmlSchemaSet class&lt;br /&gt;
      schemas.Add(&amp;quot;http://www.deitel.ru/booklist&amp;quot;, &amp;quot;book.xsd&amp;quot;)&lt;br /&gt;
      Dim settings As New XmlReaderSettings()&lt;br /&gt;
      settings.ValidationType = ValidationType.Schema&lt;br /&gt;
      settings.Schemas = schemas&lt;br /&gt;
      AddHandler settings.ValidationEventHandler, AddressOf ValidationError&lt;br /&gt;
      Dim reader As XmlReader = XmlReader.Create(&amp;quot;YourFile.xml&amp;quot;, settings)&lt;br /&gt;
      While reader.Read()&lt;br /&gt;
      End While&lt;br /&gt;
      Console.WriteLine(valid)&lt;br /&gt;
      valid = True &amp;quot; reset variable&lt;br /&gt;
      reader.Close() &amp;quot; close reader stream &lt;br /&gt;
    End Sub&lt;br /&gt;
   Private Shared Sub ValidationError(ByVal sender As Object, _&lt;br /&gt;
      ByVal arguments As ValidationEventArgs)&lt;br /&gt;
      Console.WriteLine(arguments.Message)&lt;br /&gt;
      valid = False&lt;br /&gt;
   End Sub &lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>