为什么我的文档不能作为XHTML 1.1 STRICT验证?

Jit*_*yas 5 xhtml doctype w3c xml-attribute xhtml-1.1

虽然不推荐使用target ="_ blank",但为什么W3C验证器没有给出错误?您可以在验证器中粘贴并检查此代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<p>
<a href="http://www.stackoverflow.com" title="New window will open" target="_blank">Link opens in new window</a>
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑:

这是否意味着XHTML 1.1支持target ="_ blank",但XHTML 1.0严格不支持?或者它是W3C验证器中的错误?

Mik*_*ler 4

您正在被验证为 XHTML Transitional而不是Strict。如果您手动将文档类型覆盖为 XHTML 1.0 Strict,则会收到此错误:

\n
\n

错误第 11 行第 76 列:属性“target”存在,但不能用于此元素。

\n

\xe2\x80\xa6om" title="将打开新窗口" target="_blank">链接在新窗口中打开

\n
\n

如果你想严格一点,请使用这个文档类型:

\n
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n
Run Code Online (Sandbox Code Playgroud)\n

过渡模式仍然允许某些已弃用的元素和属性,我想可以帮助人们逐步过渡到更严格的标记。

\n

编辑:

\n

好的,原来的代码是 XHTML 1.1,其中只有一个版本(没有严格/过渡),并且根据此常见问题解答,目标属性确实是不允许的。所以我猜这一定是验证器中的错误。

\n