2009-04-15 66 views
1

我想要執行XML驗證以驗證輸入的XML文件是否符合模式文件(.xsd)。我的問題是我們什麼時候需要指定目標名稱空間參數以及目標名稱空間參數的功能是什麼?模式的目標名稱空間

我從下面的MSDN頁面這個問題,

http://msdn.microsoft.com/en-us/library/1hh8b082.aspx

http://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschemaset.aspx

更具體地說,我指的是XmlSchemaSetAdd方法的第一個參數。

EDIT1:我的當前混亂是,

  1. 在XML模式文件中,有在頂部的目標命名空間屬性,並且在該XML模式文件中定義的所有元素均在目標命名空間中定義;
  2. 在XML文檔文件中檢查方案時,XML文檔可能會使用XML模式文件的「目標名稱空間」中定義的元素,也可能使用來自其他名稱空間的元素,而不是其中定義的「目標名稱空間」 XML模式文件;
  3. 問題是,我們只需要將「目標命名空間」添加到XmlSchemaSet類的Add方法中,或者將XML文檔將使用的所有命名空間添加到XmlSchemaSet類的Add方法中?
  4. 另一個問題是,我們是否可以在XML模式文件中定義多個「目標名稱空間」?如果是,如何?

回答

2

如果您在XML文檔中使用命名空間,則需要使用該參數 - 例如,如果你們中的一些標籤的格式爲<xx:TagName>。否則,您可以傳入一個空字符串""

+0

要添加到您的答案,如果您希望XmlSchemaSet使用XmlSchema中定義的名稱空間,則需要傳入Null/Nothing作爲targetNamespace。這樣可以免除在Add方法中顯式傳遞名稱空間。 +1 – Cerebrus 2009-04-15 08:07:29

相關問題