日期:2014-05-17  浏览次数:20711 次

HTML和XHTML的联系与区别,文档类型<!DOCTYPE>
参考资料
1 HTML和XHTML的区别以及盒模型<!DOCTYPE>说明
http://birdwindy.iteye.com/blog/628979
2 DOCTYPE类型详细介绍
http://www.webjx.com/html-xhtml/webxhtml-7725.html
3 xhtml中doctype声明为tranditional 和strict的区别
http://jingfeng198.blog.163.com/blog/static/4625592009712101535493/
4 HTML DOCTYPE
http://hi.baidu.com/yisu2008/blog/item/c77ebe22b3bed0a24723e801.html
5 html4.01标签教程01----DOCTYPE文档类型标签
http://blog.sina.com.cn/s/blog_67776a680100kqlf.html
6 为什么使用 DOCTYPE html
http://blog.csdn.net/lord_is_layuping/archive/2010/05/29/5633369.aspx
http://blog.wanz.im/2010/05/28/why_doctype_html
7 维基百科,自由的百科全书 XHTML
http://zh.wikipedia.org/zh-cn/XHTML
8  维基百科,自由的百科全书 HTML
http://zh.wikipedia.org/zh-cn/HTML
9 陈成的博客:新首页开发PPT详解 —— HTML规范
http://www.chencheng.org/blog/2010/01/15/ppt-detail-on-html-spec/

一 HTML

超文本置标语言(英文:HyperText Markup Language,简称为HTML)是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种置标语言.HTML是一种基于标准通用置标语言(SGML)的应用,是一种非常灵活的置标语言,W3C目前的建议是使用XHTML 1.1、XHTML 1.0或者HTML 4.01进行网络出版.

1 标准的版本历史

超文本置标语言(第一版)——在1993年6月发为互联网工程工作小组(IETF)工作草案发布(并非标准).
HTML 2.0——1995年11月作为RFC 1866发布,在RFC 2854于2000年6月发布之后被宣布已经过时
HTML 3.2——1996年1月14日,W3C推荐标准
HTML 4.0——1997年12月18日,W3C推荐标准
HTML 4.01(微小改进)——1999年12月24日,W3C推荐标准
ISO/IEC 15445:2000(“ISO HTML”)——2000年5月15日发布,基于严格的HTML 4.01语法,是国际标准化组织和国际电工委员会的标准。

二 XHTML

可扩展超文本置标语言(eXtensible HyperText Markup Language,XHTML),是一种置标语言,表现方式与超文本置标语言(HTML)类似,不过语法上更加严格,XHTML则基于可扩展置标语言(XML),XML是SGML的一个子集。XHTML 1.0在2000年1月26日成为W3C的推荐标准.
至现时为止,XHTML共有以下几个版本:
XHTML 1.0 Strict(严格版) 是参照“HTML 4.01 Strict”改编,但不包括被弃用的元素。
XHTML 1.0 Transitional(过渡版) 是参照“HTML 4.01 Transitional”改编,包括已于Strict版本被弃用的呈现性元素(例如<center>, <font>等)。
XHTML 1.0 Frameset(框架版) 是参照“HTML 4.01 Frameset”改编,并允许于网页中定义框架元素。
XHTML 1.1
XHTML Basic

三 HTML与XHTML的历史,联系及区别
.
几乎所有的网页浏览器在正确解析HTML的同时,可兼容XHTML.从HTML完全转移到XHTML,还需要一些过程.

1 HTML语法松散,因此产生了由DTD定义规则,语法要求更加严格的XHTML.

2 XHTNL语法符合XML格式,所有标签必须闭合,开始标签有相应的结束标签,(而在SGML和HTML中,引号不是必须的,当内容只是数字、字母及其它允许的特殊字符时,可以不用引号,比如<option selected>,也不允许,必须用<option selected="selected">),XHTML中所有的标签必须小写.

3 区别
A 文档应该是结构良好的,所有的元素都必须有结束标签(对于非空标签,也需要结束标签),所有的标签必须合理地嵌套
B 元素名称和属性必须小写
C 属性值必须总是使用引号包裹
D 禁止属性简化(XML不支持属性简化,属性值对必须书写完整)
E 脚本和样式元素
  在XHTML里面,脚本和样式的元素被声明为具有 #PCDATA 内容。因此,<和&会被认为是标记的开始,
  另外&lt;和 &amp;会被 XML 解释器认为是实体映射被分别解释成为<和&。从而将脚本或者样式元素包裹在 CDATA 标记的部分以避免这些实体扩展。
<script type="text/javascript"> // <![CDATA[ ... 没有转义处理的内容... // ]]> </script>

F SGML 排斥
SGML赋予DTD作者将特定的元素排斥在某个元素之外的能力。此种限制(被称为排斥)在XML中是不可能的.
G 拥有“ id”和“ name”属性的元素
HTML 4定义了a, applet, form, frame, iframe, img, and map元素的 name属性。HTML 4还引入了id属性。这两个属性被设计用作片段标识符。
在XML里面,片段标识符是ID类型的,而且每个元素只能拥有单一的ID类型的属性。所以,在XHTML 1.0中id属性被定义为ID类型。
为了确保XHTML 1.0文档是构建优良的XML文档,XHTML 1.0文档在为以上所列元素定义片段标识符时必须使用id属性。
注意:在XHTML 1.0中,不赞成此类元素拥有name属性,在XHTML的后续版本中将被去掉。

四 文件类型<!DOCTYPE>说明

html 的第一个标签就是声明html文档所使用的文档类型的。
<!DOCTYPE>标签放在页面的最顶端,在<html>的前面。这个标签可以声明三种类型,分别是严格类型strict,过度类型transitional,和框架类型frameset.
首先它声明了文档的根元素是html,然后他的公共标识符是  PUBLIC "-//W3C//DTD HTML 4.01//EN ,看到这个声明浏览器就知道了,然后寻找这个DTD进行解析,
如果找不到,浏览器就用后面的URL作为解析DTD,后面那个URL是万维网联盟,we标准制定者的官方DTD url,它是永久性存在的.

1 DOCTYPE的语法:  HTML 顶级元素 可用性 “注册//组织//类型 标签//定义 语言”"URL”
  参照以下的范例代码就能看明白啦
 
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>

  DOCTYPE各属性的可能值
       - 顶级元素:指定 D