ale*_*ale 7 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">
Run Code Online (Sandbox Code Playgroud)
但是,在其他地方,我看到(包括w3.org)DOCTYPE 必须是第一个标签声明.
自W3说出来以来,它必定是真的.但是,我可能有一些关于第一种方法的页面/应用程序.我有什么风险?
编辑:我只是在有和没有XML声明的情况下通过W3 Validator运行了一个页面,它通过了两种方式.在这一点上,我猜它只是一种"风格"的东西.
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
...是XML的默认版本和编码,因此您根本不需要它.如果你以文本/ html的形式提供XHTML,它可能根本不应该存在.
但是,在其他地方,我看到(包括w3.org)DOCTYPE必须是第一个标签.
听起来有些混乱...... DOCTYPE不是一个标签,也不是<?xml?>(它被称为XML声明,看起来像一个处理指令,但它也不是其中之一).
如果包含两者,则必须首先使用XML声明.诀窍是IE6的DOCTYPE嗅探器只检测标准模式DOCTYPE,如果它们是页面上的第一个东西,这意味着你不能使用XML声明,你必须坚持使用XML 1.0和UTF-8编码(这不是很好)失利).
来自XHTML 1.1 规范:
并非所有 XML 文档都需要像上面这样的 XML 声明。XHTML 文档作者应该在其所有文档中使用 XML 声明。当文档的字符编码不是默认的 UTF-8 或 UTF-16 并且更高级别的协议未指定编码时,XHTML 文档作者必须使用 XML 声明。
http://www.w3.org/TR/xhtml11/conformance.html
| 归档时间: |
|
| 查看次数: |
2966 次 |
| 最近记录: |