【发布时间】:2013-05-13 19:58:18
【问题描述】:
我在页眉中有以下代码:
<!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。这是validation result。
那么如果手动将doctype设置为HTML 4.01+RDFa 1.1和revalidate the page,则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"
如果将验证器设置为显示源代码,那么我看到,验证器还有一点其他代码,就像页面一样。验证器将代码的第一行更改为
<!DOCTYPE ><!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/html401-rdfa-1.dtd"> -->
然后将我正确的文档类型输出...`
有人能给我指出正确的文档类型(或正确的语法/解决方法)吗?
【问题讨论】:
标签: validation w3c-validation html4 rdfa