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:ID 、、 xs:IDREFxs:keyxs:keyrefxs:unique) 。 否則,會省略這些檢查。

  • XmlSchemaSet如果當做參數傳遞的 是 nullXPathNavigator 而且 位於專案節點上,則會使用 屬性的 屬性所公開 SchemaInfo 的類型 SchemaType 資訊來檢查節點的有效性。 XmlSchemaSet如果當做參數傳遞的 是 null ,而且 XPathNavigator 位於根節點上, SchemaInfo 則會使用檔專案 (的 屬性,) 使用根節點的元素子系。 在這兩種情況下,如果專案 SchemaInfo 之 屬性的 屬性是 null ,而且 XmlSchemaSet 當做參數傳遞的 是 null ,則會擲回 , InvalidOperationException 因為沒有用來執行驗證的類型 SchemaType 資訊。

適用於