自从我学会了将 XHTML 页面作为 XML 提供服务后,我开始注意到一些奇怪的事情:每当我在 Firefox 源代码查看器中查看 XHTML 页面时,DOCTYPE总是被标记为错误。根据我从鼠标悬停得到的工具提示,有问题的错误是“流浪文档类型”。据我了解,“流浪文档类型”意味着在文档中间有一个不属于它的额外文档类型,这里肯定不是这种情况。
这是一个示例 - 此标记将通过验证,并在所有现代浏览器中正确显示:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--FF source viewer will mark the preceding two lines as an error.-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="content-type"
content="application/xhtml+xml; charset=utf-8" />
<title>Sample XHTML Page</title>
</head>
<body>
<p>This is an example.</p>
</body>
</html>
考虑到这些页面完美地通过了验证,并且单个解析错误通常会破坏页面,这个错误消息特别奇怪。