2012-05-09 83 views
2

我有一些關於schemaLocation和targetNameSpace屬性的問題。XML schemaLocation和targetNameSpace屬性

  1. 爲什麼我們使用schemaLocation屬性?如果兩個指定爲schemaLocation的值的URL,它是什麼意思?他們是否指向網絡資源?

2. targetNameSpace是否出現在模式中?它的價值是否指向任何網絡資源?

謝謝!

回答

1

命名空間是以URI的形式寫入的全局唯一標識符(GUID)。他們不會引用網絡上的資源,除非意外(有些人喜歡在網上放些東西來解釋名稱空間的含義)。他們只是獨特的字符串。以URI的形式編寫它們的主要原因是告訴你誰擁有和管理名稱空間。

模式描述一個詞彙;如果詞彙表包含多個名稱空間,則每個名稱空間都在不同的模式文檔中進行描述。因此,模式文檔(即模式的模塊)與名稱空間之間存在關係,這由xs:schema元素的targetNamespace屬性指示。

實例文檔使用一個詞彙表,其中也可能包含多個名稱空間。 schemaLocation屬性描述了從名稱空間到描述這些名稱空間的模式文檔位置的映射。如果有兩個URI,一個將是一個命名空間,另一個是描述該命名空間的模式文檔的位置。