XmlValidatingReader を使用した XML の検証

更新 : November 2007

XmlReader クラスの実装である XmlValidatingReader クラスは、XML の検証をサポートします。XmlValidatingReader を使用して、XML ドキュメントや XML フラグメントを検証できます。このクラスは、ドキュメント型定義 (DTD) については W3C (World Wide Web Consortium) 勧告『Extensible Markup Language (XML) 1.0』で定義されている検証制約を実装し、XDR (XML-Data Reduced) スキーマについては Microsoft XML コア サービス (MSXML) スキーマの仕様を実装し、XML スキーマ定義言語 (XSD) スキーマについては W3C 勧告『XML Schema』を実装します。

メモ :

.NET Framework version 2.0 では、XmlValidatingReader クラスが廃止されています。XmlReaderSettings クラスと Create メソッドを使用して、検証用の XmlReader インスタンスを作成できます。詳細については、「XmlReader による XML データの検証」を参照してください。

XmlValidatingReader クラスを使ってエンティティを展開していたユーザーのために、同じ機能が XmlTextReader クラスに追加されています。

XmlValidatingReader.Schemas プロパティは、組み込み済みの XmlSchemaCollection に読み込まれたスキーマにリーダーがアクセスできるようにします。これらのスキーマはキャッシュされるため、リーダーはスキーマを毎回読み込むことなく検証を実行できます。メモリ内にキャッシュされたスキーマを使用することで、パフォーマンスが大幅に向上します。

XmlValidatingReader.XmlResolver プロパティは、ドキュメント型定義 (DTD) やスキーマの場所など、外部エンティティの解決に使われる XmlResolver オブジェクトを指定します。独自の XmlResolver を使っている場合や、資格情報を必要とするネットワーク リソースにアクセスする場合は、このプロパティを使用して、使用する XmlResolver を指定します。XmlResolver が指定されていない状態で外部参照を解決する場合、リーダーは既定の XmlUrlResolver を使用します。XmlUrlResolver クラスは、ファイル プロトコルおよび HTTP プロトコルを解決します。

XML スキーマ内の xs:include 要素と xs:import 要素を処理する場合も、XmlResolver が使用されます。xs:include 要素または xs:import 要素に相対パスが含まれている場合、XmlValidatingReaderXmlValidatingReader.BaseURI プロパティを使用して相対パスを解決します。XmlResolver の詳細については、「XmlResolver を使用したリソースの解決」を参照してください。

このセクションの内容

関連するセクション

参照

その他の技術情報

XML ドキュメントと XML データ