XmlSchemaValidationFlags XmlSchemaValidationFlags XmlSchemaValidationFlags XmlSchemaValidationFlags Enum

Definition

Specifies schema validation options used by the XmlSchemaValidator and XmlReader classes.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class XmlSchemaValidationFlags
[System.Flags]
public enum XmlSchemaValidationFlags
type XmlSchemaValidationFlags = 
Public Enum XmlSchemaValidationFlags
Inheritance
XmlSchemaValidationFlagsXmlSchemaValidationFlagsXmlSchemaValidationFlagsXmlSchemaValidationFlags
Attributes

Fields

AllowXmlAttributes AllowXmlAttributes AllowXmlAttributes AllowXmlAttributes 16

Allow xml:* attributes even if they are not defined in the schema. The attributes will be validated based on their data type.

None None None None 0

Do not process identity constraints, inline schemas, schema location hints, or report schema validation warnings.

ProcessIdentityConstraints ProcessIdentityConstraints ProcessIdentityConstraints ProcessIdentityConstraints 8

Process identity constraints (xs:ID, xs:IDREF, xs:key, xs:keyref, xs:unique) encountered during validation.

ProcessInlineSchema ProcessInlineSchema ProcessInlineSchema ProcessInlineSchema 1

Process inline schemas encountered during validation.

ProcessSchemaLocation ProcessSchemaLocation ProcessSchemaLocation ProcessSchemaLocation 2

Process schema location hints (xsi:schemaLocation, xsi:noNamespaceSchemaLocation) encountered during validation.

ReportValidationWarnings ReportValidationWarnings ReportValidationWarnings ReportValidationWarnings 4

Report schema validation warnings encountered during validation.

Examples

For an example of the AllowXmlAttributes class, see the XmlSchemaValidator class.

Remarks

The following are notes to consider when using XmlSchemaValidationFlags values with the XmlReader.

The following are notes to consider when using the AllowXmlAttributes value.

  1. When a schema doesn't import the Xml namespace.

    1. If AllowXmlAttributes is set to true (default) and the instance document contains Xml attributes, the validation engine will load a snapshot of the default Xml namespace schema and use it for validation. If Xml attributes used in the instance document are not found in the default schema, the document will not validate.

    2. If AllowXmlAttributes is set to false and the instance document contains Xml attributes, the validation engine will report an error.

  2. When a schema imports the Xml namespace without a location.

    1. If AllowXmlAttributes is set to true (default) and the instance document contains Xml attributes, the validation engine will use the default Xml namespace schema for validation. If Xml attributes used in the instance document are not found in the default schema, the document will not validate.

    2. If AllowXmlAttributes is set to false and the instance document contains Xml attributes that are not explicitly allowed by the schema, the validation engine will report an error.

    3. If AllowXmlAttributes is set to false and the instance document contains Xml attributes that are explicitly allowed by the schema, the validation engine will validate the attributes the same way it validates other attributes using the default Xml namespace schema.

  3. When a schema imports a custom Xml namespace schema with a custom schemaLocation.

    1. If AllowXmlAttributes is set to true (default) and the instance document contains Xml attributes, the validation engine will use the custom Xml namespace schema for validation. If Xml attributes used in the instance document are not found in the specified schema, the document will not validate.

    2. If AllowXmlAttributes is set to false and the instance document contains Xml attributes that are not explicitly allowed by the schema, the validation engine will report an error.

    3. If AllowXmlAttributes is set to false and the instance document contains Xml attributes that are explicitly allowed by the schema, the validation engine will validate the attributes the same way it validates other attributes using specified Xml namespace schema.

  4. When a schema defines an xml:* attribute with use="required".

    1. The following applies when AllowXmlAttributes is set to true and false. Required xml:* attributes should be treated as other attributes and validated using the specified Xml namespace schema.
  5. When a schema defines an xml:* attribute with use="prohibited".

    1. The following applies when AllowXmlAttributes is set to true and false. If an instance document contains xml:* attributes that are explicitly prohibited by the schema, the validation engine will report an error.
  6. When a schema specifies an attribute wildcard.

    1. If an instance document contains an Xml attribute and the schema specifies an attribute wildcard with processContents either omitted or set to "strict", the validation engine will use the Xml namespace schema present in the XmlSchemaSet. If no Xml namespace schema is specified, the validation engine will behave as follows.

    2. If AllowXmlAttributes is set to true, the validation engine will use the default Xml namespace schema to perform validation.

    3. If AllowXmlAttributes is set to false, the validation engine will report an error.

    4. If an instance document contains an Xml attribute and the schema specifies an attribute wildcard with processContents set to "skip", the validation engine will skip attribute validation.

    5. If an instance document contains an Xml attribute and the schema specifies an attribute wildcard with processContents set to "lax", the validation engine will use the Xml namespace schema present in the XmlSchemaSet. If no Xml namespace schema is specified, the validation engine will behave as follows.

    6. If AllowXmlAttributes is set to true, the validation engine will use the default Xml namespace schema to perform validation.

    7. If AllowXmlAttributes is set to false, attribute validation will not be performed.

  7. When validating simple types.

    1. When AllowXmlAttributes is set to true (default), Xml attributes will be allowed on elements of simple types.

Applies to

See also