2011-06-14 120 views
1

学习一些关于XHTML和HTML之间的区别,我看着我们的网页之一的源:此页面是否为正确的HTML编码不正确?

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

这是正确的吗?似乎它试图成为一个HTML页面,但是有一个指向XHTML命名空间的链接?

回答

3

它看起来像有人在使用XHTML文档类型,以及相关的xmlns属性:

<!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"> 

接着就听到HTML5是闪亮的新文档类型,所以他们改变到和结束:

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml" > 

只是为了说清楚,这是它应该是什么:

<!DOCTYPE html> 
<html> 
+1

这意味着你可以放弃'xmlns'属性,因为它不是HTML5所必需的。 – 2011-06-14 11:08:36

+0

@James Allardice然而,它对于XHTML5是必需的。 – mc10 2011-06-14 21:39:37

+0

@ mc10 - 确实如此,但正如答案在谈论HTML5一样,该属性不是必需的(因为答案现在已更新为显示)。 – 2011-06-14 21:44:39

1

您提供的编码,

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

是完全没问题。这意味着该网页使用XHTML5,即HTML5的XML序列化。但是,如果您希望将页面呈现为适当的XHTML5,则应将页面的内容类型标题发送为application/xhtml+xml;在XHTML5中不允许使用text/html

对于实际的原因(尤其是与以前的IE版本的兼容性,最值得注意的是IE   6),你应该使用HTML5,而不是XHTML5,如下所示:

<!DOCTYPE html> 
<html> 

注意,当然,前提是该xmlns属性已被删除。