XPathNavigator.CheckValidity(XmlSchemaSet, ValidationEventHandler) 方法

定义

验证 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

返回

Boolean

如果未出现架构验证错误,则为 true;否则为 false

例外

出现架构验证错误,并且未指定任何 ValidationEventHandler 处理验证错误。

XPathNavigator 定位在不是元素、特性或根节点的节点上,或者不存在用于执行验证的类型信息。

CheckValidity(XmlSchemaSet, ValidationEventHandler) 定位在 XML 数据的根节点上时,使用 XmlSchemaSet 参数调用 XPathNavigator 方法。

注解

  • 该方法 CheckValidity 验证包含在其中的 XPathNavigator XML 数据是否符合架构或架构中 XmlSchemaSet提供的全局类型或声明。

  • 该方法 CheckValidity 不执行信息集扩充。 这意味着架构默认值未应用,文本值不会转换为原子值,也没有与信息项关联的新类型信息。

  • 将忽略 XML 数据的架构 xsi:schemaLocationxsi:noNamespaceSchemaLocation 提示。

  • 如果位于XPathNavigator文档节点上,验证过程包括检查唯一性和引用约束 (xs:IDxs:IDREF、、xs:keyxs:keyref``xs:unique) 。 否则,将省略这些检查。

  • XmlSchemaSet如果作为参数null传递并XPathNavigator位于元素节点上,则属性SchemaType属性公开SchemaInfo的类型信息用于检查节点的有效性。 XmlSchemaSet如果作为参数null传递且XPathNavigator位于根节点上,则SchemaInfo文档元素的属性 (即使用根节点的元素子级) 。 在这两种情况下,SchemaType如果元素SchemaInfo属性的属性是null作为参数null传递的XmlSchemaSet,则会引发一个InvalidOperationException,因为没有用于执行验证的类型信息。

适用于