我在页眉中有以下代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/html401-rdfa-1.dtd">
<html xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8">
如果我尝试使用 Validator.w3.org 验证此页面并使用自动文档类型检测来执行此操作,我会收到 174 个错误,并且文档类型显示为 -//W3C//DTD HTML 4.01+RDFa 1.0//EN。这是验证结果。
然后如果手动将doctype设置为HTML 4.01+RDFa 1.1并重新验证页面,则doctype显示为HTML 4.01 Transitional,有2个错误和2个警告:无法确定解析模式和DOCTYPE Override生效!验证器似乎不理解我的文档类型并写道:
检测到的 DOCTYPE 声明 >!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01+RDFa 1.0//EN" "hxxp://www.w3.org/MarkUp/DTD/html401-rdfa-1.dtd"<已被抑制,而是插入了“HTML 4.01 + RDFa 1.1”的 DOCTYPE...
如果将验证器设置为显示源代码,那么我看到,验证器还有一些其他代码,就像页面一样。验证器将代码的第一行更改为
<!DOCTYPE ><!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/html401-rdfa-1.dtd"> -->
并评论我正确的文档类型......`
有人会指出我正确的文档类型(或正确的语法/解决方法)吗?