Validator.w3.org不理解我的HTML 4.01 + RDFa

时间:2013-05-18 22:22:23

标签: validation w3c-validation html4 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验证此页面并使用自动doctype检测进行验证,则会收到174错误,doctype显示为 - // 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覆盖有效!验证者似乎不理解我的doctype并写道:

  

检测到的DOCTYPE声明&gt;!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.01 + RDFa 1.0 // EN”“hxxp://www.w3.org/MarkUp/DTD/html401-rdfa-1 .dtd“&LT;已被禁止并且插入了“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"> -->

并评论我的权利doctype out ...`

有人会指出正确的doctype(或正确的语法/解决方法)吗?

1 个答案:

答案 0 :(得分:0)

您是否有任何理由不使用更主流的RDFa文档类型,例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">

甚至是更简单的HTML5 doctype:

<!DOCTYPE html>