譯者:張龍
XHTML與HTML這兩個標記標準的出現是為了取代之前老式的web標準。乍看縮寫會以為這兩個規範比較類似,但事實上,這兩者的目標截然不同,所解決的問題也大相徑庭。
XHTML 2符合web所依賴的HTML的設計原理。它不斷精化XHTML 1.x,以求更清晰的定義,同時還提供一些增強,如改進的超鏈接、註解、交互式表單以及特定語義。XHTML 2主要面向的是早期web所具有的優勢:渲染文檔以及其中的鏈接。W3C下的一個工作組於2002年正式啓動XHTML 2標準的開發。
HTML 5最終將取代HTML 4。除了增強的標記以外,它還提供了幾個新的API來處理多媒體、歷史、編輯等等,InfoQ在1月份對此曾作過報道。HTML 5的發起者其實並不是W3C發起的,而是WHATWG(Web Hypertext Application Technology Working Group,即Web超文本應用技術工作組)在2004年發起的。WHATWG工作組覺得XHTML 2在文檔渲染上注入了太多精力,沒有為論壇、電子商務portals及其他非文檔為中心的站點提供合適的標記特性。W3C於2007年將HTML 5納入旗下。
XHTML 2與HTML 5使用不同的命名空間。這樣一來,相同的XML處理器能夠同時實現這兩種不同的標準。HTML 5支持text/HTML及XML序列化。但內建於HTML 5中的XML序列化被稱為“XHTML 5”,這就難免會有人把它與XHTML混淆起來。
XHTML 2標準與之前的XHTML 1.x或者HTML 4並不兼容,但HTML 5與HTML 4在一定程度上卻還是兼容的。從HTML 4到HTML 5的移植要比從XHTML 1.x到XHTML 2的移植平滑得多。當前大多數瀏覽器都支持HTML 4和XHTML 1.x,因此這兩個新規範也同樣會得到支持。
開發者對此反映褒貶不一,Robert Nyman在博文中說
![]()
![]()
.........這兩個規範很不錯,毫無疑問他們都包含了一些非常棒的增強,但我不得不說的是他們究竟何時才能真正運用到實際當中來。關於哪個是最好的、不同web瀏覽器的不同實現等等總會有無窮無盡的討論.........
自由職業者Mike Malone在其XHTML 2和HTML 5的比較文章中提到了他對這場潛在的標準之間的戰争作了理性的分析:
![]()
![]()
大家想要避免的是另一場標準之間的戰争。幸運的是,因為這兩種語言都支持XML命名空間(或者HTML 5的HTML序列化,DOCTYPE替換),所以不太可能再發生像90年代那樣對瀏覽器的依賴行為。
InfoQ英文站的讀者Bojan Antonovic發表評論說:
![]()
![]()
XHTML2和(X)HTML5各有各的優勢,但兩者都擁有一個大的瓶頸:Internet Explorer。如果微軟接下來幾年沒有任何作為的話,那麼這些技術都不會有大的發展。(X) HTML 4.01在1997年成為標準,而現在已經是2008年。IE 8即將通過Acid 2測試是它的運氣,但什麼時候能通過Acid 3測試卻未為人知。
HTML 5嚴格地構建於HTML 4之上,但現在又有多少頁面是確實有效的HTML呢?很多甚至都還有特別針對Netscape Communicator 4和IE 4的標簽屬性!假如真的遷移到HTML 5標準上來的話,根據實際開發速度來看,即使到2020年也最多只有20%的web站點能夠符合HTML 5規範。
InfoQ英文站的讀者Jose Ernesto Lara Rodríguez說:
![]()
![]()
新標準是必要的,何況微軟也開始在標準上投入大量精力:我認為正是由於Mozilla Firefox,微軟瀏覽器市場份額有少量丢失,這可能會導致另一場瀏覽器間的戰争。蓋茨不是個鼠目寸光的人,他很聰明,所以肯定會帶頭支持這些新標準。