次の方法で共有


XmlValidatingReader による検証の種類

更新 : November 2007

ValidationType プロパティは、XmlValidatingReader が実行する検証タイプを決定します。このプロパティは、Read メソッドを呼び出す前に設定しておく必要があります。検証に外部のドキュメント型定義 (DTD) やスキーマが必要な場合は、XmlResolver プロパティを使用します。

yes0wd1w.alert_note(ja-jp,VS.90).gifメモ :

.NET Framework version 2.0 では、XmlValidatingReader クラスが廃止されています。XmlReaderSettings クラスと Create メソッドを使用して、検証用の XmlReader インスタンスを作成できます。詳細については、「XmlReader による XML データの検証」を参照してください。

ValidationType 列挙値

ValidationType プロパティは、いずれかの ValidationType 列挙値に設定できます。以下のセクションでは ValidationType 値について説明します。

ValidationType.Auto

これは、ValidationType プロパティの既定値です。ValidationType プロパティが Auto に設定されているときの検証の規則を次の表に示します。

DTD またはスキーマ

ValidationType.Auto

DTD とスキーマのどちらもなし

XML を検証せずに解析します。例外をスローすることはありません。型情報は提供されません。

DTD

DTD 検証を実行します。既定の属性およびエンティティは展開されます。一般エンティティは、使用 (展開) されている場合にだけ読み込まれて解析されます。型情報は提供されません。

XML スキーマ (参照またはインライン)

XML スキーマ定義言語 (XSD) 検証を実行します。スキーマを使用して検証します。既定の属性は展開されます。型情報が提供されます。

XDR スキーマ (参照またはインライン)

XDR (XML-Data Reduced) スキーマ検証を実行します。スキーマを使用して検証します。既定の属性は展開されます。型情報が提供されます。

DTD、XML スキーマ、または XDR スキーマ (参照またはインライン)

DTD、XML スキーマ、XDR スキーマのうち、最初に見つかった種類の検証を実行します。DTD 検証は、常に他の検証の種類に優先して実行されます。

ValidationType.DTD

ValidationType.DTD 値が指定されている場合、XmlValidatingReader は DTD に基づいてドキュメントを検証します。ValidationType プロパティが ValidationType.DTD に設定されているときの検証の規則を次の表に示します。

DTD またはスキーマ

ValidationType.DTD

DTD とスキーマのどちらもなし

ルート要素の位置で No DTD found という警告を返します。例外をスローすることはありません。型情報は提供されません。

DTD

DTD 検証を実行します。既定の属性およびエンティティは展開されます。一般エンティティは、使用 (展開) されている場合にだけ読み込まれて解析されます。型情報は提供されません。

XML スキーマ (参照またはインライン)

ルート要素の位置で No DTD found という警告を返します。スキーマが見つかった場合は、混在している検証タイプに対して XmlException がスローされます。

XDR スキーマ (参照またはインライン)

ルート要素の位置で No DTD found という警告を返します。スキーマが見つかった場合は、混在している検証タイプに対して XmlException がスローされます。

DTD、XML スキーマ、または XDR スキーマ (参照またはインライン)

DTD 検証を実行します。既定の属性およびエンティティは展開されます。

ValidationType.Schema

ValidationType.Schema 値が設定されている場合、XmlValidatingReader は、インライン スキーマを含む XML スキーマに基づいてドキュメントを検証します。ValidationType プロパティが ValidationType.Schema に設定されているときの検証の規則を次の表に示します。

DTD またはスキーマ

ValidationType.Schema

DTD とスキーマのどちらもなし

各要素に対して No schema found という警告を返します。

DTD

混在している検証タイプに対して XmlException がスローされます。

XML スキーマ (参照またはインライン)

XML スキーマ検証を実行します。スキーマを使用して検証します。既定の属性はスキーマから展開されます。型情報が提供されます。

XDR スキーマ (参照またはインライン)

混在している検証タイプに対して XmlException がスローされます。

DTD、XML スキーマ、または XDR スキーマ (参照またはインライン)

XML スキーマ検証を実行します。既定の属性はスキーマから展開されます。型情報が提供されます。DTD または XDR スキーマが見つかると、混在している検証タイプに対して XmlException がスローされます。

ValidationType.XDR

ValidationType.XDR 値が設定されている場合、XmlValidatingReader は、インライン スキーマを含む XDR スキーマに基づいてドキュメントを検証します。ValidationType プロパティが ValidationType.XDR に設定されているときの検証の規則を次の表に示します。

DTD またはスキーマ

ValidationType.XDR

DTD とスキーマのどちらもなし

検証が実行されなかったことを示す最後の警告を返します。

DTD

混在している検証タイプに対して XmlException がスローされます。

XML スキーマ (参照またはインライン)

混在している検証タイプに対して XmlException がスローされます。

XDR スキーマ (参照またはインライン)

XDR 検証を実行します。スキーマを使用して検証します。既定の属性はスキーマから展開されます。型情報が提供されます。

DTD、XML スキーマ、または XDR スキーマ (参照またはインライン)

XDR 検証を実行します。既定の属性はスキーマから展開されます。型情報が提供されます。DTD または XML スキーマが見つかると、混在している検証タイプに対して XmlException がスローされます。

ValidationType.None

ValidationType.None 値を設定すると、W3C (World Wide Web Consortium) 勧告『Extensible Markup Language (XML) 1.0』に準拠した非検証型パーサーが作成されます。既定の属性が報告され、一般エンティティが解決されます。検証エラーはスローされません。ValidationType プロパティが ValidationType.None に設定されているときの検証の規則を次の表に示します。

DTD またはスキーマ

ValidationType.None

DTD とスキーマのどちらもなし

XML を検証せずに解析します。例外をスローすることはありません。型情報は提供されません。

DTD

XML 1.0 に準拠した、検証を実行しないパーサーが作成されます。DTD 検証は実行されません。既定の属性およびエンティティは DTD から展開されます。型情報は提供されません。

XML スキーマ (参照またはインライン)

XML を検証せずに解析します。例外をスローすることはありません。既定の属性はスキーマから展開されません。型情報は提供されません。

XDR スキーマ (参照またはインライン)

XML を検証せずに解析します。例外をスローすることはありません。既定の属性はスキーマから展開されません。型情報は提供されません。

DTD、XML スキーマ、または XDR スキーマ (参照またはインライン)

XML 1.0 に準拠した、検証を実行しないパーサーが作成されます。DTD 検証は実行されません。既定の属性およびエンティティは DTD から展開されます。型情報は提供されません。

1 番目の Read メソッドを呼び出した後で ValidationType プロパティを設定すると、XmlValidatingReaderInvalidOperationException をスローします。

参照

概念

XmlReader による XML の読み取り

その他の技術情報

XmlReader クラスの使用