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