當前位置:編程學習大全網 - 遊戲軟體 - 詳解 xml 文件頭部的 xmlns:xsi

詳解 xml 文件頭部的 xmlns:xsi

原文在此,寫的比較通俗易懂,特轉發壹下,向原作者致敬~

/lengxiao1993/article/details/77914155

壹套Xml中元素的定義規範;

指定xml文檔中元素所隸屬的命名空間;

壹個XSD的實例,就好比new了壹個object 出來;

上面這行的語法其實是, xsi:schemaLocation = "鍵" “值”,用來說明XSD的命名空間和定義文件;

初學者看到如上的內容應當有如下困惑點:

壹個 xml 文檔中如果包含如下兩種定義不同, 但是名稱相同的元素, xml 解析器是無法解析的, 因為它不能確定當妳調用 document.getElementsByTagName("book") 時應該返回哪個元素。

顯然, 如果給他們的名字添加壹個前綴, 則命名沖突的問題就可以解決。

但是, 在壹個擁有眾多元素的文檔中, 僅僅擁有前綴, 也不能完全避免命名沖突的問題。

此時, 命名空間就誕生了, 我們可以為元素定義壹個命名空間, 將壹個很長的, 可以保證 全局唯壹性的字符串 與該元素關聯起來。這樣就可以避免命名沖突了。

但是如何保證那個較長的字符串全局唯壹呢, 最好的方式莫過於使用 統壹資源標識符(Uniform Resource Identifier,URI) 了, 而我們最常見的 URI 就是平時經常訪問的網址 URL 了。

應用到我們所舉的例子中就是:

回到我們的 POM 文檔頭中,妳會發現 project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 中的 http://www.w3.org/2001/XMLSchema-instance 可以訪問到壹個正常的頁面, 但是如果訪問 xmlns="http://maven.apache.org/POM/4.0.0" 中的 http://maven.apache.org/POM/4.0.0 就會得到壹個 PAGE NOT FOUND 錯誤, 頁面未獲取到。

細心的童鞋會註意到, project 元素前面並沒有前綴。 這裏實際上使用的是 默認命名空間(default naming space) 。 它的語法如下:

例如我們的 project 元素定義 和下面的例子

使用默認命名空間的作用是, 該元素內部的子元素都會默認屬於該命名空間下, 我們不需要為他們壹壹添加命名空間前綴。

現在來看文件頭中剩下的, 看上去更為復雜的部分。

根據之前的知識我們可以理解, xmlns:xsi 定義了壹個命名空間前綴 xsi 對應的唯壹字符串 http://www.w3.org/2001/XMLSchema-instance 。 但是讀者會發現, 這個 xmlns:xsi 在不同的 xml 文檔中似乎都會出現。 這是因為, xsi 已經成為了壹個業界默認的用於 XSD((XML Schema Definition) 文件的命名空間。 而 XSD 文件(也常常稱為 Schema 文件)是用來定義 xml 文檔結構的。

那麽, 有了上述的理解, 再來看

上面這行的語法其實是, xsi:schemaLocation = "鍵" “值”

即 xsi 命名空間下 schemaLocation 元素的值為壹個由空格分開的鍵值對。

  • 上一篇:剛開始炒股用什麽軟件看行情?
  • 下一篇:電影《非凡的任務》劇情簡介及角色介紹
  • copyright 2024編程學習大全網