这个简单的XHTML不会验证。问题是什么?

时间:2010-06-10 15:39:00

标签: xhtml

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

<?xml version="1.0" encoding="UTF-8"?>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>My Title</title>

<link rel="stylesheet" type="text/css" href="myStyle.css"/>

</head>
<body>

<div>

<h1>Heading One</h1>
<p class="para1">Paragraph One</p>

<h3>Heading Two</h3>
<p>Paragraph Two</p>

<h3>Heading Three</h3>
<p>Paragraph Three</p>

<br />
<a href="Lab1Page2.html">Link One</a>
<br />
<a href="Lab1Page3.html">Link Two</a>

</div>

</body>
</html>

4 个答案:

答案 0 :(得分:9)

<p>Paragraph Three<p>

这就是问题所在。

修改:其他<p>显然应为</p>

编辑2:注意到一个更大的问题:XML定义或其他任何调用应始终位于第一行。如果我没记错的话。

编辑3:是的,我查了一下。 W3验证器告诉我们:

  

仅在文档开头提供XML声明

答案 1 :(得分:2)

通过W3C验证器运行它,它会指出您正确的问题:http://validator.w3.org/

具体做法是:

此:

<?xml version="1.0" encoding="UTF-8"?>

必须位于文档的最顶层,而不是DOCTYPE下方。

你忘了关闭p标签上的'/':

<p>Paragraph Three<p>

一旦这些问题得到纠正,它就会很好地验证。

答案 2 :(得分:1)

您可以通过W3C checker here运行它(点击“直接输入”标签并复制/粘贴),它会为您提供非确认的反馈意见

答案 3 :(得分:0)

试试这个:

 <?xml version="1.0" encoding="UTF-8"?>

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>My Title</title>

<link rel="stylesheet" type="text/css" href="myStyle.css"/>

</head> <body>

<div>

<h1>Heading One</h1> <p class="para1">Paragraph One</p>

<h3>Heading Two</h3> <p>Paragraph Two</p>

<h3>Heading Three</h3> <p>Paragraph Three</p>

<br /> <a href="Lab1Page2.html">Link One</a> <br /> <a href="Lab1Page3.html">Link Two</a>

</div>

</body> </html>

<?xml version="1.0" encoding="UTF-8"?>必须是XML文档中的第一行。 请参阅XML规范:http://www.w3.org/TR/2006/REC-xml11-20060816/