編程以來,似乎除了VB時期外,.net和java時期都與XML有著至關重要的關係。.net中無論是做C/S ,還是做B/S都至少與一個*.config的檔案有聯絡,其實質就是XML檔案。到了java時期對web.xml檔案就更是不可忽視了。一方面.net像是一個產品,很多細節不需要自己手動設定了,但java更像是一組標準,各類操作和技術的整合化程度不高,不只是培養編程笨蛋;另一方面java的靈活性就決定了XML的地位。
拿到java web中的web.xml檔案後對比.net的web.config檔案會發現web.xml檔案會明顯指出其“xml公式檔案”——schema。
Schema描述了XML文檔的結構,被視為是替代DTD的另一標準,理由總結如下:
1、 XML Schema內容比DTD豐富,作用更大
2、 XML Schema針對將來的額外內容是可擴充的
3、 XML Schema是以XML語言編寫而成的
4、 XML Schema支援資料類型
5、 XML Schema支援命名空間
XML Schema本身含有很多元素用於描述XML文檔結構等,幾個主要的簡介如下:
(1)元素師每個XML Schema檔案的根項目
(2)元素定義屬性
(3)為schema注釋指定了最高階層的元素
(4)定義了schema裡的文本注釋
(5)指明了子項目必須以一定順序出現。每個子項目可以出現任意次
(6)只允許聲明裡的元素裡的一個元素出現在所含的元素中
(7)定義了在所屬範圍內一個元素或屬性值必須是獨特(沒有重複的)
現在我們開啟我們的java web項目,找到web.xml檔案,簡單陳列如下:
它的根節點是此階段中定了了一些資訊簡介如下:
Xmlns指定此xml檔案的命名空間,起作用類似與java中package。
Xmlns:xsi指定了此xml檔案遵守的規範
Xsi:schemaLocation指具體用到的schema資源。
好了,現在開啟Xsi:schemaLocation指定的網址,我們會發現有很多xsd檔案,其中我們的java web的xml檔案中所用到的schema檔案是web-app_2_4.xsd,開啟它,我們就會看到日常用到的web.xml檔案中標籤的定義和描述。結合前面講的Schema知識,相信這個web-app_2_4.xsd檔案我們能夠大致讀懂,不信你讀讀!
本文重在強調XML及與其相關技術在軟體項目中的重要性,無論是在那種平台上,無論是做什麼類型的項目,其作用都不容小覷,瞭解xml的schema等資訊能夠更好的配置我們的項目。當然xml及其相關技術的應用遠不止與此,例如在資料交換等方面的應用也會在項目實戰中遇到。