<?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%2FXML%2FXML_Schema</id>
		<title>VB.Net/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%2FXML%2FXML_Schema"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/XML/XML_Schema&amp;action=history"/>
		<updated>2026-04-05T08:06:40Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/XML/XML_Schema&amp;diff=308&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/XML/XML_Schema&amp;diff=308&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:06Z</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/XML/XML_Schema&amp;diff=309&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/XML/XML_Schema&amp;diff=309&amp;oldid=prev"/>
				<updated>2010-05-26T12:42:35Z</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;==Compare the XML document generated from DataSet and Original one==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Module FidelityTester&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Dim MyDS As New DataSet()&lt;br /&gt;
        MyDS.ReadXmlSchema(&amp;quot;book.xdr&amp;quot;)&lt;br /&gt;
        MyDS.ReadXml(&amp;quot;book.xml&amp;quot;)&lt;br /&gt;
        MyDS.WriteXml(&amp;quot;Book_After.xml&amp;quot;)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&lt;br /&gt;
&lt;br /&gt;
&amp;quot;book.xdr&lt;br /&gt;
&amp;quot;&amp;lt;?xml version = &amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;quot;&amp;lt;Schema xmlns = &amp;quot;urn:schemas-microsoft-com:xml-data&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;ElementType name = &amp;quot;title&amp;quot; content = &amp;quot;textOnly&amp;quot; &lt;br /&gt;
&amp;quot;      model = &amp;quot;closed&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;ElementType name = &amp;quot;book&amp;quot; content = &amp;quot;eltOnly&amp;quot; model = &amp;quot;closed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;element type = &amp;quot;title&amp;quot; minOccurs = &amp;quot;1&amp;quot; maxOccurs = &amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/ElementType&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;ElementType name = &amp;quot;books&amp;quot; content = &amp;quot;eltOnly&amp;quot; model = &amp;quot;closed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;element type = &amp;quot;book&amp;quot; minOccurs = &amp;quot;0&amp;quot; maxOccurs = &amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/ElementType&amp;gt;&lt;br /&gt;
&amp;quot;&amp;lt;/Schema&amp;gt;&lt;br /&gt;
&amp;quot;File: book.xml&lt;br /&gt;
&amp;quot;&amp;lt;?xml version = &amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;quot;&amp;lt;books xmlns = &amp;quot;x-schema:book.xdr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;C# How to Program&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;Java How to Program, 4/e&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;Visual Basic .NET How to Program&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;Advanced Java 2 Platform How to Program&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;Python How to Program&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;&amp;lt;/books&amp;gt;&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Generate XML Schema from XML document==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml&lt;br /&gt;
Imports System.Xml.Schema&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
      Dim nsArray As String() = {&amp;quot;&amp;quot;}&lt;br /&gt;
      Dim MyDS As DataSet = New DataSet()&lt;br /&gt;
      MyDS.ReadXml(&amp;quot;book.xml&amp;quot;)&lt;br /&gt;
      MyDS.WriteXmlSchema(&amp;quot;InferredSchema.xds&amp;quot;)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Output data relation from XML document==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml&lt;br /&gt;
Imports System.Xml.Schema&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
      Dim nsArray As String() = {&amp;quot;&amp;quot;}&lt;br /&gt;
      Dim MyDS As DataSet = New DataSet()&lt;br /&gt;
      MyDS.ReadXml(&amp;quot;book.xml&amp;quot;)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Relation without schema:&amp;quot;)&lt;br /&gt;
      Dim myRelation As DataRelation&lt;br /&gt;
      For Each myRelation In MyDS.Relations&lt;br /&gt;
         Console.WriteLine(myRelation.RelationName)&lt;br /&gt;
      Next&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Read XML without schema and output its structure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml&lt;br /&gt;
Imports System.Xml.Schema&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
      Dim nsArray As String() = {&amp;quot;&amp;quot;}&lt;br /&gt;
      Dim MyDS As DataSet = New DataSet()&lt;br /&gt;
      MyDS.ReadXml(&amp;quot;book.xml&amp;quot;)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Inferred Relational Structure:&amp;quot;)&lt;br /&gt;
      Dim myTable As DataTable&lt;br /&gt;
      For Each myTable In MyDS.Tables&lt;br /&gt;
         Console.WriteLine(&amp;quot;Table {0}&amp;quot;, myTable.TableName)&lt;br /&gt;
         Dim myColumn As DataColumn&lt;br /&gt;
         For Each myColumn In myTable.Columns&lt;br /&gt;
            Console.WriteLine(&amp;quot;  {0}&amp;quot;, myColumn.ColumnName)&lt;br /&gt;
         Next&lt;br /&gt;
      Next&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&amp;quot;&amp;lt;?xml version = &amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;quot;&amp;lt;books xmlns = &amp;quot;x-schema:book.xdr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;C# How to Program&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;Java How to Program, 4/e&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;Visual Basic .NET How to Program&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;Advanced Java 2 Platform How to Program&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;book&amp;gt;&lt;br /&gt;
&amp;quot;      &amp;lt;title&amp;gt;Python How to Program&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;quot;   &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;quot;&amp;lt;/books&amp;gt;&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&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;&lt;br /&gt;
Imports System.Xml&lt;br /&gt;
Imports System.Xml.Schema&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
   Shared Dim valid As Boolean &amp;quot; validation result&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
       Dim schemas As XmlSchemaCollection &amp;quot; Schemas&lt;br /&gt;
      valid = True &amp;quot; assume document is valid&lt;br /&gt;
      &amp;quot; get Schema(s) for validation&lt;br /&gt;
      schemas = New XmlSchemaCollection()&lt;br /&gt;
      schemas.Add(&amp;quot;book&amp;quot;, &amp;quot;book.xdr&amp;quot;)&lt;br /&gt;
      &amp;quot; get XML document&lt;br /&gt;
      Dim reader As XmlTextReader = _&lt;br /&gt;
         New XmlTextReader(&amp;quot;document.xml&amp;quot;)&lt;br /&gt;
      &amp;quot; get validator&lt;br /&gt;
      Dim validator As XmlValidatingReader = _&lt;br /&gt;
         New XmlValidatingReader(reader)&lt;br /&gt;
      &amp;quot; assign Schema(s)&lt;br /&gt;
      validator.Schemas.Add(schemas)&lt;br /&gt;
      &amp;quot; Microsoft XDR validation&lt;br /&gt;
      validator.ValidationType = ValidationType.XDR&lt;br /&gt;
      &amp;quot; register event handler for validation error(s)&lt;br /&gt;
      AddHandler validator.ValidationEventHandler, _&lt;br /&gt;
         AddressOf ValidationError&lt;br /&gt;
      &amp;quot; validate document node-by-node&lt;br /&gt;
      While validator.Read&lt;br /&gt;
         &amp;quot; empty body&lt;br /&gt;
      End While&lt;br /&gt;
      &amp;quot; check validation result&lt;br /&gt;
      If valid Then&lt;br /&gt;
         Console.WriteLine(&amp;quot;Document is valid&amp;quot;)&lt;br /&gt;
      End If&lt;br /&gt;
      valid = True &amp;quot; reset variable&lt;br /&gt;
      validator.Close()&lt;br /&gt;
   End Sub &lt;br /&gt;
   &amp;quot; event handler for validation error&lt;br /&gt;
   Shared Private 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 &amp;quot; validation failed&lt;br /&gt;
   End Sub &amp;quot; ValidationError&lt;br /&gt;
End Class&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XMl schema generator==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml&lt;br /&gt;
Imports System.Xml.Schema&lt;br /&gt;
Imports System.IO&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
        Dim Schema As XmlSchema = New XmlSchema()&lt;br /&gt;
        Dim ElementBook As New XmlSchemaElement()&lt;br /&gt;
        Schema.Items.Add(ElementBook)&lt;br /&gt;
        ElementBook.Name = &amp;quot;Book&amp;quot;&lt;br /&gt;
        Dim ComplexType As New XmlSchemaComplexType()&lt;br /&gt;
        ElementBook.SchemaType = ComplexType&lt;br /&gt;
        Dim Sequence As New XmlSchemaSequence()&lt;br /&gt;
        ComplexType.Particle = Sequence&lt;br /&gt;
        Dim ElementTitle As New XmlSchemaElement()&lt;br /&gt;
        ElementTitle.Name = &amp;quot;Title&amp;quot;&lt;br /&gt;
        ElementTitle.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, _&lt;br /&gt;
                                       &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
        Dim ElementPublisher As New XmlSchemaElement()&lt;br /&gt;
        ElementPublisher.Name = &amp;quot;Publisher&amp;quot;&lt;br /&gt;
        ElementPublisher.SchemaTypeName = New XmlQualifiedName(&amp;quot;string&amp;quot;, _&lt;br /&gt;
                                       &amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;)&lt;br /&gt;
        Sequence.Items.Add(ElementTitle)&lt;br /&gt;
        Sequence.Items.Add(ElementPublisher)&lt;br /&gt;
        Schema.rupile(New ValidationEventHandler(AddressOf ValidationHandler))&lt;br /&gt;
        Schema.Write(Console.Out)&lt;br /&gt;
    End Sub&lt;br /&gt;
    Shared Sub ValidationHandler(ByVal sender As Object, _&lt;br /&gt;
                          ByVal args As ValidationEventArgs)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Schema Validation Failed.&amp;quot;)&lt;br /&gt;
        Console.WriteLine(args.Message)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>