譯文:W3C核心樣式
英文: http://www.w3.org/Style/customdtd
說明:
譯者:郭煥青
W3C樣式頁面包含了 <blink> 元素。 <blink> 並非HTML元素,但此頁面卻仍舊被一些HTML驗證器視為有效的,是什麼訣竅呢?
事實上,此頁面在句法構成上是有效的,因為此元素在文件中是已被宣告的。只要元素有正確的被宣告,那麼頁面對於SGML/XML則是有效的。
但是此頁面在語義上是無效的。這是一份SGML文件,並不是HTML文件。而並沒有正式的標準來 為<blink>下定義。
W3C樣式頁面是使用一個非標準元素來開個玩笑。如果你對CSS的歷史有瞭解的話,你可能記得當初會創造CSS的其中一個原因正是因為要避免每一個瀏覽器都創造一個各自的非標準元素,就像是 <blink>。
技術上來說,加上非標準元素是藉由寫一個"自訂文件類型定義來完成的,並且將其包括在文件的第一行中(定義列)。一個自訂的文件類型定義可以藉由,比如說,複製或是修改HTML4 DTD來製作。
不要這麼做!文件必須要有一個意義,也需要有正確的語法規則。SGML及XML只定義語法規則。HTML及SHTML定義含意。如果你加入未被標準所定義的元素,那麼只有你自己才知道它們的含意,而在20年或50年後,可能連你自己都記不得了...
當然啦,你可以做實驗,例如說在未來的網路格式上嘗試,但除此之外你不應該使用非專屬之元素。