1. 程式人生 > >菜鳥學Android筆記(九):Schema之名稱空間

菜鳥學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文件