XML和HTML都來自於SGML,它們都含有標記,有著相似的語法,HTML和XML的最大區別在於:HTML是一個定型的標記語言,它用固有的標記來描述,顯示網頁內容。比如< H1>表示首行標題,有固定的尺寸。相對的,XML則沒有固定的標記,XML不能描述網頁具體的外觀,內容,它只是描述內容的數據形式和結構。
這是一個質的區別:網頁將數據和顯示混在一起,而XML則將數據和顯示分開來。
我們看上面的例子,在myfile.htm中,我們只關心頁面的顯示方式,我們可以設計不同的界面,用不同的方式來排版頁面,但數據是儲存在myfile.xml中,不需要任何改變。
(如果你是程序員,你會驚訝的發現,這與模塊化面向對象編程的思想極其相似!其實網頁何嘗不是一種程序呢?)
正是這種區別使得XML在網絡應用和信息共享上方便,高效,可擴展。所以我們相信,XML做為一種先進的數據處理方法,將使網絡跨越到一個新的境界。
六. XML的嚴格格式
吸取HTML松散格式帶來的經驗教訓,XML一開始就堅持實行"良好的格式"。
我們先看HTML的一些語句,這些語句在HTML中隨處可見:
1.
sample
2.< b>< i>sample< /b>< /i>
3.< td>sample< /TD>
4.< font color=red>samplar< /font>
在XML文檔中,上述幾種語句的語法都是錯誤的。因為:
1.所有的標記都必須要有一個相應的結束標記;
2.所有的XML標記都必須合理嵌套;
3.所有XML標記都區分大小寫;
4.所有標記的屬性必須用""括起來;
所以上列語句在XML中正確的寫法是
1.
sample
2.< b>< i>sample< /i>< /b>
3.< td>sample< /td>
4.< font color="red">samplar< /font>
另外,XML標記必須遵循下面的命名規則:
1.名字中可以包含字母、數字以及其它字母;
2.名字不能以數字或"_" (下劃線) 開頭;
3.名字不能以字母 xml (或 XML 或 Xml ..) 開頭;
4.名字中不能包含空格。
在XML文檔中任何的差錯,都會得到同一個結果:網頁不能被顯示。各浏覽器開發商已經達成協議,對XML實行嚴格而挑剔的解析,任何細小的錯誤都會被報告。你可以將上面的myfile.xml修改一下,比如將< email>改為< Email>,然後用IE5直接打開myfile.xml,會得到一個出錯信息頁面:
<?xml version="1.0" encoding="GB2312"?>
<myfile>
<title>XML輕松學習手冊</title>
<author>ajie</author>
<Email>ajie@aolhoo.com</email>
<date>20010115</date>
</myfile>
七. 關於XML的更多
好了,到現在你已經知道:
1.什麼是XML;
2.XML,HTML,SGML之間的關系和區別;
3.XML的簡單應用。