XmlSchemaObject クラス
アセンブリ: System.Xml (system.xml.dll 内)


Option Strict On Option Explicit On Imports System Imports System.Xml Imports System.Xml.Schema Imports System.IO Imports System.Reflection Imports Microsoft.VisualBasic Public Class ValidXSD Public Shared Sub Main() Dim xsd As String = "example.xsd" Dim fs As FileStream Dim schema As XmlSchema Try fs = New FileStream(xsd, FileMode.Open) schema = XmlSchema.Read(fs, New ValidationEventHandler(AddressOf ShowCompileError)) Dim schemaSet As New XmlSchemaSet() AddHandler schemaSet.ValidationEventHandler, AddressOf ShowCompileError schemaSet.Add(schema) schemaSet.Compile() Dim compiledSchema As XmlSchema = Nothing For Each schema1 As XmlSchema In schemaSet.Schemas() compiledSchema = schema1 Next schema = compiledSchema If schema.IsCompiled Then DisplayObjects(schema) End If Catch e As XmlSchemaException Console.WriteLine("LineNumber = {0}", e.LineNumber) Console.WriteLine("LinePosition = {0}", e.LinePosition) Console.WriteLine("Message = {0}", e.Message) Console.WriteLine("Source = {0}", e.Source) End Try End Sub 'Main Private Overloads Shared Sub DisplayObjects(ByVal o As Object) DisplayObjects(o, "") End Sub 'DisplayObjects Private Overloads Shared Sub DisplayObjects(ByVal o As Object, ByVal indent As String) Console.WriteLine("{0}{1}", indent, o) Dim property1 As PropertyInfo For Each property1 In o.GetType().GetProperties() If property1.PropertyType.FullName = "System.Xml.Schema.XmlSchemaObjectCollection" Then Dim childObjectCollection As XmlSchemaObjectCollection = CType(property1.GetValue(o, Nothing), XmlSchemaObjectCollection) Dim schemaObject As XmlSchemaObject For Each schemaObject In childObjectCollection DisplayObjects(schemaObject, indent + ControlChars.Tab) Next schemaObject End If Next property1 End Sub 'DisplayObjects Private Shared Sub ShowCompileError(ByVal sender As Object, ByVal e As ValidationEventArgs) Console.WriteLine("Validation Error: {0}", e.Message) End Sub 'ShowCompileError End Class 'ValidXSD
using System; using System.Xml; using System.Xml.Schema; using System.IO; using System.Reflection; public class ValidXSD { public static int Main() { string xsd = "example.xsd"; FileStream fs; XmlSchema schema; try { fs = new FileStream(xsd, FileMode.Open); schema = XmlSchema.Read(fs, new ValidationEventHandler(ShowCompileError)); XmlSchemaSet schemaSet = new XmlSchemaSet(); schemaSet.ValidationEventHandler += new ValidationEventHandler(ShowCompileError); schemaSet.Add(schema); schemaSet.Compile(); XmlSchema compiledSchema = null; foreach (XmlSchema schema1 in schemaSet.Schemas()) { compiledSchema = schema1; } schema = compiledSchema; if (schema.IsCompiled) { DisplayObjects(schema); } return 0; } catch (XmlSchemaException e) { Console.WriteLine("LineNumber = {0}", e.LineNumber); Console.WriteLine("LinePosition = {0}", e.LinePosition); Console.WriteLine("Message = {0}", e.Message); Console.WriteLine("Source = {0}", e.Source); return -1; } } private static void DisplayObjects(object o) { DisplayObjects(o, ""); } private static void DisplayObjects(object o, string indent) { Console.WriteLine("{0}{1}", indent, o); foreach (PropertyInfo property in o.GetType().GetProperties()) { if (property.PropertyType.FullName == "System.Xml.Schema.XmlSchemaObjectCollection") { XmlSchemaObjectCollection childObjectCollection = (XmlSchemaObjectCollection)property.GetValue(o, null); foreach (XmlSchemaObject schemaObject in childObjectCollection) { DisplayObjects(schemaObject, indent + "\t"); } } } } private static void ShowCompileError(object sender, ValidationEventArgs e) { Console.WriteLine("Validation Error: {0}", e.Message); } }
この例では、入力として、example.xsd というファイルを使用しています。
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:group name="testGroup"> <xs:choice> <xs:any namespace="##any"/> </xs:choice> </xs:group> <xs:element name="myElement" > <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:group ref="testGroup" /> </xs:choice> </xs:complexType> </xs:element> </xs:schema>



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlSchemaObject コンストラクタ
アセンブリ: System.Xml (system.xml.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlSchemaObject プロパティ
XmlSchemaObject メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

XmlSchemaObject メンバ
Xml スキーマ オブジェクト モデルの階層構造におけるルート クラスを表し、XmlSchema などのクラスの基本クラスとして機能します。
XmlSchemaObject データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- XmlSchemaObjectのページへのリンク