溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

XML配置文件說明

發布時間:2020-07-06 16:01:56 來源:網絡 閱讀:509 作者:wx5d8484d25f876 欄目:編程語言

1.DTD(Documnet Type Definition)

DTD即文檔類型定義,是一種XML約束模式語言,是XML文件的驗證機制,屬于XML文件組成的一部分。
一個 DTD文檔包含:元素的定義規則,元素間關系的定義規則,元素可使用的屬性,可使用的實體或符號規則。


DTD和XSD相比:DTD 是使用非 XML 語法編寫的。
DTD 不可擴展,不支持命名空間,只提供非常有限的數據類型 .
DTD 現在基本已被XSD文檔取代,但是,仍有個別在使用 比如 Mybatis mapper xml文件

<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!DOCTYPE 根元素 SYSTEM/PUBLIC "DTD文件路徑"> SYSTEM表示本地 PUBLC 表示網絡
上面用的是公共DTD,DTD名稱格式為"注冊//組織//類型 標簽//語言"
"注冊" 指示組織是否由國際標準化組織(ISO)注冊,+表示是,-表示不是;
"組織" 即組織名稱,如:mybatis.org;
"類型" 一般是DTD;
"標簽" 是指定公開文本描述,即對所引用的公開文本的唯一描述性名稱,后面可附帶版本號,如Mapper 3.0。
"語言" EN指英語;
http://mybatis.org/dtd/mybatis-3-mapper.dtd 表示外部DTD文件URI


DTD基本語法:<!ELEMENT NAME CONTENT>

其中:

  • ELEMENT是關鍵字,是不能修改的
  • NAME表示元素名稱
  • CONTENT是元素類型,必須要大寫!

XML配置文件說明

 <!ELEMENT 班級 (學生+)>
<!ELEMENT 學生 (名字,年齡,介紹)>
<!ELEMENT 名字 (#PCDATA)>                                     一個.dtd文件
<!ELEMENT 年齡 (#PCDATA)>
<!ELEMENT 介紹 (#PCDATA)>

使用DTD驗證模式需要在XML文件的頭部聲明

 <?xml version="1.0" encoding="utf-8"?>
 <!-- 引入dtd文件,約束這個xml -->
 <!DOCTYPE 班級 SYSTEM "myclass.dtd">
 <班級>   
      <學生>      
           <名字>小紅</名字>      
           <年齡>10</年齡>      
           <介紹>學習刻苦</介紹>    
      </學生>
 </班級>

2.XSD(XML Schemas Definition)

XML Schema語言也就是XSD。XML Schema描述了XML文檔的結構。檢查該XML文檔是否符合其要求。


XSD是DTD替代者的原因,一是據將來的條件可擴展,二是比DTD豐富和有用,三是用XML書寫,四是支持數據類型,五是支持命名空間。

<?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.xsd    
                        http://www.springframework.org/schema/context    
                        http://www.springframework.org/schema/context/spring-context.xsd    
                        http://www.springframework.org/schema/mvc    
                        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

首先說明最基本的頭部命名空間信息,配置文件必須的部分,固定部分 xmlns="http://www.springframework.org/schema/beans" 聲明xml文件默認的命名空間,表示未使用其他命名空間的所有標簽的默認命名空間。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 聲明XML Schema 實例,聲明后就可以使用 schemaLocation屬性了。
xmlns:context="http://www.springframework.org/schema/context" 這是spring配置文件里面需要使用到context的標簽,聲明前綴為context的命名空間,在容器啟動的時候找到對應的命名空間處理器處理。當命名空間被定義在元素的開始標簽中時,所有帶有相同前綴的子元素都會與同一個命名空間相關聯。
xsi:schemaLaction部分: http://www.springframework.org/schema/beans --- 表示區別命名空間url http://www.springframework.org/schema/beans/spring-beans.xsd --- 表示命名空間對應xsd文件獲取地址(也只是一個映射地址)。

  • 容器啟動時按照此順序查找

在spring-webmvc.jar包中找到META_INF/spring.handlers

http\://www.springframework.org/schema/mvc=org.springframework.web.servlet.config.MvcNamespaceHandler

META_INF/spring.schemas

http\://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd=org/springframework/web/servlet/config/spring-mvc-3.0.xsd
http\://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd=org/springframework/web/servlet/config/spring-mvc-3.1.xsd
http\://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd=org/springframework/web/servlet/config/spring-mvc-3.2.xsd
http\://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd=org/springframework/web/servlet/config/spring-mvc-4.0.xsd
http\://www.springframework.org/schema/mvc/spring-mvc.xsd=org/springframework/web/servlet/config/spring-mvc-4.0.xsd
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女