回答
xmlns
屬性聲明XML Namespace。 Namespaces in XML標準深入討論了這個元素。
名稱空間主要用於避免混合XML語言時元素名稱之間的衝突。如果你有一個你有疑問的特定應用程序,也許你可以發佈一個例子。
命名空間允許您在重複時減少歧義。你可以有一個<title>
標籤,指的是作者和<title>
標籤,指的是一個稱呼,如先生,夫人等。爲了區分,你可以將它們分配到不同的名稱空間。
在驗證文檔是否符合特定標準/限制時,您也可以使用名稱空間,其中名稱空間將指示文檔屬於哪個「模式」。
XML名稱空間幫助將元素上下文化爲屬性等等。它還爲特定的元素或屬性提供了精確的標識。
例如,<html>
元素可以由任何人定義並具有任何含義。但是,http://www.w3.org/1999/xhtml名稱空間中的<html>
元素是唯一的,並且指向XHTML。
當在單個文件中使用多種XML語言時,命名空間在處理homographs時也證明很有用。
xmlns
屬性具有特殊處理,允許聲明一個名稱空間。
文檔中的所有名稱(如標籤名稱)都屬於一個名稱空間。在缺少xmlns
屬性的情況下,所有名稱都屬於「無名稱」名稱空間。因此: -
<root><item /></root>
在上面的例子都root
和item
是在「沒有名字」的命名空間名稱。鑑於: -
<root xmlns="urn:mydomain.com:mystuff"><item /></root>
現在root
和item
存在於 「甕:mydomain.com:的MyStuff」 命名空間。
的xmlns
可以通過使用別名前綴進一步定義附加的命名空間的元素,其中可以從他人區別開來: -
<root xmlns="urn:mydomain.com:mystuff" xmlns:a="urn:otherdomain.com:other">
<item>
<a:supplement />
</item>
</root>
在這種情況下root
和item
繼續在「甕:mydomain.com :mystuff「命名空間,但a:supplement
表示名稱supplement
位於」urn:otherdomain.com:other「命名空間中。
這是什麼成績?
XML中的X表示可擴展。一個目標是允許附加信息分層到現有文檔上,即擴展文檔的能力。試想一下: -
甲方創建一個文檔: -
<root>
<item />
<root>
乙方通過包括附加信息擴展了文件: -
<root>
<item />
<supplement />
</root>
後來甲方增加了新的信息,以原來的形式該文件正好碰巧也使用原來的名稱supplement
。我們可能會得到如下結果: -
<root>
<item />
<supplement />
<supplement />
</root>
哪個補充元素屬於哪一方?通過使用命名空間的文件應該是這樣的: -
<root xmlns="urn:mydomain.com:mystuff" xmlns:a="urn:otherdomain.com:other">
<item />
<supplement />
<a:supplement />
</root>
現在,當它涉及到分析和查詢XML的清楚哪些元素是屬於誰的。命名空間消除了本來是一組全局簡單名稱之間的衝突。
爲什麼我們應該使用域名作爲ns?謝謝...... – Tarik 2009-09-03 08:44:35
當使用urn表單時,最好使用你自己的域名,因爲其他人不太可能使用他們在urn定義中沒有的域名。在其他情況下,您可以使用URL。 – AnthonyWJones 2009-09-03 09:22:07
在HTML中,xmlns僅僅是使XHTML更容易移植到XHTML的護身符。它什麼都不做。
- 1. exists()的確切用法是什麼?
- 2. XML:在MacOs上剪切xmlns
- 3. 什麼GRANT用戶對SCHEMA的確切做法是什麼?
- 4. AsyncTask android中onCancelled(Object result)方法的確切用法是什麼?
- 5. Java中的java.util.concurrent.atomic包中的類的確切用法是什麼?
- 6. Scala XML \\複製xmlns屬性。爲什麼以及如何阻止它?
- 7. 什麼是切換按鈕以及我們什麼時候可以使用它?
- 8. 什麼是配置SoapActionSmartEndpointInterceptor以及AnnotationActionEndpointMapping的正確方法
- 9. xml文檔中XMLNS URL的含義是什麼
- 10. C中的移位運算符的確切用法是什麼?
- 11. 什麼是Facebook使用的正確的xmlns
- 12. 在C++中使用regex_iterator的確切方法是什麼?
- 13. 什麼是Dynamics CRM中clientglobalcontext.js.aspx的確切用法?
- 14. 在jdk1.6中使用Endorsed目錄的確切方法是什麼
- 15. Javascript中閉包的確切用法是什麼?
- 16. 上述聲明中%value%符號的確切用法是什麼
- 17. UISearchDisplayController的確切用途是什麼?
- 18. 「AspNet_SqlCacheTablesForChangeNotification」的確切作用是什麼
- 19. JSON的確切用途是什麼?
- 20. Azure cookie'WAWebSiteSID'的確切用途是什麼?
- 21. matlab中NaN的確切值是什麼?
- 22. C中的確切別名是什麼?
- 23. R 3.1.0 - 什麼是真矩陣乘法以及用於什麼?
- 24. 什麼是在XML中使用escape_value()的正確方法::簡單
- 25. HTML - 執行以下佈局的正確方法是什麼?
- 26. 什麼是我可以重用UITableViewCell的確切環境?
- 27. 將Facebook Connect及其xml添加到(X)HTML5的正確方法是什麼?
- 28. 忽略xmlns的後果是什麼:fb in <html>標籤
- 29. HTML 5中postMessage的用法是什麼?
- 30. 內聯函數的確切用法是什麼?
另請參閱http://stackoverflow.com/questions/5875021/what-is-the-use-of-xsischemalocation/28098405#28098405 – rogerdpack 2015-01-22 20:52:28