XHTML之基礎三問

2021-06-20 08:49:36 字數 1985 閱讀 5113

前兩篇部落格,主要講了xthml的注意事項,及基礎語法,書接上文,這篇部落格將繼續xhtml的介紹。本章內容為「www」——「why、what、how」。

一、why——為什麼使用xhtml

xhtml 是 html 與 xml(擴充套件標記語言)的結合物。xhtml 包含了所有與 xml 語法結合的 html 4.01 元素。而我們都知道全球資訊網上的許多頁面都包含著糟糕的 html **。

下面的 html **仍然可以工作得很好,即使它沒有遵守 html 規則:

this is bad html

bad html

xml 是一種標記化語言,其中所有的東西都要被正確的標記,以產生形式良好的文件。xml 用來描述資料,而 html 則用來顯示資料。今天的市場中存在著不同的瀏覽器技術,某些瀏覽器執行在計算機中,某些瀏覽器則執行在移動**和手持裝置上。而後者沒有能力和手段來解釋糟糕的標記語言。因此,通過把 html 和 xml 各自的長處加以結合,我們得到了在現在和未來都能派上用場的標記語言 - xhtml。

xhtml 可以被所有的支援 xml 的裝置讀取,同時在其餘的瀏覽器公升級至支援 xml 之前,xhtml 使我們有能力編寫出擁有良好結構的文件,這些文件可以很好地工作於所有的瀏覽器,並且可以向後相容。

二、what——xhtml 與 html 之間的差異

這點內容上篇部落格《xhtml之基礎的基礎(續)》已經介紹了,詳細內容這裡就不再贅述。

最主要的不同:

xhtml 元素必須被正確地巢狀。

xhtml 元素必須被關閉。

xhtml 標籤名必須用小寫字母。

xhtml 文件必須擁有根元素。

三、how——如何將你的**公升級至 xhtml

1.新增檔案型別宣告(有關檔案型別宣告的具體內容,之前的部落格也講過《xhtml之基礎的基礎》)

例如,將下面的檔案型別宣告新增至每頁的首行:

如果你希望將頁面驗證為正確的 xhtml,那麼頁面中必須含有檔案型別宣告。需要注意的是,根據不同的檔案型別宣告,新式的瀏覽器對文件的處理方式也是不同的。如果瀏覽器讀到乙個檔案型別宣告,那麼它會按照「恰當」的方式來處理文件。如果沒有 doctype,文件也許會以截然不同的方式顯示出來。

2.格式轉換

(1)小寫的標籤和屬性名

由於 xhtml 對大小寫敏感,同時也由於 xhtml 僅接受小寫 html 標籤和屬性名,因此你可以執行乙個簡單的搜尋和替換命令將所有的大寫標籤改為小寫。對屬性名也要做同樣的處理。

(2)給所有屬性加上引號

由於 w3c xhtml 1.0 標準中要求所有的屬性值都必須加引號,所以,如果以前沒有注意到這個細節,你需要逐頁地對**進行檢查。這是一項費時的工作,所以絕不要再忘記為屬性值加引號了。

(3)空標籤:,

和在 xhtml 中是不允許使用空標籤(empty tags)的。和

標籤應該被替換為 和

。這樣做又產生了乙個新問題,netscape 會誤讀

標籤。不清楚原因所在,不過將之改為

後就沒有問題了。認識到這一點後,你需要再一次通過搜尋和替換功能對標籤進行更改。

其他一些標籤(比如標籤)也會碰到上述同樣的問題。不要使用閉合標籤來關閉,而是要在標籤的末端新增 / >。

3、驗證站點

做完所有這一切以後,使用下面的鏈結根據官方的 w3c dtd 對所有修改過的頁面進行驗證: xhtml validator。接下來,可能還會有少數的錯誤被發現,逐一對這些錯誤進行(手工地)修正。我們的經驗是,最容易犯的錯誤是在列表中漏掉了 標籤。

這些內容其實也是概念性的,不過對於剛接觸不久的,有必要了解一下。總得感覺就是一句話「無規矩不成方圓」。xhtml讓標記語言變得更具有紀律性。

XHTML教程,簡單認識XHTML基礎知識

本文簡單讓大家熟悉一下xhtml,了解xhtml的基礎知識 什麼是xhtml xhtml是the extensible hypertext markup language 可擴充套件標識語言 的縮寫。html是一種基本的web網頁設計語言,xhtml是乙個基於xml的置標語言,看起來與html有些相...

xhtml的基礎規範

xhtml應嚴格的遵循xml規範,簡列以下幾點 xhtml中,script和style元素被宣告為 pcdata內容形式,因此,和 被看作是標識的開始,和 等html實體將被xml處理器看作為實體引用而分別被認為是 和 將script和style元素的內容隱蔽在cdata標記中避免了這些實體的擴張....

《xhtml入門系列》之四

1 在乙個頁面中的基本布局元素為 2 如果用css將乙個頁面分為上中下,而中又分為左右 3 如何將多個小控制項排成一排?其實很簡單,比如現在有5個按鈕,要將這些按鈕排成一排,只要作如下處理就可以了 其實就是將每個控制項的float都設定為left就可以了 4 如果不想讓這些東西都排成一排,怎麼辦?那...