關于xml文件 xsi:schemaLocation

原文連接:https://www.jianshu.com/p/7f4cbcd9f09f

------------------------------------------------------

相信很多人對xml 頭上一大堆得東西都是拿來主義,copy過來就行了,并不理解那是什么意思

先來一段

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-3.1.xsd  http://www.springframework.org/schema/mvc  http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"><context:component-scan base-package="com.pikaq"/><bean id="xxx" class="xxx.xxx.xxx.Xxx"><property name="xxx" value="xxxx"/>
</bean>
</beans>

首先看到的就是 xmlns, xmlnsXML 是Namespace的縮寫,可譯為“XML命名空間”

為什么需要xmlns?

因為xml文件有成千上萬,誰也不能保證你的標簽是獨一無二的,總是會沖突的,這時就需要xmlns了!

怎么使用xmlns 呢?

使用語法: xmlns:namespace-prefix="namespaceURI"。其中namespace-prefix為自定義前綴,只要在這個XML文檔中保證前綴不重復即可;namespaceURI是這個前綴對應的XML Namespace的定義。例如:

xmlns:context="http://www.springframework.org/schema/context"

這里的<component-scan/>元素就來自別名為context的XML Namespace,也就是在http://www.springframework.org/schema/context中定義的。
其實我們完全可以將前綴定義為abc:

xmlns:abc="http://www.springframework.org/schema/context"

好了,看到這里,你也許會問 那 xmlns 和xmlns:context 有什么區別呢?

xmlns 沒有帶別名,就是表示那是默認的,如

<bean id="xxx" class="xxx.xxx.xxx.Xxx">
<property name="xxx" value="xxxx"/>
</bean>

這里的bean 屬性就出自這個默認命名空間

xsi:schemaLocation 是干嘛的?

看到這里也許你已經知道了它是干嘛的了
schemaLocation不就是 xsi 命名空間的一個屬性嗎,如果之前我們把
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 的別名改成
xmlns:sb="http://www.w3.org/2001/XMLSchema-instance"

這里其實就變成 sb:schemaLocation,這里講一下這個屬性是干嘛的,這個屬性的值由一個或多個URI引用對組成,兩個URI之間以空白符分隔(空格和換行均可)
它定義了XML Namespace和對應的 XSD(Xml Schema Definition)文檔的位置的關系,意思就是 這個命名空間對應的具體模板是哪個

例如我們打開 http://www.springframework.org/schema/mvc/ 這個 命名空間,可以看到有很多選擇



xsi:schemaLocation 這個屬性就是跟他說我要選擇哪一個!


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538000.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538000.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538000.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ES6部分特性小結

前言 踩著前人的肩膀&#xff0c;努力前行。參考了很多前人的文章。 1.變量聲明const和let es6之前聲明變量只能用var&#xff0c;var的特點是無論聲明在何處&#xff0c;都會被視為聲明在函數的最頂部(不在函數內即在全局作用域的最頂部) function test(){if(false){var name …

java 順序棧_Java實現順序棧

一、分析棧是限定僅在表的一端進行插入或刪除操作的線性表&#xff0c;對于棧來說&#xff0c;操作端稱為棧頂&#xff0c;另一端則稱為棧底&#xff0c;棧的修改是按照后進先出的原則進行的&#xff0c;因此又稱為后進先出的線性表。順序棧是指利用順序存儲結構實現的棧&#…

Spring IO platform

什么是Spring IO PlatformSpring IO Platform&#xff0c;簡單的可以認為是一個依賴維護平臺&#xff0c;該平臺將相關依賴匯聚到一起&#xff0c;針對每個依賴&#xff0c;都提供了一個版本號&#xff0c;這些版本對應的依賴都是經過測試的&#xff0c;可以保證一起正常使用。…

二十多歲不信,三十多歲卻深信不疑的道理

1.那些年偷的懶、荒廢的時間、敗壞的身體&#xff0c;都&#xff01;得&#xff01;還&#xff01; 年輕的時候心比天高&#xff0c;以為自己能干出一番大事業&#xff0c;后來慢慢意識到自己只是個普通人。 2.不和講道理。 3.原來被嗤之以鼻的門當戶對是有一定道理的。 4.以貌…

javascript === 和==的區別

原文鏈接&#xff1a;https://blog.csdn.net/seven_amber/article/details/62889290 -------------------------------------------------------------------- 用于比較 判斷 兩者相等 在比較的時候可以轉自動換數據類型用于嚴格比較 判斷兩者嚴格相等 嚴格比較…

authentication java_HTTP基本認證(Basic Authentication)的JAVA實例代碼

大家在登錄網站的時候&#xff0c;大部分時候是通過一個表單提交登錄信息。但是有時候瀏覽器會彈出一個登錄驗證的對話框&#xff0c;如下圖&#xff0c;這就是使用HTTP基本認證。下面來看看一看這個認證的工作過程:第一步:客戶端發送http request 給服務器,服務器驗證該用戶是…

Python數據分析入門(四)

前言上期給大家分享了關于豆瓣5500部電視劇的分析&#xff0c;那么這次我們就給吃貨們帶來一些福利&#xff0c;此次我們的主題為“尋找最好吃的火鍋”。進入主題之前&#xff0c;先給所有的吃貨們帶來一桌美味的火鍋&#xff0c;作為各位看官的前菜。數據采集此次我們采集的是…

微信開發者工具下載

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

java continue goto_Java中goto和break、continue實現區別

goto 關鍵字很早就在程序設計語言中出現。事實上&#xff0c;goto 是匯編語言的程序控制結構的始祖&#xff1a;“若條件 A&#xff0c;則跳到這里&#xff1b;否則跳到那里”。若閱讀由幾乎所有編譯器生成的匯編代碼&#xff0c;就會發現程序控制里包含了許多跳轉。然而&#…

Linux VirtualBox安裝及使用指南

2019獨角獸企業重金招聘Python工程師標準>>> VirtualBox是一款虛擬機軟件。雖然它的功能并不及VMware Workstation Pro&#xff0c;但它對開源精神的堅持使得它在Linux中依然深受歡迎。 唯一難以令人接受的是&#xff0c;VirtualBox的安裝步驟較為復雜。不過&#x…

java web vm_java web .vm文件??

在JavaWeb項目中有很多.vm文件&#xff0c;打開以后是類似于.NETMVC項目中的.cshtml文件的形式#if($linkList)#set($itemsOnLine0)#foreach($linkin...在Java Web項目中有很多.vm文件&#xff0c;打開以后是類似于.NET MVC項目中的.cshtml文件的形式#if($linkList)#set ($items…

Android studio gradle 無法獲取 pom文件

Android studio 3.1 導入app項目后&#xff0c;gradle無法獲取 pom文件 具體保存內容如下&#xff1a; Could not GET https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-g…

生產環境linux下安裝兩個及兩個以上tomcat實踐

前言: 在生產環境部署程序項目中&#xff0c;有時候由于服務器緊張或缺少服務器等原因,往往都需要安裝兩個及兩個以上tomcat。我們需要在/etc/profile中增加tomcat的環境變量&#xff0c;然后在新增加的tomcat的bin目錄下的catalina.sh中引用自己在/etc/profile中配置的環境變量…

java 內存 四_java最終化的內存保留問題(4)

四、一種代替最終化的選擇在前面一節中的示例還存在一種不確定性可能&#xff1a;JVM并不能保證它在最終化隊列中調用對象的終結器的順序。而來自于所有類(應用程序&#xff0c;庫&#xff0c;等等)的終結器都是被同等對待的。因此&#xff0c;一個占有大量內存或一種稀有的本地…

基于Spring Boot不同的環境使用不同的配置方法

原文路徑&#xff1a;http://www.jb51.net/article/132589.htm ---------------------------------------- 默認是profile為dev&#xff0c;可以修改 spring 多文件配置&#xff1a; 1、properties文件 2、YAML文件 一、properties文件 在 Spring Boot 中&#xff0c; 多環境配…

java set方法賦值_java方面:private屬性,沒有set方法,只有get方法,如何給這個屬性賦值?...

富國滬深用反射吧&#xff0c;然后設置setAccessible為true就可以了&#xff0c;如下&#xff1a;public class Test {private String readOnly;public String getReadOnly() {return readOnly;}public static void main(String[] args) throws SecurityException, NoSuchField…

SpringBoot項目在IntelliJ IDEA中實現熱部署

spring-boot項目熱部署idea工具&#xff1a; &#xff08;1&#xff09;、pom文件引入&#xff1a;都需要為true<!-- 熱部署模塊 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId…

java nio 對消息分片_Java NIO:應用

Java NIO 是一種非阻塞的、面向塊而非字節的 IO 方式。雖然 Java 的傳統 IO 也進行了一些基于 NIO 的改造&#xff0c;NIO 仍然能夠帶來許多優勢。面向流的 IO 方便我們一個字節一個字節地處理數據&#xff0c;有利于實現過濾等功能&#xff0c;更加優雅和簡單。相應地&#xf…

使用Notepad++來比較文件

原文連接&#xff1a;https://blog.csdn.net/sanqima/article/details/50467154 -----------------------------------------------------------------------------Notepad&#xff0c;也叫npp&#xff0c;是一款類似于記事本的開源小軟件。它運行便攜&#xff0c;體積小、資源…

利用lamda函數 的函數式編程 實現scrapy審計外網安全問題

2019獨角獸企業重金招聘Python工程師標準>>> import scrapy from scrapy.spiders import Spiderdef parse_response(response, ip_in):title response.xpath("/html/head/title").extract()[0]filename quotes.txtwith open(filename, a) as f:f.write(…