可擴展超文本標記語言

可擴展超文本標記語言(eXtensible HyperText Markup Language,XHTML)是一種新興的網頁設計和製作語言。XHTML是在HTML基礎上發展起來的,同時吸取了可擴展 標記語言(extensible Markup Language,XML)的語法嚴謹的優點。因此,XHTML比 HTML具加更加嚴謹的語法,能夠為眾多品牌的Web瀏覽器研發提供規範的技術標準, XHTML的可擴展性和靈活性將適應未來網路套用的更多需求。 XHTML(可擴展超文本標記語言)是"使用可擴展標記語言(XML)對HTML 4.0的改訂, XHTML的優點在於其"可擴展性和可移植性"。

發展歷史

XHTML最早叫做“HTML in XML”,是一種基於XML的超文本標記語言,也就是說,將以前用 SGML定義的HTML改為用XML重新定義。從這個意義上講,XHTML實際上是XML的一種套用。表面上看,在XHTML中,其標記仍舊延用以往的HTML 的標記,各元素和屬性的名稱和用法也幾乎不變,只不過由於改為用XML定義,就必須嚴格按照XML語言規範來處理了。提起XHTML,就不能不先來看一下 XHTML的發展歷史。  

XHTML的前身是大名鼎鼎的HTML,HTML作為在Internet/Intranet網上進行數據瀏覽和數據交換的一種先進的檔案格式規範,以瀏覽器為依託憑藉著其豐富而強大的功能打破了傳統的數據瀏覽方式,給人以耳目一新的感覺,也極大地推動了Internet的發展。但是,隨著HTML套用的不斷深入,其不足之處也逐漸暴露出來。首先,實際套用中的HTML相當不規範。雖然W3C早己制定出HTML的規範,但是出於商業動機.當今兩大Web瀏覽器軟體製作廠商Microsoft 和 Netscape為了搶占日益擴大的瀏覽器市場,紛紛在HTML中加入自己定義的非規範的標記,並在自己的瀏覽器中提供相應的特殊支持,旨在占領更大的瀏覽器市場份額,以達到左右HTML標準的制定並最終將競爭對手打垮的目的。這種不良競爭的結果,造成HTML標記的過度膨脹,大量與標準HTML不一致的標記充斥於Internet的大小角落,而且某些HTML標識符只能在Netscape Navigator上才能執 行,而另一些只在Internet Explorer上才是有效的。這 種情況給網頁設計人員帶來很大的麻煩。其次,隨著技術的飛速發展,新的Web瀏覽工具不斷被開發出來, 從小巧的掌上電腦到功能特異的能上網的手機再到最 近被炒得沸沸揚揚的數字機頂盒,網上瀏覽再也不必局限於桌上電腦了。據權威人士預測,到2002年,大約 75%的網頁將會通過非桌上型電腦來瀏覽。但是,我們不禁又問,到底現在的HTML標準是不是真得適合在各種非桌上型電腦中進行瀏覽呢?很不幸,回答是否定的,現在的HTML不能解決這個難題。另外,HTML只能利用現有的有限標記.而且大多數標記都沒有實際的含義,這使得它越來越不適應人們不斷增加的需求。在這種情況下,在各大知名廠商的壓力下,W3C組織於1998年底成立工作組,專門討論XHTML標準的制定。好在在此之前,W3C已正式推出XML1.0規範,這無疑為XHTML規範的制定奠定了強大的基礎。經過不斷的討論,該工作組於1998年12月5日提出第一個草案,並在隨後次年的2月24日、3月4日、5月5日分別公布了階段性草案。1999年8月24日,第一個建議標準正式推出。不過,還應指出的是,這並不意味著就一定能成為正式標準,事實上, XHMTL1.0的這份標準目前正處於激烈的討論中,爭議的焦點之一是名稱空間(namespace)的解釋問題。不過.現在總算有了一線希望,相信出路就在前方。  

形成背景

一方面,缺乏語法規範性的HTML文檔。實際上,全球資訊網中的許多頁面都是規範性很差、語法很不嚴謹的HTML文檔,但仍然可以用Web瀏覽器打開。

另一方面,現今的軟體市場上存在著不同廠商提供的Web瀏覽器。國外流行的Web 瀏覽器有 Microsoft Internet Explorer、Mozil丨a Firefox 和 Google Chrome 等,國內有搜狗、 騰訊 Tencent Traveler、遨遊Maxthon、世界之窗Theworld和360安全瀏覽器等。如果設計和製作網頁的語言缺乏必要的規範、語法不嚴謹,運行在計算機上的不同Web瀏覽器將難以支持全球資訊網中數以億計的網頁。反之.如果使用統一規範的網頁設計和製作語言,使得 HTML文檔都具有規範和良好的結構,Web瀏覽器與網頁之間的適配性將得到大大增強。  

XHTML的面世

為了規範網頁設計和製作語言,W3C於2000年推出了XHTML。

目前,較流行的XHTML 1.0版本有以下三種。

(1)XHTML1.0 Strict(嚴格版)。嚴格版是根據HTML 4.01 Strict改編的。與 HTML 4.01 Strict —樣,在XHTML 1.0 Strict中不能使用表現性元素或屬性,例如 center、font、s、strike 和 u 等元素以及 align background 和 bgcolor 等屬性。  

(2)XHTML 1.0 Transitional(過渡版)。過渡版是根據HTML 4.01 Transitional改編的.與HTML 4.01 Transitional—樣,可以使用一些在Strict版本中禁用的表現性元素或屬性。

(3)XHTML 1.0 Frameset(框架版)。框架版是根據HTML 4.01 Frameset改編的.允許在網頁中定義框架。

在上述三種XHTML 1.0版本中,XHTML 1.0 Transitional規定了XHTML的基本語法。XHTML 1.0 Strict不僅遵循XHTML的基本語法規定,而且不允許使用表現性元素或屬性.在XHTML 1.0 Transitional和 Strict 的基礎上,XHTML 1.0 Frameset 允許在網頁中定義框架。  

總之.XHTML是一種增強型的HTML,是語法更嚴謹、元素更純淨的HTML版本. XHTML有助於編寫良構(Well-structured)的HTML文檔。這些HTML文檔可以很好地工作於IE、Firefox和Chrome等各種品牌的Web瀏覽器,並且能夠向後兼容。此外,XHTML還具有良好的可擴展性和靈活性,不僅支持台式計筧機和攜帶型電腦而且支持iPad、iPhone等手持移動通信設備.能夠適應未來網路套用的更多需求。  

語法規定

HTML的語法比較鬆散.網頁設計和製作者使用起來比較方便。但對Web瀏覽器來說.網頁設計語言的語法越鬆散.處理起來卻越困難。因此,W3C在制定XHTML規範時,要求編寫HTML文檔時必須遵循更加嚴格和規範的語法。

(1)必須關閉打開的標籤。

在HTML中,允許某某些非空元素只有開始標籤,而可以沒有結束標籤。例如,li元素的開始標籤

  • 可以不用結朿標籤
  • 來關閉.但這在XHTML中是不允許的。XHTML規定,必須關閉打開的標籤,換言之,開始標籤必須有相應的結束標籤。  

    對於br和img等空元素(即沒有結束標籤的元素要在開始標籤中的元素名後面使 用“/”來關閉。例如,
    必須寫為
    , 必須寫為 。

    (2)元素名和屬性名都必須小寫。

    在HTML中,標籤中的元素名和屬性名可以小寫,也可以大寫。但與HTML不同, XHTML是大小寫敏感的(Case Sensitive),元素名和域性名必須小寫,並且不允許大小寫夾雜。例如.在HTML中允許、,但在XHTML只允許。

    (3)元素以及標籤之間都必須正確嵌套。

    XHTML規定,如果在關閉一個標籤之前又打開另個新標籤,則必須首先關閉新標籤,然後才能關閉前一個標籤。換言之,關閉後打開的標籤之後,才能關閉先打開的標籤。

    例如.在 XHTML中,不允許

    Here is an emphasizedkeyword.

    ,只允許

    Here is an emphasized keyword.

    。這樣,p 元素才能正確嵌套em元素。

    正確嵌套元素以及標籤,外以形成良構的HTML文檔。  

    (4)元素的屬性值必須用雙引號("")括起來。

    在HTML中,當屬性值是數字時.可以不用引號;但是在XHTML中,所有的屬性值 (包括數字)必須用雙引號括起來。

    例如,在 HTML 中,允許

    ;但是在XHTML 中,只允許
    .  

    (5)不能在注釋內容中使用“--”。

    “--”只能出現在XHTML注釋的開頭和結朿,而在注釋內容中不能再使用。例如,在XHTML中,下面的代碼是無效的:

    (6)圖像標籤必須有說明文字。

    在XHTML中.每個圖像標籤都必須使用alt屬性添加說明文字。例如,在XHTML 中,以下代碼是有效的:

    注意:為了兼容Firefox渕覽器和IE瀏覽器,對於圖像標籤,儘量採用alt和title雙標籤!  

    (7) 用id屬性替代name屬性。

    例如,在XHTML中,不允許,只允許。

    注意:為了使HTML文檔兼容低版本的Web瀏覽器.可以同時使用name和id屬性, 並使這兩個屬性的值相同。例如,

    (8)必須給每個屬性賦一個值.且不能省略屬性值。

    在XHTML中,每個屬性都必須有一個值,沒有值的就重複本身。例如:

    必須修改為:

    遵循上述XHTML語法規定的HTML文檔稱為良構的HTML文檔。設計和製作網頁時如果遵循上述XHTML語法規定,HTML文檔就能夠被大部分常見的Web瀏覽器正確並快速地編譯。在以上語法規定中,有的看上去比較奇怪,但這一切都是為了使網頁設計語言有一個統一和唯一的標準,以便使用各種Web瀏覽器都能正常地打開HTML文檔並流暢地顯示網頁。  

    由此可見,從HTML過渡到XHTML,最大的變化在於HTML文檔必須是良構的。

    此外,在Strict類型的XHTML文檔主體,還必須遵循以下語法規範。

    (1)文本內容不能直接出現在主體中。

    例如,以下代碼的語法是不規範的:

    < body > Hello, World!

    相關詞條

    熱門詞條

    聯絡我們