XmlReaderSettings クラスにおける検証オプション

XmlReader クラスは、ドキュメント型定義 (DTD) またはスキーマ定義言語 (XSD) のスキーマを使用して検証を強制できます。データ検証が必要な場合に XmlReader オブジェクトがサポートするデータ検証の種類は、Create メソッドが使用する XmlReaderSettings オブジェクトの設定によって決まります。

検証の設定

次の表は、XmlReaderSettings クラスに対する検証固有の設定の詳細です。

プロパティ

説明

DtdProcessing

DTD 処理を許可するかどうかを指定します。既定では、DTD 処理は許可されません。

ValidationType

XmlReader がデータ検証を実行するかどうか、および実行する検証の種類 (DTD またはスキーマ) を指定します。既定では、データ検証は実行されません。

ValidationEventHandler

検証イベントに関する情報を受け取るイベント ハンドラーを指定します。イベント ハンドラーが提供されていない場合は、最初の検証エラーに対して XmlException がスローされます。

ValidationFlags

追加の検証設定を指定します。

  • AllowXmlAttributes: スキーマに定義されていない場合でも、インスタンス ドキュメント内の XML 属性 (xml:*) を許可します。これらの属性は、それらのデータ型に基づいて検証されます。

    既定では、この設定は無効になっています。

  • ProcessIdentityConstraints: 検証中に検出された ID 制約 (xs:ID、xs:IDREF、xs:key、xs:keyref、および xs:unique) を処理します。

    既定では、この設定は有効になっています。

  • ProcessSchemaLocation: xsi:schemaLocation 属性または xsi:noNamespaceSchemaLocation 属性によって指定されたスキーマを無視します。

    既定では、この設定は無効になっています。

  • ProcessInlineSchema: 検証中にインライン XML スキーマを処理する必要があることを示します。

    既定では、この設定は無効になっています。

  • ReportValidationWarnings: 検証警告が発生した場合にイベントの報告が必要なことを示します。警告は通常、特定の要素または属性を検証するための DTD または XML スキーマがない場合に発行されます。通知には ValidationEventHandler が使用されます。

    既定では、この設定は無効になっています。この設定は DTD 検証またはスキーマ検証に適用されます。

XmlResolver

外部リソースの解決とアクセスに使用する XmlResolver を指定します。これには、外部エンティティ (たとえば、DTD およびスキーマの場所) を含めることができます。XmlResolver は、XML スキーマ内に含まれる xs:include 要素または xs:import 要素を処理する場合にも使用されます。XmlResolver が指定されていない場合、XmlReader は既定の XmlUrlResolver をユーザー資格情報なしで使用します。

参照

概念

XmlReader による XML の読み取り

その他の技術情報

XmlReader による XML データの検証