【问题标题】:Validator.w3.org doesn't understand my HTML 4.01+RDFaValidator.w3.org 不理解我的 HTML 4.01+RDFa
【发布时间】: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


    【解决方案1】:

    您有什么理由不使用更主流的 RDFa doctype,例如:

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

    甚至更简单的 HTML5 文档类型:

    &lt;!DOCTYPE html&gt;

    【讨论】:

    • 我从我的页面中删除了所有文档类型,然后一一测试了 Validator.w3.org 上提供的所有文档类型。所以我发现,使用 HTML 4.01 + RDFa 1.1 我得到了最小的验证错误。顺便说一句,我测试了你的两个建议:首先我得到超过 300 个错误,使用 html5 我得到 30 个错误......
    猜你喜欢
    • 2014-12-14
    • 2016-03-11
    • 1970-01-01
    • 2021-09-30
    • 2014-01-13
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多