XmlValidatingReader を使用した XML の検証

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 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 データ