【问题标题】:Xhtml validator error "not reserved name"Xhtml 验证器错误“非保留名称”
【发布时间】:2019-01-26 20:47:06
【问题描述】:

我是 XHTML 新手,一直收到此错误,无法在任何地方找到解决方案。

这是错误: error.png

这是我的代码:

<!DOCTYPE html public "-//project//test.xhtml">
	<html>
		<head>
		<title>Tools</title>
		<link href="oof.css" rel="stylesheet"type="text/css">
		</head>
			<body>
				<div class="page">

【问题讨论】:

    标签: html xhtml


    【解决方案1】:

    &lt;!DOCTYPE html public "-//project//test.xhtml"&gt; 不是 XHTML Doctype。

    您得到的具体错误是因为标识符必须是 PUBLICSYSTEM 并且区分大小写。

    Doctype 需要引用您正在验证的 DTD,而不是 XHTML 文档。

    大多数 XHTML 文档将使用此 Doctype:

    <!DOCTYPE html 
         PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    

    但是,在 2018 年使用 XHTML 1.0 并没有什么意义。您最好改用 HTML 5。

    如果您使用的是 HTML 5 的 XML 序列化,那么您根本不会使用 Doctype。

    虽然大多数人并没有从使用 XML 中获得任何好处,但最好还是编写 HTML。使用 Doctype:

    <!DOCTYPE html>
    

    ...然后仅出于历史原因在浏览器中触发标准模式。

    【讨论】:

      【解决方案2】:

      你的语法有很多错误。

      • LINK 标签是一个自闭合标签。
      • DOCTYPE html public "...." 定义了一些信息。 Read about it here
      • 每个开始标签都有一个结束标签

      它应该是这样的

      <!DOCTYPE html public "-//project//test.xhtml">
      <html>
      <head>
          <title>Tools</title>
          <link href="oof.css" rel="stylesheet" type="text/css" />
      </head>
      <body>
          <div class="page"></div>
      </body>
      </html>
      

      【讨论】:

      • 欢迎来到 StackOverflow。请不要将答案视为论坛回复,这就是 cmets 的用途。我已经清理了您的答案以反映这一点。
      • &lt;!DOCTYPE html public "-//project//test.xhtml"&gt; — 您还没有修复错误消息所涉及的错误!
      • 而 xmlns 不见了。
      • 代替&lt;!DOCTYPE html public "-//project//test.xhtml"&gt;,他可以简单地使用&lt;!DOCTYPE html&gt; 来完成工作.....
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 2016-07-05
      • 2010-10-09
      • 1970-01-01
      • 2014-05-22
      相关资源
      最近更新 更多