`

HTML和XHTML的联系与区别,文档类型<!DOCTYPE>

    博客分类:
  • html
阅读更多
参考资料
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各属性的可能值
       - 顶级元素:指定 DTD 中声明的顶级元素类型。这与声明的 SGML 文档类型相对应。 默认HTML。
       - 可用性:指定正式公开标识符(FPI)是可公开访问的对象还是系统资源。 PUBLIC 默认。可公开访问的对象。SYSTEM 系统资源,如本地文件或 URL。
       - 注册:指定组织是否由国际标准化组织(ISO)注册。 + 默认。组织名称已注册。
           - 组织名称未注册。Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。
       - 组织:指定表明负责由!DOCTYPE声明引用的DTD的创建和维护的团体或组织的名称,即 OwnderID。 IETF IETF。 W3C W3C。
       - 类型:指定公开文本类,即所引用的对象类型。 DTD 默认。DTD。
       - 标签:指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。 HTML 默认。HTML。
       - 定义:指定文档类型定义。
  Frameset 框架集文档。
  Strict 排除所有 W3C 专家希望逐步淘汰的代表性属性和元素,因为样式表已经很完善了。
  Transitional 包含除 frameSet 元素的全部内容。
       - 语言:指定公开文本语言,即用于创建所引用对象的自然语言编码系统。该语言定义已编写为 ISO 639 语言代码(大写两个字母)。 EN 默认。英语。
       - URL:指定所引用对象的位置

2 各DOCTYPE类型说明

HTML 4.01有3种文档类型:strict、transitional和frameset。XHTML 1.1有一种文档类型,但XHTML1.0有3种,就像HTML 4.01一样,HTML文档中只能选择一种文档类型定义,可

以使用下列的任何一种:

A HTML
a HTML 4.01 Strict DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"  "http://www.w3.org/TR/html4/strict.dtd">

strict DOCTYPEs是默认的文档声明, 对构造HTML 4.01和XHTML 1.0都适用,文档服从HTML 4.01的严格文件类型描述,
这个标准是严格结构化的,将所有涉及表现的东西移出文档外,然后使用CSS来实现它,格式化. 它让浏览器使用它们最严格、(一定程度上)最符合标准的模式来渲染页面.在Strict DOCTYPEs下不支持的标签, (表格相关的支持:col, colgroup, tbody, td, tfoot, th, thead, and tr) language background bgcolor border (table支持) height (img和object支持) hspace name (在HTML 4.01 Strict中支持,XHTML 1.0 Strict中的form和img不支持) noshade nowrap target text, link, vlink, 和alink vspace width (img, object,table, col, 和 colgroup都支持)

b HTML 4.01 Transitional DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">

这个声明是过渡文件类型描述是向严格的文件类型描述过渡的缓冲,过渡类型允许你在文档中使用表现元素和属性,
但是这不是W3C联盟所期望的。如果你的访问者浏览器不支持CSS,可以使用这种类型。

c HTML 4.01 Frameset DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"  "http://www.w3.org/TR/html4/frameset.dtd">

这个声明是框架集文件类型描述则针对包含框架元素的网页。这个类型和过渡类型没有什么区别,除了将frameset取代了body元素.

B XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。

XHTML Strict DTD
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


XHTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。
如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


XHTML Frameset DTD

当您希望使用框架时,请使用此 DTD!
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">


如需检查你是否编写了带有正确 DTD 的合法 XHTML 文档,您可以把您的 XHTML 页面链接到一个 XHTML 验证器。

d XHTML 1.1 DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

这是使用了XHTML 1.1文档类型定义的一个基本页面,页面中包含要求的head、body和html标签。
<
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html>
<head>
<title>XHTML DTD</title>
</head>
<body>
<p>XHTML requires having a DTD in every document otherwise it won't pass muster with the validators.</p>
</body>
</html>


3  我们选择什么样的DOCTYPE?
理想情况我们因该选择严格型的DTD,但对于目前多数设计师来说Transitional(过渡型)是理想选择(非框架页面)。因为这种DTD还允许我们使用表现层的标识、元素和属性(例如font,b,center等纯粹用于控制表现的标签以及align,bgcolor等属性),也比较容易通过W3C的代码校验。
分享到:
评论

相关推荐

    学生网页制作

    &lt;li&gt;&lt;a href="#"&gt;联系我们&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;加入收藏&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;设为首页&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt; &lt;div id="middle"&gt; &lt;div id="logo"&gt; &lt;div id="logo_left"&gt; &lt;img src="images/logo....

    网页 DOCTYPE html标签的作用1

    DOCTYPE&gt; 声明位于文档中的最前面的位置,处于 &lt;html&gt; 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。如果不写,可能会造

    h4界面开发

    &lt;li&gt;&lt;a href="#"&gt;工程建设领域项目信息和信用信息公开&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;濮阳日报规划专版&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;党风廉政建设&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;!--/ztlm --&gt; &lt;h1 class="n"&gt;网上服务&lt;a href="#"&gt;...

    DOCTYPE类型详细介绍

    我们在HTML里面声明DOCTYPE...DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Stric

    弹力球代码

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta ...

    2天掌握DIV+CSS网页制作技术

    内嵌方式就是将CSS代码写在&lt;head&gt;&lt;/head&gt;之间,并且用&lt;style&gt;&lt;/style&gt;进行声明,例如:  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

    XHTML 1.0帮助文档

    web标准开发必备,初学者手册。 &lt;!DOCTYPE&gt; 声明位于文档中的最前面的位置,处于 &lt;html&gt; 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

    ASP寻物系统

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta ...

    用ASP获取驱动器名称

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta ...

    ITATHTML复习题

    请你编写一个CSS文件,用于改变&lt;p&gt;标签中文字的大小,和颜色。并在相关页面内写出完整的链接语句 HTML中的代码: &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

    22个HTML5 技巧一

    上面这个既麻烦又难记的XHTML文档类型你还在使用吗? 如果还是这样的话,现在该切换到新的HTML5文档类型了。 &lt;!DOCTYPE html&gt; 现在只要这么简单的15个字符就可以了。(注意:你的doctype的申明需要出现在你html文件...

    open lacal

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta ...

    PDFObject在线载入PDF

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta ...

    jsp考试题目

    &lt;th&gt;书号&lt;/th&gt;&lt;th&gt;书名&lt;/th&gt;&lt;th&gt;作者&lt;/th&gt;&lt;th&gt;出版社&lt;/th&gt;&lt;th&gt;图书价格&lt;/th&gt;&lt;th&gt;出版日期&lt;/th&gt; &lt;% String name=(String)session.getAttribute("name"); String condition=(String)session.getAttribute(...

    对话框实例

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta ...

    Jquery实验报告.doc

    doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;无标题文档&lt;/title&gt; &lt;script src="script/jquery-1.8.1.min.js" type="text/javascript"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;input type="text" id="address" ...

    编辑器源码下载,电信项目中用到过

    &lt;title&gt;无标题文档&lt;/title&gt; &lt;style type="text/css"&gt; &lt;!-- body,td,th { font-size: 12px; } body { margin: 0px; padding:5px; line-height:18px; color:black; height:90%; } --&gt; &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;/body...

    在线购物网站制作与设计

    &lt;p&gt;&lt;strong&gt;&lt;span id="span_text"&gt;系统会在&lt;span id="span_timer"&gt;3&lt;/span&gt;秒后,自动跳转到如下网址:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt; &lt;a id="a_url" href="http://download.csdn.net/" class="font_red"&gt;...

    JavaScript Table行定位效果

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;body&gt; &lt;table cellpadding="5" ...

Global site tag (gtag.js) - Google Analytics