Validator.w3.org不理解我的HTML 4.01 + RDFa
我在页头中有以下代码:
<!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个错误,并且doctype显示为 - // W3C // DTD HTML 4.01 + RDFa 1.0 // EN。 这是验证结果。
然后,如果手动将doctype设置为HTML 4.01 + RDFa 1.1并重新验证页面,那么doctype显示为HTML 4.01 Transitional,则会出现2个错误和2个警告:无法确定解析模式和DOCTYPE覆盖生效! 验证器似乎不理解我的文档类型,并写道:
检测到的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"> -->
并评论我的权利......“
有人将我指向正确的文档类型(或正确的语法/解决方法)?
有什么理由不使用更主流的RDFa文档类型,例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
甚至更简单的HTML5文档类型:
<!DOCTYPE html>
上一篇: Validator.w3.org doesn't understand my HTML 4.01+RDFa
下一篇: Chrome plugin says page is W3C Valid, yet W3C validator comes up with 90 errors