XmlSchemaValidationFlags 列挙型

定義

XmlSchemaValidator クラスおよび XmlReader クラスで使用するスキーマ検証のオプションを指定します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

public enum class XmlSchemaValidationFlags
[System.Flags]
public enum XmlSchemaValidationFlags
[<System.Flags>]
type XmlSchemaValidationFlags = 
Public Enum XmlSchemaValidationFlags
継承
XmlSchemaValidationFlags
属性

フィールド

AllowXmlAttributes 16

スキーマで定義されていない場合でも、xml:* 属性を許可します。 属性は対応するデータ型に基づいて検証されます。

None 0

ID 制約、インライン スキーマ、スキーマ位置ヒントを処理せず、スキーマ検証警告を報告しません。

ProcessIdentityConstraints 8

検証を実行しているときに検出された ID 制約 (xs:IDxs:IDREFxs:keyxs:keyrefxs:unique) を処理します。

ProcessInlineSchema 1

検証を実行しているときに検出されたインライン スキーマを処理します。

ProcessSchemaLocation 2

検証を実行しているときに検出されたスキーマ位置ヒント (xsi:schemaLocationxsi:noNamespaceSchemaLocation) を処理します。

ReportValidationWarnings 4

検証を実行しているときに検出されたスキーマ検証警告を報告します。

列挙型を使用 XmlSchemaValidationFlags する例については、クラスを XmlSchemaValidator 参照してください。

注釈

値と共に XmlReader使用すると、 XmlSchemaValidationFlags スキーマに対して XML 検証を実行するためにスキーマ検証 XmlReader で使用される検証オプションが定義されます。 XmlSchemaValidationFlags 検証 XmlReader の値は、プロパティを XmlReaderSettings.ValidationFlags 使用して指定されます。

値を使用する AllowXmlAttributes 場合:

  1. スキーマが Xml 名前空間をインポートしない場合。

    1. (既定値) にtrue設定され、インスタンス ドキュメントに Xml 属性が含まれている場合AllowXmlAttributes、検証エンジンは既定の Xml 名前空間スキーマのスナップショットを読み込み、検証に使用します。 インスタンス ドキュメントで使用される Xml 属性が既定のスキーマに見つからない場合、ドキュメントは検証されません。

    2. に設定falseされ、インスタンス ドキュメントに Xml 属性が含まれている場合AllowXmlAttributes、検証エンジンはエラーを報告します。

  2. スキーマが場所なしで Xml 名前空間をインポートする場合。

    1. (既定値) にtrue設定され、インスタンス ドキュメントに Xml 属性が含まれている場合AllowXmlAttributes、検証エンジンは検証に既定の Xml 名前空間スキーマを使用します。 インスタンス ドキュメントで使用される Xml 属性が既定のスキーマに見つからない場合、ドキュメントは検証されません。

    2. スキーマで明示的にfalse許可されていない Xml 属性がインスタンス ドキュメントに含まれている場合AllowXmlAttributes、検証エンジンはエラーを報告します。

    3. スキーマでfalse明示的に許可されている Xml 属性がインスタンス ドキュメントに含まれている場合AllowXmlAttributes、検証エンジンは、既定の Xml 名前空間スキーマを使用して他の属性を検証するのと同じ方法で属性を検証します。

  3. スキーマがカスタムスキーマ割り当てを使用してカスタム Xml 名前空間スキーマをインポートする場合。

    1. (既定値) にtrue設定されていて、インスタンス ドキュメントに Xml 属性が含まれている場合AllowXmlAttributes、検証エンジンはカスタム Xml 名前空間スキーマを検証に使用します。 インスタンス ドキュメントで使用される Xml 属性が指定されたスキーマで見つからない場合、ドキュメントは検証されません。

    2. スキーマで明示的にfalse許可されていない Xml 属性がインスタンス ドキュメントに含まれている場合AllowXmlAttributes、検証エンジンはエラーを報告します。

    3. スキーマでfalse明示的に許可されている Xml 属性がインスタンス ドキュメントに含まれている場合AllowXmlAttributes、検証エンジンは、指定された Xml 名前空間スキーマを使用して他の属性を検証するのと同じ方法で属性を検証します。

  4. スキーマで use="required" を使用して xml:* 属性を定義する場合。

    1. に設定trueされている場合AllowXmlAttributesfalse、次のことが適用されます。 必須の xml:* 属性は、他の属性として扱い、指定された Xml 名前空間スキーマを使用して検証する必要があります。
  5. スキーマで use="prohibited" を使用して xml:* 属性を定義する場合。

    1. に設定trueされている場合AllowXmlAttributesfalse、次のことが適用されます。 インスタンス ドキュメントにスキーマで明示的に禁止されている xml:* 属性が含まれている場合、検証エンジンはエラーを報告します。
  6. スキーマで属性ワイルドカードが指定されている場合。

    1. インスタンス ドキュメントに Xml 属性が含まれており、スキーマで processContents を省略するか "strict" に設定した属性ワイルドカードを指定する場合、検証エンジンは XmlSchemaSet、 . Xml 名前空間スキーマが指定されていない場合、検証エンジンは次のように動作します。

    2. true設定されている場合AllowXmlAttributes、検証エンジンは既定の Xml 名前空間スキーマを使用して検証を実行します。

    3. false設定されている場合AllowXmlAttributes、検証エンジンはエラーを報告します。

    4. インスタンス ドキュメントに Xml 属性が含まれており、スキーマで processContents が "skip" に設定された属性ワイルドカードが指定されている場合、検証エンジンは属性の検証をスキップします。

    5. インスタンス ドキュメントに Xml 属性が含まれており、スキーマで processContents が "lax" に設定された属性ワイルドカードが指定されている場合、検証エンジンは XmlSchemaSet、 . Xml 名前空間スキーマが指定されていない場合、検証エンジンは次のように動作します。

    6. true設定されている場合AllowXmlAttributes、検証エンジンは既定の Xml 名前空間スキーマを使用して検証を実行します。

    7. に設定されているfalse場合AllowXmlAttributes、属性の検証は実行されません。

  7. 単純型を検証する場合。

    1. (既定値) にtrue設定するとAllowXmlAttributes、単純型の要素で Xml 属性が許可されます。

適用対象

こちらもご覧ください