本着精簡不羅嗦以及清晰理解的原則,直接上代碼進行詳解。
<project xmlns="http://maven.apache.org/POM/4.0.0"
--命名空間,類似包名,因爲xml的標籤可自定義,需要命名空間來區分。起作用只是表示一個元素的範圍,在一份XML文檔中可能有多個元素相同,這時XMLns就顯得非常重要了。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"--web.xml遵循的xml標籤規範。這個命名空間裏面的元素或者屬性就必須要以xsi:這種方式來寫,比如schemaLocation就是他的一個屬性,所以寫成xsi:schemaLocation,而默認命名空間不帶類似xsi這種,其實xml標籤名稱有個專業叫法叫做QName,而如果沒有前面的xsi:這種一般叫做NCName。所以你看mvn裏面的<dependency>這種就是默認命名空間下面的元素,最後那一行就表示把定義這個命名空間的schema文件給引用進來,好讓eclipse這類型工具能夠解析和驗證你的xml文件是否符合語法規範。等同於<import namespace="xxx" schemaLocation="xxx.xsd"/>。
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
--是指具體用到的schema資源
http://maven.apache.org/xsd/maven-4.0.0.xsd">--用來定義xmlschema的地址,也就是xml書寫時需要遵循的語法,兩部分組成,前面部分就是命名空間的名字,後面是xsd(xmlschema)的地址
如有更好的解釋和觀點,歡迎各位參與討論。