菜鳥學Android筆記(九):Schema之名稱空間
邊看視訊邊寫筆記(粗略版)
一、Schema的概念
是一種約束XML的技術,可以克服DTD的侷限
與DTD的比較
XML Schema是xml的約束技術,出現的目的是為了替代dtd
本身也是一個xml,非常方便使用xml的解析引擎進行解析
對名稱空間有非常好的支援
支援更多的資料型別,並且支援使用者自定義資料型別
可以進行語義級別的限定,限定能力大大強於dtd
相對於dtd不支援實體
相對於dtd複雜的多,學習成本比較的高
學習要求:
二、Schema約束快速入門
1、副檔名是.xsd,但是一個XML文件
2、XML Schema稱為模式文件,遵循這個文件書寫的xml檔案稱之為例項文件
3、和XML檔案一樣,一個XML Schema必須有一個根節點,但這個根幾點名稱為Schema
4、編寫一個XML Schema的約束文件後,通常需要把這個檔案中宣告的元素繫結在一個URI地址上,在XML Schema
技術有一個術語來描述這個過程,即把XML Schema文件宣告的元素繫結到一個名稱空間上,以後XML檔案就可以通過
這個URI(即名稱空間)來告訴解析引擎,xml文件中編寫的元素來自哪裡,被誰約束。
三、Schema入門案例
四、名稱空間
本質:獨一無二的名稱,通常用域名
作用:用於標示元素,只是一個名稱而已,並沒有告訴具體的地址
圖解:
第一步:1.xml檔案被美利堅合眾國.xsd和中華人民共和國.xsd兩個約束文件約束
1.xml如果想建立一個公民元素,這兩個約束文件都有公民的元素,那麼如果區別公民元素屬於誰的?
只有這樣:
第二步:公民前面的名稱空間太長了,我們可以這樣簡化:
第三步:名稱空間只是一個名字而已,這個公民元素如何找到約束它的文件呢?可加入schemaLocation的元素
第四步:XML中的每個元素都有約束文件,schemaLocation元素又來自哪裡,這就是來自著名的域名空間
五、
1、預設名稱空間
2、引入多個名稱空間
3、不使用名稱空間引入XML Schema文件
ps:參考w3c文件