<!-- 本文內容 --> 1.2.1 仍從HTML說起 可能大部分網頁製作者對HTML仍然情有獨鐘,一聽說要有一個新的語言來代替它,本能地先想為老朋友辯護兩句。HTML怎麼啦?它不是挺好的嗎? 不錯,說起當今世界互連網的蓬勃發展,HTML的確立下了赫赫戰功。可是,HTML自身的特點使它蘊藏了許多危機,隨著它不斷的發展,這些危機不但沒有減弱,反而越來越突出,甚至已然成為HTML繼續發展應用的障礙。時至今日,連HTML經過幾年來廣泛應用所贏得的資深聲譽也無法掩飾其日益深刻的危機了。 HTML制定之初的本意在於根據資訊的含義來為它們置標,而沒有具體規定它們應該如何在瀏覽器中顯示。回憶一下,在HTML的早期版本中,<title>代表題目,<h1>代表第一層的大標題,<h2>代表第二層的大標題,<em>、<strong>代表強調的文本,<address>代表作者的聯絡資訊。至於這些題目、各層大標題應該如何顯示,應該由瀏覽器決定,因為HTML標準的制定者相信,比起網頁的製作人員,瀏覽器更瞭解使用者的偏好和使用的瀏覽環境。顯然網頁的製作者事先並不知道哪些使用者決定不顯示圖片,又有哪些使用者喜歡大一些的字型,只有瀏覽器才能保證為這些特殊使用者提供良好的支援。 不幸的是,瀏覽器的開發人員同樣也不大瞭解這些特殊使用者的偏好,不僅如此,他們也不大想瞭解這些資訊。相反,他們引入了自己定義的一些標籤和屬性,用這些新的標籤來專門描述顯示格式,比如標籤<font>、<center>、<bgcolor>等等。瀏覽器廠商還開發了自己的網頁製作軟體,如Netscape開發的Netscape Composer,微軟開發的Frontpage等等。這些所見即所得 (WYSIWYG)的網頁製作工具自動產生HTML檔案,而這些HTML檔案更是忽略了標籤的語意資訊,而幾乎完全將它們作為格式表現的工具。比如說,現在關於表格的標籤,如<table>、<tr>、<td>等,不僅可以代表表格中不同行、列的資訊,還可能專門用於網頁布局。這樣一來,HTML越來越側重於資訊的表示,標籤中原本就很微弱的資訊描述的含義也被削弱了。最後,HTML終於演變為專門用於Netscape和Microsoft IE兩大瀏覽器的頁面顯示語言。 可能你覺得雖然某些有特殊癖好使用者的要求得不到滿足,但畢竟對大多數人而言,瀏覽頁面最基本的問題——顯示問題,還是解決了。而且,有了這些專門的顯示標籤,這個問題還是解決得不錯嘛!其實不然。瀏覽器生產廠家在激烈的市場競爭中,為了顯示自己的獨特性,IE和Netscape都給HTML加入了一些特殊的標記,以便為自己的瀏覽器增加一些特殊的顯示效果。日益增多的標籤不但使HTML越來越龐大,瀏覽器的開發越來越複雜,還降低了不同瀏覽器之間的相容性。比如說你的網頁是針對IE5瀏覽器、800*600螢幕解析度來製作的,那麼在640*480的螢幕上觀看的效果就會大打折扣,而如果放到Netscape瀏覽器中,顯示效果與最初的設計構想甚至會大相徑庭。 不僅如此,儘管HTML的標籤越來越多,其顯示力卻還遠遠不夠。如果你希望非常精確地表現一些你自己的資料,可能你需要一些現在在HTML中尚不存在的標籤。比方說,你是一個化學家,你可能需要表現化學分子式中的一些特別的符號。又比方說,你是一個飛機設計師,你希望能夠表現飛機的動力引擎。可對於這些,HTML都望塵莫及。要想滿足各行各業對顯示的不同要求,顯然需要大量的標籤,這無疑給當今日益臃腫的HTML雪上加霜。 問題還不止這些,現在HTML內部結構的條理性越來越差。你寫的HTML檔案,甚至是那些專門的所見即所得 (WYSIWYG)工具自動產生的HTML檔案,可能在文法上會錯誤百出,不過沒關係,瀏覽器照樣能讀它。HTML中的檔案可以不具有嵌套關係,比如<h1><h2></h1></h2>,也可以不配對出現,只有<h1>而沒有</h1>,更不會要求你在使用標籤<h2></h2>的外面一定要保證有<h1></h1>,(在語意上難道不該先有一級標題,再有二級標題嗎?)。乍一看,這彷彿對網頁製作者而言是個福音,可對瀏覽器的開發人員就是件頭痛的事了,他們不得不把大量的精力耗費在文法錯誤的包容上,相應的,瀏覽器的程式也要加大,甚至犧牲瀏覽時的時間效率和空間效率。 另外,還更有一批對HTML無可奈何的人,那就是搜尋引擎的開發人員。因為從HTML的標籤本身,他們幾乎得不到任何有用的資訊。如果你要到網上去找出世界上所有關於XML的書籍的價錢,天啊,搜尋引擎要被你忙壞了。它要分辨網路上哪些“XML”欄位對應的是書名,又要知道這些書名所對應的價錢。可能你會說,在我們圖書館的網頁中,這不是已經辦到了嗎?問題就在這裡,圖書館是根據內部的資料庫來進行搜尋的,資料庫中的各個欄位都有著明確的含義。但搜尋引擎在網上是根據HTML檔案來進行搜尋的,那些原本條理清晰、層次分明的資料庫的內容在HTML檔案中早就被各種各樣的標籤搞得混亂不堪,而搜尋引擎則不得不在這些混亂的內容中大海撈針! HTML的這許多弊病,使它進入了一種“山重水複疑無路”的境地。那麼,XML又是怎樣帶來了“柳暗花明又一村”呢? 當今世界互連網的蓬勃發展,HTML的確立下了赫赫戰功,我們不能抹殺它的功勞。接著往下看...... |