XmlSchemaValidationFlags 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定由 XmlSchemaValidator 和 XmlReader 类使用的架构验证选项。
此枚举支持其成员值的按位组合。
public enum class XmlSchemaValidationFlags
[System.Flags]
public enum XmlSchemaValidationFlags
[<System.Flags>]
type XmlSchemaValidationFlags =
Public Enum XmlSchemaValidationFlags
- 继承
- 属性
字段
AllowXmlAttributes | 16 | 即使架构中未定义 xml:* 特性,也允许这些特性。 将根据这些特性的数据类型对它们进行验证。 |
None | 0 | 不要处理标识约束、内联架构、架构位置提示或报告架构验证警告。 |
ProcessIdentityConstraints | 8 | 处理验证过程中遇到的标识约束( |
ProcessInlineSchema | 1 | 处理在验证过程中遇到的内联架构。 |
ProcessSchemaLocation | 2 | 处理验证过程中遇到的架构位置提示( |
ReportValidationWarnings | 4 | 报告在验证过程中遇到的架构验证警告。 |
示例
有关使用 XmlSchemaValidationFlags
枚举的示例,请参阅 XmlSchemaValidator 该类。
注解
When used with the XmlReader, XmlSchemaValidationFlags
values define validation options used by a schema validating XmlReader to perform XML validation against a schema. XmlSchemaValidationFlags
使用XmlReaderSettings.ValidationFlags属性指定验证XmlReader的值。
使用 AllowXmlAttributes
值时:
当架构不导入 Xml 命名空间时。
如果
AllowXmlAttributes
设置为true
(默认) 且实例文档包含 Xml 属性,则验证引擎将加载默认 Xml 命名空间架构的快照并将其用于验证。 如果在默认架构中找不到实例文档中使用的 Xml 属性,则文档将不会验证。如果
AllowXmlAttributes
设置为false
实例文档包含 Xml 属性,则验证引擎将报告错误。
架构在没有位置的情况下导入 Xml 命名空间时。
如果
AllowXmlAttributes
设置为true
(默认) 且实例文档包含 Xml 属性,则验证引擎将使用默认的 Xml 命名空间架构进行验证。 如果在默认架构中找不到实例文档中使用的 Xml 属性,则文档将不会验证。如果
AllowXmlAttributes
设置为false
且实例文档包含架构未显式允许的 Xml 属性,则验证引擎将报告错误。如果
AllowXmlAttributes
设置为false
实例文档并且实例文档包含架构显式允许的 Xml 属性,则验证引擎将使用默认 Xml 命名空间架构验证其他属性的方式验证这些属性。
当架构使用自定义 schemaLocation 导入自定义 Xml 命名空间架构时。
如果
AllowXmlAttributes
设置为true
(默认) 且实例文档包含 Xml 属性,则验证引擎将使用自定义 Xml 命名空间架构进行验证。 如果在指定架构中找不到实例文档中使用的 Xml 属性,则文档将不会验证。如果
AllowXmlAttributes
设置为false
且实例文档包含架构未显式允许的 Xml 属性,则验证引擎将报告错误。如果
AllowXmlAttributes
设置为false
实例文档并且实例文档包含架构显式允许的 Xml 属性,则验证引擎将使用指定的 Xml 命名空间架构验证其他属性的方式验证这些属性。
当架构使用 use=“required”定义 xml:* 属性时。
- 以下情况适用于
AllowXmlAttributes
设置为true
和false
。 必需的 xml:* 属性应被视为其他属性,并使用指定的 Xml 命名空间架构进行验证。
- 以下情况适用于
当架构使用 use=“prohibited”定义 xml:* 属性时。
- 以下情况适用于
AllowXmlAttributes
设置为true
和false
。 如果实例文档包含架构显式禁止的 xml:* 属性,验证引擎将报告错误。
- 以下情况适用于
架构指定属性通配符时。
如果实例文档包含 Xml 属性,并且架构指定了 processContents 的属性通配符,或设置为“strict”,则验证引擎将使用该架构中 XmlSchemaSet存在的 Xml 命名空间架构。 如果未指定 Xml 命名空间架构,验证引擎的行为将如下所示。
如果
AllowXmlAttributes
设置为true
,验证引擎将使用默认的 Xml 命名空间架构来执行验证。如果
AllowXmlAttributes
设置为false
,验证引擎将报告错误。如果实例文档包含 Xml 属性,并且架构指定了一个将 processContents 设置为“skip”的属性通配符,则验证引擎将跳过属性验证。
如果实例文档包含 Xml 属性,并且架构指定了一个将 processContents 设置为“lax”的属性通配符,则验证引擎将使用 Xml 命名空间架构。XmlSchemaSet 如果未指定 Xml 命名空间架构,验证引擎的行为将如下所示。
如果
AllowXmlAttributes
设置为true
,验证引擎将使用默认的 Xml 命名空间架构来执行验证。如果
AllowXmlAttributes
设置为false
,则不会执行属性验证。
验证简单类型时。
- 当设置为
true
(默认) 时AllowXmlAttributes
,简单类型的元素上将允许 Xml 属性。
- 当设置为