Koubei UED

Just another WordPress weblog

Archive for 七月, 2009

Doctype之谜

doctype%e4%b9%8b%e8%b0%9c

—— 本文刊登在《程序员》2009年7月期,略有增删

HTML是万维网上发布超文本的通用语言[1]。从1982年Tim Berners-Lee简化SGML建立HTML的原始定义到2001年发布XHTML1.1规范,HTML成为了有多个版本的国际标准[2]。各版本的规范都用一种机器可读的语言定义,它描述了法定结构、元素和属性,这就是文档类型定义(Document Type Definition),简称DTD。

DTD描述了文档类型声明(DTD declaration,简称doctype[3])位于HTML文档最前面,它是联系文档和DTD指令。比如HTML4.01 Strict的doctype是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">

它指明了文档使用的HTML版本,这是诸如浏览器之类的工具解析文档时最需要的信息。比如W3C的验证工具可依据它来检查语法和指出错误。

阅读全文»