更新時間:2020-08-28 08:07:38 來源:動力節點 瀏覽1347次
學習XML教程的時候,很多朋友都看到過XML文件視頻教程,其中有一部分是講的約束文檔。
在xml技術里,編寫一個文檔/文件來約束一個xml文檔的書寫規范、稱為xml約束。因為沒有約束 編寫的xml文件格式就不統一。
xml dtd document type definition 文檔類型定義
xml xsd xml schema definition 維基
xml schema 本身也是一種xml 所以它也要引用schema 文件來規范
<schema xmlns="http://www.w3.org/2001/XMLSchema"> </schema>
xmlnsd 的全稱是 xml namespace 命名空間
那么這么多xsd 我們如何區分它們呢(當然不能僅僅通過文件名),那么就可以為每個xsd文件設置一個標識,這個標識就是 targetNameSpace
<schema xmlns="http://m.dabaquan.cn" targetNamespace="http://copyLi.com"> </shema>
而targetNameSpace 這個屬性的定義來源就是 xmlns 中定義的
而targetNameSpace 這個屬性的值是一個url,但是它可能根本不是一個存在的url
而schema 標簽中還有一個重要的屬性,那就是elementFormDefault 這個屬性的值只有兩個,一個是qualified 和 unqualified。代表的意思分別是 應用這個xsd 的其他xml文件 是否遵守xsd文件定義的所有標簽元素、qualified就是遵守 而unqualified就是只遵守根元素、一般都是qualified 默認值是unqualified
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://copyLi.com" elementFormDefault="qualified"> <!--根元素--> <element name="書架"> <!--代表是一個復雜的類型--> <complexType> <!--maxOccurs 代表了最大的數目、unbounded 代表可以放置無限多--> <sequence maxOccurs="unbounded"> <!--第二個元素--> <element name="書"> <complexType> <sequence> <element name="書名" type="string"/> <element name="作者" type="string"/> <element name="售價" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> </element></schema>
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans>
這個xml文件引用了xsd 一個是 spring 自己的 一個是w3c 的,為啥要引用w3c的呢?因為要使用到這個xsd 中的 schemaLocation 屬性 這個屬性表明了這個xsd 文件的位置
因為在同一個xml中引用到了兩個xsd 文件 這個時候如何區分呢,那就是通過別名了
xmlns:xsi-----> xsi 這個就是這個xsd 的別名 所以使用schemaLocation屬性時就加上了xsi
而schemaLocation 這個值得設置就是
xsd的targeNameSpa xsd的文件路徑
以上就是對XML約束文檔的一些介紹,其他Java視頻教程可從官網視頻頁面中免費下載。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習