eclipse中的XHTML doctype

时间:2012-01-22 11:28:41

标签: html xml xhtml doctype

在eclipse中使用内置模板作为我的html页面时,我在xhtml doctype之前添加了以下代码:<?xml version="1.0" encoding="ISO-8859-1" ?>此代码是否会影响html页面?

2 个答案:

答案 0 :(得分:1)

不,它没有,你的html对每个浏览器仍然有效和可读。 (但是,对于IE9以下的每个版本,它都会将IE置于怪癖模式 - 请参阅@Rob’s comment。)

因为您使用的是xhtml,它基本上是一种xml,所以浏览器需要对文档进行某种编码。

See w3c:

  

历史上,HTML文档的字符编码也是   由Web服务器通过HTTP的charset参数指定   Content-Type标头,或通过文档本身中的meta元素。在   XML文档,指定文档的字符编码   关于XML声明(例如,<?xml version="1.0" encoding="EUC-JP"?>)。为了便携式呈现文件   具体的字符编码,最好的方法是确保   Web服务器提供正确的标头。如果这是不可能的,a   想要明确设置其字符编码的文档必须   包括XML声明,编码声明和meta   http-equiv语句(例如,<meta http-equiv="Content-type" content="text/html; charset=EUC-JP" />)。在符合XHTML的用户中   代理,XML声明的编码声明的值   优先。

顺便说一下,这只是你使用的另一个字符集而不是UTF-8或UTF-16。如果使用默认的UTF8或UTF016,则会有一些例外情况。请参阅W3C(再次)。

答案 1 :(得分:1)

构造<?xml version="1.0" encoding="ISO-8859-1" ?>不是doctype问题,而是XML声明,可以在任何XML文档的开头使用,无论它是否具有文档类型声明,是否恰好是XHTML或其他东西其他。根据{{​​3}},“所有XML文档都不需要XML声明;但强烈建议XHTML文档作者在其所有文档中使用XML声明。当文档的字符编码不是默认的UTF-8或UTF-16且没有编码由更高级别的协议确定时,需要这样的声明。“

因此,如果XHTML文档实际上是ISO-8859-1编码的,那么XML声明是有用且值得推荐的。如果没有,那么这是错误的信息。