我是否需要使用XHTML doctype在页面上声明XML?

我是否需要使用XHTML doctype在页面上声明XML?,html,xml,xhtml,doctype,Html,Xml,Xhtml,Doctype,我看到一些相互矛盾的信息,XHTML文档也必须将自己声明为XML <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 然而,在其他地方(包括w3.org),DOCTYPE必须是第一个标记声明 既然W

我看到一些相互矛盾的信息,XHTML文档也必须将自己声明为XML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

然而,在其他地方(包括w3.org),DOCTYPE必须是第一个标记声明

既然W3这么说,那一定是真的。然而,我可能有一些页面/应用程序遵循第一种方法。我的风险是什么

编辑:我刚刚在有XML声明和没有XML声明的情况下运行了一个页面,它双向传递。在这一点上,我猜这只是一个“风格”的东西。

我从来没有包括它(总是只包含doctype),w3c说我的XHTML 1.0严格项目是“有效的”。


…是XML的默认版本和编码,因此您根本不需要它。如果您将XHTML作为text/html提供,那么它可能根本不应该存在

但是,在其他地方(包括w3.org),DOCTYPE必须是第一个标记

听起来有些混乱。。。DOCTYPE既不是标记,也不是标记(称为XML声明,看起来像一条处理指令,但也不是其中之一)

如果要同时包含这两种语言,则必须首先使用XML声明。诀窍在于IE6的DOCTYPE嗅探器只检测标准模式的DOCTYPE,如果它们是页面上的第一件事,这意味着您不能使用XML声明,您必须坚持使用XML 1.0和UTF-8编码(这不是很大的损失)。

来自:

类似于上面的XML声明 并非所有XML文档中都需要。 XHTML文档作者应该使用XML 所有文件中的声明。 XHTML文档作者必须使用XML 当字符 文档的编码不是 默认的UTF-8或UTF-16和 编码由 高级协议


只接受以前的东西。另一种方法(doctype before?xml)不会得到验证。

请原谅误用了“tag”一词。我引用了我正在阅读的一些文档。
<?xml version="1.0" encoding="utf-8"?>