スキーマ オブジェクト モデル (SOM) では、W3C 勧告『XML Schema』に対応した完全準拠の System.Xml.Schema 名前空間内でのクラスのセットを提供しています。これらのクラスによって、ファイルからスキーマを読み取ったり、コンパイルや検証またはファイルへの書き込みが可能なスキーマをプログラムを使用してメモリに作成したりできるようになります。
SOM では、次のような機能を提供しています。
- 有効な XML スキーマ定義言語 (XSD) スキーマをファイルから読み込んだり、ファイルに保存したりします。
- 厳密に型指定されたクラスを使用して、メモリ内にスキーマを作成する簡単な方法を提供します。
- XmlSchemaCollection クラスと対話して、スキーマをキャッシュしたり、取得したりします。
- XmlSchemaCollection クラスを通じて XmlValidatingReader クラスと対話し、スキーマに対して XML インスタンス ドキュメントを検証します。
- ツール開発者がスキーマの作成および操作に使用するエディタを作成できるようにします。
- XML インスタンス ドキュメントの検証で使用するためにコンパイルし保存できるスキーマを動的に編集する機能を提供します。
System.Xml.Schema 名前空間内のクラスは、XmlValidatingReader によって行われる解析時の検証を補完します。
XmlSchema クラスは、System.Xml.Schema 名前空間内のクラスを使用して、プログラムにより SOM を作成します。SOM は W3C 勧告『Extensible Markup Language (XML) 1.0』に概説されている XML ドキュメント作成ルールに従い、適切な形式で作成されます。SOM は、ドキュメント オブジェクト モデル (DOM) が XML ドキュメントを編集するのと似た方法で XML スキーマ定義言語 (XSD) ドキュメントを編集します。
XmlSchema クラスは XML スキーマを検証し、検証情報、つまりスキーマのために保持されるスキーマの検証後の情報セットを再作成します。
XmlSchema クラスの Compile メソッドを使用して、プログラムによって作成したスキーマを検証できます。Compile メソッドを使用して、そのスキーマの意味が合っているかを検証します。たとえば、Compile メソッドは XML スキーマ構造が正しいかどうかをチェックし、制約は正しく適用されているか、型は正しく継承されているかを検査します。
検証時にパーサーが警告またはエラーを生成する場合は、検証呼び出しが使用されます。XML スキーマの意味を検査するために、Compile メソッドの ValidationEventHandler が使用されます。
スキーマを作成する以外に、XmlSchema.Read メソッドを使用してファイルからスキーマを読み込むこともできます。XmlSchema.Read メソッドによる読み取り時に構文検証エラーまたは意味検証エラーが発生すると ValidationEventHandler が呼び出されます。詳細については、「XmlValidatingReader の検証イベント ハンドラ コールバック」を参照してください。
SOM 階層
スキーマ オブジェクト モデル (SOM) のクラス階層を次のダイアグラムに示します。
スキーマ オブジェクト モデル (SOM) のクラス階層
参照
XML スキーマ オブジェクト モデル (SOM) | XML スキーマ リファレンス (XSD) | スキーマとの XML の検証