XmlValidatingReader を使用した XML の検証
XmlValidatingReader クラスは、XmlReader クラスの実装であり、XML の検証サポートを提供します。XmlValidatingReader を使用すると、XML ドキュメントや XML フラグメントを検証できます。このクラスは、文書型定義 (DTD: Document Type Definition) については W3C (World Wide Web Consortium) 勧告『Extensible Markup Language (XML) 1.0』、XDR (XML-Data Reduced) スキーマについては MSXML スキーマ仕様、XSD (XML スキーマ定義言語) スキーマについては勧告『W3C XML Schema』でそれぞれ定義されている検証制約を実装します。
Schemas プロパティ
XmlValidatingReader の Schemas プロパティは、リーダー (読み取り機能) が、構築済みの XmlSchemaCollection 内に読み込まれたスキーマにアクセスする手段を提供します。これらのスキーマはキャッシュされるため、リーダーはスキーマを毎回読み込み直す必要なく検証を実行できます。メモリ内にキャッシュされたスキーマを使用することで、パフォーマンスが大幅に向上します。
XmlResolver プロパティ
外部エンティティ (DTD やスキーマの場所など) を解決するには、XmlValidatingReader の XmlResolver プロパティを使用します。開発者がカスタムの XmlResolver を既に作成した場合や、資格情報を必要とするネットワーク リソースにアクセスする場合は、このプロパティを使用して、使用する XmlResolver を指定します。XmlResolver が指定されていない状況で外部参照を解決する場合、リーダーは既定の XmlUrlResolver を使用します。XmlUrlResolver クラスは、ファイル プロトコルおよび HTTP プロトコルを解決します。
また、XML スキーマ内の xs:include 要素と xs:import 要素を処理する場合も、XmlResolver が使用されます。xs:include 要素や xs:import 要素が相対パスを指定している場合、XmlValidatingReader は自らの BaseURI プロパティを使用して相対パスを解決します。XmlResolver の詳細については、「XmlResolver を使用したリソースの解決」を参照してください。
このセクションの内容
- XmlValidatingReader による検証の種類
実行する検証の種類を決定するために開発者が設定できる、検証の種類を示すプロパティについて説明します。 - XmlValidatingReader の検証イベント ハンドラ コールバック
ValidationEventHandler イベントを使用して、検証エラーに関する情報を受信する方法について説明します。 - XmlValidatingReader を使用した DTD 検証
文書型定義 (DTD: Document Type Definition) 検証の実装について説明します。 - XmlValidatingReader を使用した XDR 検証
XDR (XML-Data Reduced) スキーマ検証の実装について説明します。 - インライン XDR スキーマを使用した検証
XmlValidatingReader を使用して、インラインの XDR スキーマに基づいた検証を実行する例を示します。 - XmlValidatingReader を使用した XML スキーマ (XSD) 検証
XML スキーマ定義言語 (XSD) スキーマ検証の実装について説明します。 - インライン XML スキーマ (XSD) を使用した検証
XmlValidatingReader を使用して、インラインの XML スキーマに基づいた検証を実行する例を示します。 - 複数のスキーマを使用した XML スキーマ (XSD) 検証
複数のスキーマ リソースを基準として XML フラグメントを検証する例を示します。 - XmlValidatingReader を使用した XML フラグメントの読み込み
XmlValidatingReader を使用して XML フラグメントを読み込む方法について説明します。
関連項目
- スキーマとの XML の検証
.NET Framework で実行できる DTD 検証、XDR スキーマ検証、および XSD スキーマ検証について説明します。 - スキーマ キャッシュとしての XmlSchemaCollection
キャッシュされたコレクション内にスキーマを読み込み、検証に使用する方法について説明します。