html語言是我們建立網(wǎng)頁的工具,從它出現(xiàn)發(fā)展到現(xiàn)在,規(guī)范不斷完善,功能越來越強(qiáng)。但是依然有缺陷和不足,人們?nèi)栽诓粩嗟母倪M(jìn)它,使它更加便于控制和有彈性,以適應(yīng)網(wǎng)絡(luò)上日新月異的應(yīng)用需求。2000年底,國際w3c(world wide web consortium)組織公布發(fā)行了xhtml 1.0版本,xhtml和html,xml有什么不同,它增加了什么新功能,今天就讓我們來初步認(rèn)識(shí)一下xhtml。
xhtml 1.0是一種在html 4.0基礎(chǔ)上優(yōu)化和改進(jìn)的的新語言,目的是基于xml應(yīng)用。xhtml是一種增強(qiáng)了的html,它的可擴(kuò)展性和靈活性將適應(yīng)未來網(wǎng)絡(luò)應(yīng)用更多的需求。下面是w3c的html工作組主席steven pemberton回答的關(guān)于xhtml的常見基礎(chǔ)問題。
問:什么是xhtml?
答:xhtml是一種為適應(yīng)xml而重新改造的html。當(dāng)xml越來越成為一種趨勢(shì),就出現(xiàn)了這樣一個(gè)問題:如果我們有了xml,我們是否依然需要html?為了回答這個(gè)問題,1998年5月我們?cè)谂f金山開了兩天的工作會(huì)議,會(huì)議的結(jié)論是:需要。我們依然需要使用html。因?yàn)榇罅康娜藗円呀?jīng)習(xí)慣使用html來作為他們的設(shè)計(jì)語言,而且,已經(jīng)有數(shù)以百萬計(jì)的頁面是采用html編寫的。
問:為什么xhtml 1.0相對(duì)html 4.0獨(dú)立發(fā)展?
答:并不是這樣。xhtml恰恰就是html 4.0的重新組織,(確切的說它是html 4.01,是一個(gè)修正版本的html 4.0,只不過以xhtml 1.0命名發(fā)行。) 它們?cè)趚ml里的解釋會(huì)有一些必要的差別,但另一方面,它們依然非常相似,我們可以把xhtml的工作看作是html 4.0基礎(chǔ)上的延續(xù)。
問:xhtml 1.0如何實(shí)現(xiàn)xml標(biāo)準(zhǔn)?
答:xhtml就是一種xml應(yīng)用。它采用xml的dtd文件格式定義,并運(yùn)行在支持xml的系統(tǒng)上。這里要感謝xml的namespaces功能,瀏覽器制造商不需要再創(chuàng)造新的私有標(biāo)簽(tags),他們只需要在xhtml代碼里包含xml代碼片段,或者xml代碼里包含xhtml代碼片段。
問:xhtml 1.0最主要的優(yōu)勢(shì)是什么?
答:xml是web發(fā)展的趨勢(shì),所以人們急切的希望加入xml的潮流中。使用xhtml 1.0,只要你小心遵守一些簡(jiǎn)單規(guī)則,就可以設(shè)計(jì)出既適合xml系統(tǒng),又適合當(dāng)前大部分html瀏覽器的頁面。這個(gè)意思就是說,你可以立刻設(shè)計(jì)使用xml,而不需要等到人們都使用支持xml的瀏覽器。這個(gè)指導(dǎo)方針可以使web平滑的過渡到xml。
另一個(gè)使用xhtml的優(yōu)勢(shì)是:它非常嚴(yán)密。當(dāng)前網(wǎng)絡(luò)上的html的糟糕情況讓人震驚,早期的瀏覽器接受私有的html標(biāo)簽,所以人們?cè)陧撁嬖O(shè)計(jì)完畢后必須使用各種瀏覽器來檢測(cè)頁面,看是否兼容,往往會(huì)有許多莫名其妙的差異,人們不得不修改設(shè)計(jì)以便適應(yīng)不同的瀏覽器。
用xml我們可以重新建立制度,瀏覽器制造商聯(lián)合采用"嚴(yán)格的錯(cuò)誤防御標(biāo)準(zhǔn)",如果xml代碼不兼容,瀏覽器拒絕顯示頁面,這樣設(shè)計(jì)工作在發(fā)布前必須修正每一個(gè)錯(cuò)誤。
問:用xhtml,網(wǎng)頁設(shè)計(jì)師會(huì)遇到和html一樣的瀏覽器兼容性問題嗎?
答:希望不會(huì)。"嚴(yán)格的錯(cuò)誤防御標(biāo)準(zhǔn)"將幫助瀏覽器對(duì)代碼作出相同的響應(yīng),xml的namespaces功能使你可以增加自己的新標(biāo)簽而不需要特別的瀏覽器支持,F(xiàn)在我們所需要得到保證的就是:所有瀏覽器開發(fā)商一致并且完全遵守我們制定的css。寫信給你的瀏覽器制造商,告訴你需要的css規(guī)范,你甚至可以檢測(cè)瀏覽器是否聽從你的設(shè)計(jì)。
問:學(xué)習(xí)xhtml是否很困難?
答:一點(diǎn)也不!
問:誰可以采用xhtml 1.0設(shè)計(jì)?
答:因?yàn)閤html非常簡(jiǎn)單易于實(shí)現(xiàn),所以任何會(huì)用html的人都可以容易地使用xhtml。當(dāng)使用xml瀏覽器的人們?cè)絹碓蕉,更多的工作?huì)被建議使用xml,那時(shí)侯也許都將使用xhtml。
問:什么時(shí)候xhtml網(wǎng)站會(huì)普及?
答:好問題。我已經(jīng)看到一些使用xhtml建立的網(wǎng)站,甚至在xhtml 1.0發(fā)布以前。我相信它將會(huì)有一個(gè)大發(fā)展,因?yàn)樗菀琢恕?/p>
問:我們?nèi)绾螌F(xiàn)有的html轉(zhuǎn)換為xhtml?
答:非常簡(jiǎn)單,因?yàn)樗鼈兎浅O嗨。在w3c網(wǎng)站上有一個(gè)開放原代碼(open-source)的軟件叫html tidy,可以幫助你直接轉(zhuǎn)換。
問:xhtml未來會(huì)怎樣?
答:xhtml1.0僅僅是這個(gè)新html語言的第一步。新版本將沒有向下兼容老瀏覽器的約束,可以有更多的發(fā)展空間。
首先,我們將進(jìn)行一次徹底的清理,刪除html 4.0中不兼容的元素。
其次,我們將xhtml模塊化,允許人們?cè)趚ml應(yīng)用中使用xhtml模塊(比如表格),減少重復(fù)開發(fā)。同時(shí)也允許開發(fā)特別用途的設(shè)計(jì),比如電話應(yīng)用,只要屬于xhtml的子集就可以保持兼容,人們可以創(chuàng)造他們自己的html。
最后,在解決需求方面,我們將開發(fā)更多的表單(forms)功能,允許在客戶端執(zhí)行更多的檢測(cè),減少客戶機(jī)--服務(wù)器之間的網(wǎng)絡(luò)信息傳輸。總之,更多令人興奮的功能將會(huì)被實(shí)現(xiàn)。