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 プロパティ

XmlValidatingReaderSchemas プロパティは、リーダー (読み取り機能) が、構築済みの XmlSchemaCollection 内に読み込まれたスキーマにアクセスする手段を提供します。これらのスキーマはキャッシュされるため、リーダーはスキーマを毎回読み込み直す必要なく検証を実行できます。メモリ内にキャッシュされたスキーマを使用することで、パフォーマンスが大幅に向上します。

XmlResolver プロパティ

外部エンティティ (DTD やスキーマの場所など) を解決するには、XmlValidatingReaderXmlResolver プロパティを使用します。開発者がカスタムの XmlResolver を既に作成した場合や、資格情報を必要とするネットワーク リソースにアクセスする場合は、このプロパティを使用して、使用する XmlResolver を指定します。XmlResolver が指定されていない状況で外部参照を解決する場合、リーダーは既定の XmlUrlResolver を使用します。XmlUrlResolver クラスは、ファイル プロトコルおよび HTTP プロトコルを解決します。

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

このセクションの内容

関連項目