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