Flask XHTML 的歷史

2021-08-10 10:33 更新

一段時(shí)間, XHTML 的出現(xiàn)欲取代 HTML 。然而,Internet 上幾乎沒有任何實(shí) 際的 XHTML (用 XML 規(guī)則處理的 HTML )網(wǎng)站。這種情況有幾個(gè)主要的原因。 其一是 Internet Explorer 缺乏對(duì) XHTML 妥善的支持。 XHTML 規(guī)范要求 XHTML 必須由 MIME 類型 application/xhtml+xml 來承載,但是 Internet Explorer 拒絕讀取這個(gè) MIME 類型下的文件。

雖然配置 Web 服務(wù)器來提供正確的 XHTML 相對(duì)簡單,但很少有人這么做。這可能 是因?yàn)檎_地使用 XHTML 會(huì)是一件痛苦的事。

痛苦的最重要的原因之一是 XML 苛刻的(嚴(yán)格而殘忍)錯(cuò)誤處理。當(dāng) XML 處理中 遭遇錯(cuò)誤時(shí),瀏覽器會(huì)把一個(gè)丑陋的錯(cuò)誤消息顯示給用戶,而不是嘗試從錯(cuò)誤中恢 并顯示出能顯示的。web 上大多數(shù)的 (X)HTML 生成基于非 XML 的模板引擎(比如 Flask 所使用的 Jinja)并不會(huì)防止你偶然創(chuàng)建無效的 XHTML 。也有基于 XML 的 模板引擎,諸如 Kid 和 流行的 Genshi,但是它們經(jīng)常具有更大的運(yùn)行時(shí)開銷, 并且不能直接使用,因?yàn)樗鼈円袷?XML 規(guī)則。

大多數(shù)用戶,不管怎樣,假設(shè)它們正在正確地使用 XHTML 。他們?cè)谖臋n的頂部寫下 一個(gè) XHTML doctype 并且閉合了所有必要閉合的標(biāo)簽( 在 XHTML 中 <br> 要 寫為 <br /><br></br> )。然而,即使文檔可以正確地通過 XHTML 驗(yàn)證,真正決定瀏覽器中 XHTML/HTML 處理的是前面說到的,經(jīng)常不被正確設(shè)置的 MIME 類型。所以有效的 XHTML 會(huì)被視為有效的 HTML 處理。

XHTML 也改變了使用 JavaScript 的方式。要在 XHTML 下正確地工作,程序員不得不 使用帶有 XHTML 名稱空間的 DOM 接口來查詢 HTML 元素。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)