以这个XHTML片段为例:
<!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>A webpage</title>
</head>
<body>
<p>
<form action="something.php" method="get">
<input type="submit" value="Hello"/>
</form>
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
树应该有效,但是这不会在浏览器中正确解析.
Chr*_*isW 57
查看使用http://validator.w3.org尝试时获得的错误消息
除了警告您没有指定字符编码(并因此假设为UTF-8),主要错误是<p>不允许a 包含非内联内容.您可以删除<p>和</p>彻底,或者,移动它们里面<form>.
至于"为什么",这是因为它是如何在模式中定义的,它定义什么是什么和什么是无效的XHTML.如果您查看XHTML定义的这一部分,您将看到<p>只允许包含文本或"内联"(而非"块")标记.但是,<form>将"阻止"内容计为"内联"内容.
换句话说,表单可以包含段落,但段落不能包含表单.