如何升級(jí)至 XHTML?
如何將你的網(wǎng)站升級(jí)至 XHTML ?
為了將站點(diǎn)從 HTML 轉(zhuǎn)換為 XHTML,你首先應(yīng)該熟悉前幾章講解的 XHTML 語(yǔ)法規(guī)則。
下面講解具體的步驟。
添加文件類型聲明
將下面的文件類型聲明添加至每頁(yè)的首行:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
注意:本站 (w3school) 使用的是嚴(yán)格的 DTD。不過(guò)使用過(guò)渡的 DTD 也是個(gè)不錯(cuò)的選擇,因?yàn)閷?duì)于大多數(shù)入門(mén)的開(kāi)發(fā)人員來(lái)說(shuō),嚴(yán)格的 DTD 可能顯得“太嚴(yán)格了”。
關(guān)于文件類型聲明的一點(diǎn)提示
如果你希望將頁(yè)面驗(yàn)證為正確的 XHTML,那么頁(yè)面中必須含有文件類型聲明。
需要注意的是,根據(jù)不同的文件類型聲明,新式的瀏覽器對(duì)文檔的處理方式也是不同的。如果瀏覽器讀到一個(gè)文件類型聲明,那么它會(huì)按照“恰當(dāng)”的方式來(lái)處理文檔。如果沒(méi)有 DOCTYPE,文檔也許會(huì)以截然不同的方式顯示出來(lái)。
小寫(xiě)的標(biāo)簽和屬性名
由于 XHTML 對(duì)大小寫(xiě)敏感,同時(shí)也由于 XHTML 僅接受小寫(xiě) HTML 標(biāo)簽和屬性名,因此你可以執(zhí)行一個(gè)簡(jiǎn)單的搜索和替換命令將所有的大寫(xiě)標(biāo)簽改為小寫(xiě)。對(duì)屬性名也要做同樣的處理。我們一直在自己的網(wǎng)站使用小寫(xiě)字母,因此基本上,替換功能沒(méi)有太多地派上用場(chǎng)。
給所有屬性加上引號(hào)
由于 W3C XHTML 1.0 標(biāo)準(zhǔn)中要求所有的屬性值都必須加引號(hào),所以,如果以前沒(méi)有注意到這個(gè)細(xì)節(jié),你需要逐頁(yè)地對(duì)網(wǎng)站進(jìn)行檢查。這是一項(xiàng)費(fèi)時(shí)的工作,所以絕不要再忘記為屬性值加引號(hào)了。
空標(biāo)簽:<hr> , <br> 和 <img>
在 XHTML 中是不允許使用空標(biāo)簽(Empty tags)的。<hr> 和 <br> 標(biāo)簽應(yīng)該被替換為 <hr /> 和 <br />。
這樣做又產(chǎn)生了一個(gè)新問(wèn)題,Netscape 會(huì)誤讀 <br/> 標(biāo)簽。我們不清楚原因所在,不過(guò)將之改為 <br />后就沒(méi)有問(wèn)題了。認(rèn)識(shí)到這一點(diǎn)后,你需要再一次通過(guò)搜索和替換功能對(duì)標(biāo)簽進(jìn)行更改。
其他一些標(biāo)簽(比如 <img> 標(biāo)簽)也會(huì)碰到上述同樣的問(wèn)題。不要使用閉合標(biāo)簽來(lái)關(guān)閉 <img>,而是要在標(biāo)簽的末端添加 / >。
驗(yàn)證站點(diǎn)
做完所有這一切以后,使用下面的鏈接根據(jù)官方的 W3C DTD 對(duì)所有修改過(guò)的頁(yè)面進(jìn)行驗(yàn)證: XHTML Validator。接下來(lái),可能還會(huì)有少數(shù)的錯(cuò)誤被發(fā)現(xiàn),逐一對(duì)這些錯(cuò)誤進(jìn)行(手工地)修正。我們的經(jīng)驗(yàn)是,最容易犯的錯(cuò)誤是在列表中漏掉了 </li> 標(biāo)簽。
我們應(yīng)該使用轉(zhuǎn)換工具嗎(比方說(shuō) TIDY)?對(duì),我們本可以使用 TIDY。
Dave Raggett 的 HTML TIDY是用來(lái)清理HTML代碼的免費(fèi)工具。在處理那些由專門(mén)的 HTML 代碼編輯器和轉(zhuǎn)換工具生成的難以閱讀的HTML代碼方面,TIDY 還是做得很棒的。同時(shí),它可以幫助你發(fā)現(xiàn)站點(diǎn)中哪些地方需要投入更多精力,使得對(duì)于殘疾人士,網(wǎng)頁(yè)具有更強(qiáng)的易用性。
我們沒(méi)有使用 Tidy 是出于什么原因呢?當(dāng)我們開(kāi)始創(chuàng)建這個(gè)網(wǎng)站時(shí),我們已經(jīng)對(duì) XHTML 非常地熟悉。當(dāng)時(shí)我們已經(jīng)知道使用小寫(xiě)標(biāo)簽以及為屬性加引號(hào)。所以在網(wǎng)站測(cè)試的過(guò)程中,我們只是簡(jiǎn)單地通過(guò) W3C 的 XHTML 驗(yàn)證器進(jìn)行了測(cè)試,并修正了少許的錯(cuò)誤。更重要的是,我們已經(jīng)學(xué)到了很多關(guān)于編寫(xiě) Tidy 式 HTML 代碼的知識(shí)。
課外閱讀
如果您希望更深入的理解利用 XHTML 對(duì)頁(yè)面進(jìn)行結(jié)構(gòu)化的知識(shí),請(qǐng)閱讀《XHTML 結(jié)構(gòu)化》。