XML スキーマ オブジェクト モデルの概要

Microsoft .NET Framework のスキーマ オブジェクト モデル (SOM) は豊富な機能を備えた API で、スキーマの作成、編集、および検証をプログラムで実行できます。 SOM は、ドキュメント オブジェクト モデル (DOM) が XML ドキュメント上で機能するのと同様に、XML スキーマ ドキュメント上で機能します。 XML スキーマ ドキュメントは有効な XML ファイルで、SOM に読み込まれると、スキーマに準拠した他の XML ドキュメントの構造および有効性に関する情報を伝えます。

スキーマは、特定のスキーマに対して XML ドキュメントの構造またはモデルを指定することによって XML ドキュメントのクラスを定義する、XML ドキュメントです。 スキーマは、XML ドキュメントの内容に対する制約を指定し、特定のスキーマと照合して有効と見なされるように、規定に準拠した XML ドキュメントが従う表現形式 (規則または文法) を記述します。 XML ドキュメントの検証は、ドキュメントがスキーマによって指定された文法に準拠しているかどうかを確認するプロセスです。

.NET Framework の SOM API を使用すると、スキーマの作成、編集、および検証に関する次の操作を行うことができます。

  • 有効なスキーマをファイルから読み込み、ファイルへ保存します。

  • 厳密に型指定されたクラスを使用し、メモリ内にスキーマを作成します。

  • XmlSchemaSet クラスと対話し、スキーマのキャッシュ、コンパイル、および取得を行います。

  • Create クラスの XmlReader メソッドと対話し、スキーマを基準として XML インスタンス ドキュメントを検証します。

  • スキーマの作成および保守に使用するエディターを作成します。

  • XML インスタンス ドキュメントの検証で使用するためにコンパイルと保存が可能なスキーマを動的に編集します。

スキーマ オブジェクト モデル

SOM は、XML スキーマの要素に相当する System.Xml.Schema 名前空間の広範囲にわたるクラスで構成されています。 たとえば、<xsd:schema>...</xsd:schema> 要素は System.Xml.Schema.XmlSchema クラスにマップしているため、<xsd:schema/> 要素に格納できる情報はすべて XmlSchema クラスを使って表すことができます。 同様に、<xsd:element>...</xsd:element> 要素と <xsd:attribute>...</xsd:attribute> 要素は、それぞれ System.Xml.Schema.XmlSchemaElement クラスと System.Xml.Schema.XmlSchemaAttribute クラスにマップしています。 このマッピングは、次の図に示す System.Xml.Schema 名前空間の XML スキーマ オブジェクト モデルを作成する XML スキーマのすべての要素に適用されます。

System.Xml.Schema Object Model

System.Xml.Schema 名前空間の各クラスの詳細については、.NET Framework クラス ライブラリの System.Xml.Schema 名前空間のリファレンス ドキュメントを参照してください。

関連項目