【发布时间】:2010-12-31 12:06:25
【问题描述】:
许多文档类型使用 url 链接
喜欢这个
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
而且这个 dtd 文件在 live url http://www.w3.org/TR/html4/strict.dtd 上
这个在线直播 dtd 有什么用,以及任何页面(使用这个 doctype)如何根据这个 doctype 正确呈现而无需访问这个 url(我的意思是如果互联网访问不可用?)
更新:我从维基百科http://en.wikipedia.org/wiki/System_identifier找到这个信息
在 HTML 和 XML 中,系统标识符 是一个无片段的 URI 引用。它 通常出现在文档类型中 宣言。在这种情况下,它是 旨在识别文档类型 它专门用于一个 应用程序,而公共 标识符是用来标识一个 可能跨越超过 一个应用程序。
在以下示例中,系统 标识符是包含的文本 引号内:
更新 2: 仅用于验证器吗? Dreamweaver 等软件如何提供离线验证?
更新 3: 我从 w3c 网站http://www.w3.org/QA/Tips/Doctype找到此信息
为什么要指定文档类型?因为它 定义您的 (X)HTML 版本 文档实际上是使用 (version 适用于什么浏览器或验证器?),以及 这是一个关键的部分 某些工具所需的信息 (哪些工具?除了验证器还有其他工具吗?)处理文档。
例如,指定文档类型 您的文档允许您使用工具 例如要检查的标记验证器 (X)HTML 的语法。此类工具 如果他们不这样做,将无法工作 知道你是什么类型的文件 使用。
但最重要的是 对于大多数浏览器系列,一个 doctype 声明会做很多 猜测是不必要的,因此会 触发“标准”渲染模式。
【问题讨论】:
-
我希望 url 并没有真正使用,但它是 doctype 定义的一部分,所以它应该在那里。但是,如果没有互联网连接,它仍然可以正常工作。
-
我的回答是否还没有解决您在更新 3 中添加的问题?浏览器不关心,除了用于怪癖/标准模式切换的特定文档类型。验证器通常会关心,但通常不会下载 DTD。其他工具可能关心也可能不关心;您可以通过询问相关工具获得更好的答案,因为没有万能的答案。