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 要素に相対パスが含まれている場合、XmlValidatingReader は XmlValidatingReader.BaseURI プロパティを使用して相対パスを解決します。XmlResolver の詳細については、「XmlResolver を使用したリソースの解決」を参照してください。
このセクションの内容
XmlValidatingReader による検証の種類
実行する検証の種類を決定するために開発者が設定できる、検証の種類を示すプロパティについて説明します。XmlValidatingReader の検証イベント ハンドラー コールバック
ValidationEventHandler イベントを使用して、検証エラーに関する情報を受信する方法について説明します。XmlValidatingReader を使用した DTD に基づく検証
DTD 検証の実装について説明します。XmlValidatingReader を使用した XDR 検証
XDR スキーマ検証の実装について説明します。インライン XDR スキーマを使用した検証
XmlValidatingReader を使用して、インラインの XDR スキーマに基づいた検証を実行する例を示します。XmlValidatingReader を使用した XML スキーマ (XSD) に基づく検証
XML スキーマ検証の実装について説明します。インライン XML スキーマ (XSD) を使用した検証
XmlValidatingReader を使用して、インラインの XML スキーマに基づいた検証を実行する例を示します。複数のスキーマを使用した XML スキーマ (XSD) 検証
複数のスキーマ リソースを基準として XML フラグメントを検証する例を示します。XmlValidatingReader を使用した XML フラグメントの読み込み
XmlValidatingReader を使用して XML フラグメントを読み取る方法について説明します。
関連項目
- XmlReader による XML の読み取り
XmlReader クラスが、XML ストリームを介した XML データへの非キャッシュ、前方参照専用、読み取り専用のアクセスを提供する方法を説明します。