XPathNavigator.CheckValidity(XmlSchemaSet, ValidationEventHandler) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
验证 XPathNavigator 中的 XML 数据是否符合所提供的 XML 架构定义语言 (XSD) 架构。
public:
virtual bool CheckValidity(System::Xml::Schema::XmlSchemaSet ^ schemas, System::Xml::Schema::ValidationEventHandler ^ validationEventHandler);
public virtual bool CheckValidity (System.Xml.Schema.XmlSchemaSet schemas, System.Xml.Schema.ValidationEventHandler validationEventHandler);
abstract member CheckValidity : System.Xml.Schema.XmlSchemaSet * System.Xml.Schema.ValidationEventHandler -> bool
override this.CheckValidity : System.Xml.Schema.XmlSchemaSet * System.Xml.Schema.ValidationEventHandler -> bool
Public Overridable Function CheckValidity (schemas As XmlSchemaSet, validationEventHandler As ValidationEventHandler) As Boolean
参数
- schemas
- XmlSchemaSet
XmlSchemaSet,包含用于验证 XPathNavigator 中包含的 XML 数据的架构。
- validationEventHandler
- ValidationEventHandler
接收有关架构验证警告和错误消息的 ValidationEventHandler。
返回
如果未出现架构验证错误,则为 true
;否则为 false
。
例外
出现架构验证错误,并且未指定任何 ValidationEventHandler 处理验证错误。
XPathNavigator 定位在不是元素、特性或根节点的节点上,或者不存在用于执行验证的类型信息。
当 CheckValidity(XmlSchemaSet, ValidationEventHandler) 定位在 XML 数据的根节点上时,使用 XmlSchemaSet 参数调用 XPathNavigator 方法。
注解
该方法 CheckValidity 验证包含在其中的 XPathNavigator XML 数据是否符合架构或架构中 XmlSchemaSet提供的全局类型或声明。
该方法 CheckValidity 不执行信息集扩充。 这意味着架构默认值未应用,文本值不会转换为原子值,也没有与信息项关联的新类型信息。
将忽略 XML 数据的架构
xsi:schemaLocation
或xsi:noNamespaceSchemaLocation
提示。如果位于XPathNavigator文档节点上,验证过程包括检查唯一性和引用约束 (
xs:ID
、xs:IDREF
、、xs:key
和xs:keyref``xs:unique
) 。 否则,将省略这些检查。XmlSchemaSet如果作为参数
null
传递并XPathNavigator位于元素节点上,则属性SchemaType属性公开SchemaInfo的类型信息用于检查节点的有效性。 XmlSchemaSet如果作为参数null
传递且XPathNavigator位于根节点上,则SchemaInfo文档元素的属性 (即使用根节点的元素子级) 。 在这两种情况下,SchemaType如果元素SchemaInfo属性的属性是null
作为参数null
传递的XmlSchemaSet,则会引发一个InvalidOperationException,因为没有用于执行验证的类型信息。