我一直在看到一些相互矛盾的信息,即X
HTML文档也必须将自己声明为
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声明的情况下在W3 Validator中运行了一个页面,它通过了两种方式.在这一点上,我猜它只是一种“风格”的东西.
解决方法
<?xml version="1.0" encoding="utf-8"?>
…是XML的默认版本和编码,因此您根本不需要它.如果你以文本/ html的形式提供XHTML,它可能根本不应该存在.
However,in other places I’m seeing (including w3.org) that the DOCTYPE must be the first tag.
听起来有些混乱…… DOCTYPE不是标签,也不是<?xml?> (它被称为XML声明,看起来像处理指令,但它也不是其中之一).
如果包含两者,则必须首先使用XML声明.诀窍是IE6的DOCTYPE嗅探器只检测标准模式DOCTYPE,如果它们是页面上的第一个东西,这意味着你不能使用XML声明,你必须坚持使用XML 1.0和UTF-8编码(这不是很好)失利).