HTML文档中是否需要XML声明?

时间:2016-06-02 12:35:29

标签: html xml html5 doctype

在昏暗而模糊的过去的某个时刻,我做了大量的阅读和大量的研究,并决定了最好的"开始HTML文档的方法是:

<?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">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN">

从那以后,我将其复制并粘贴到每个HTML文档的开头,而没有进一步考虑。

然而,HTML5现在就在这里,我需要开始遵循现代实践,这意味着我需要用新的东西替换这个过时的标题。

显然,第二行将成为:

<!DOCTYPE html>

但是第一线怎么样? &#34;&lt;?xml&#34;宣言;我还需要吗?老实说,从我今天所读的内容来看,我不确定曾经需要它。 (我不确定当时我做了什么研究让我觉得我做了。)

第三行?我知道我需要&#34;&lt; html&gt;&#34;但是我还需要那条线上的其他东西吗?

此外,还有什么我需要添加的吗?我可以简单地从以下文件开始:

<!DOCTYPE html>
<html>

这种简单的几行是新的最佳做法吗?或者我应该添加其他东西吗?

2 个答案:

答案 0 :(得分:3)

XML声明仅在XML文档中有意义。这包括XHTML,它在HTML5中仅仅是HTML标准的XML序列化。

但HTML本身不是XML。因此,XML声明在HTML文档中毫无意义,没有任何理由可以包含它。它甚至不是最佳实践的问题。

HTML5允许使用来自XHTML的某些保留,例如xmlns属性和自动关闭语法/>,以便更容易移植&#34; XHTML&#34; HTML5的文档。但是如果你重新开始,并且你正在编写HTML(大约90%的作者就是这种情况),那么它们应该被排除在外。只有在您编写XHTML时,才需要继续遵循XML规则。

您提供的双线程是开始符合现代标准的HTML文档的正确方法。 (<html>开始标记是可选的,但除非你是谷歌,否则最好将 留在中,如果你想要的话,无论如何都需要它完全指定任何属性。)

答案 1 :(得分:1)

  

try looking here

     

仅当页面未作为UTF-8(或UTF-16)提供时才需要XML声明,但包含它可能很有用,以便开发人员,测试人员或翻译生产经理可以直观地检查编码通过查看来源的文件。   由于多语言文档必须是UTF-8,因此您不需要也不必使用XML声明。另一方面,如果要将文件读取为HTML,则需要使用元元素,字节顺序标记或HTTP标头声明编码。

     

因为元元素中的声明只能被一个元素识别   HTML解析器,如果您使用带有content属性的方法   值应以text / html;。

开头