`

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的代码校验。
分享到:
评论

相关推荐

    网页 DOCTYPE html标签的作用1

    DOCTYPE&gt;` 是一个非常重要的声明,它的主要作用是告诉浏览器文档遵循的HTML或XHTML规范版本,以便浏览器能够正确地解析和渲染页面内容。这个声明位于HTML文档的开头,且必须在 `&lt;html&gt;` 标签之前。 `&lt;!DOCTYPE html...

    HTML !DOCTYPE 标签.docx

    DOCTYPE&gt;`标签是文档类型声明,它在HTML或XHTML文档的开头,用于告诉浏览器文档遵循的HTML或XHTML规范。这个声明非常重要,因为它会影响浏览器如何解析和渲染页面内容。`&lt;!DOCTYPE&gt;`标签没有闭合标签,即它不需要以`...

    HTML5程序设计学习笔记

    DOCTYPE html&gt;`,适用于所有类型的HTML5文档。 ##### **1.4 常用的`&lt;!DOCTYPE&gt;`声明示例** - **HTML5**:`&lt;!DOCTYPE html&gt;` - **HTML4.01 Strict**:`&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ...

    HTML基础知识.pdf

    DOCTYPE&gt;标记为所有的XHTML文档指定XHTML版本和类型,只有这样浏览器才能将该网页作为有效的XHTML文档,并按照指定的文档类型进行解析。 2. &lt;html&gt;&lt;/html&gt;标记 &lt;html&gt;标记位于&lt;!DOCTYPE&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;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

    DOCTYPE HTML 是HTML文档中的一个重要声明,它告诉浏览器文档遵循的HTML或XHTML规范。这个声明位于HTML文档的开头,通常在`&lt;html&gt;`标签之前。它的作用在于确保浏览器以正确的方式解析和渲染网页内容。 在没有...

    DOCTYPE文档类型声明

    DOCTYPE文档类型声明是HTML或XHTML文档中的一个重要组成部分,它位于文档的最顶部,用于告知浏览器文档遵循的规范和标准。DOCTYPE声明不是HTML或XHTML的一部分,而是引用了一个外部的文档类型定义(DTD),这个DTD...

    HTML 元素与合法的 Doctype.docx

    例如,`&lt;a&gt;`、`&lt;p&gt;`、`&lt;div&gt;`等元素在所有列出的DOCTYPE中都是合法的,而`&lt;applet&gt;`仅在HTML 4.01中被支持,不适用于XHTML 1.1。 理解DOCTYPE对于编写兼容性良好的HTML代码至关重要,因为它会影响浏览器的渲染模式...

    wml xhtml 样例

    DOCTYPE&gt;`声明了文档类型,`&lt;wml&gt;`是WML文档的根元素,而`&lt;card&gt;`定义了一个卡片,其中包含一个简单的文本段落`&lt;p&gt;`。 **XHTML** XHTML结合了HTML的易用性和XML的严格语法规则,使得内容更易于解析和处理。XHTML...

    HTML &lt;!DOCTYPE&gt; 标签

    DOCTYPE是HTML或XHTML文档的重要组成部分,用于定义文档所遵循的标准和版本。它是一个指令,告诉Web浏览器文档应该被解析的方式。DOCTYPE声明位于HTML文档的顶部,通常在`&lt;html&gt;`标签之前。 在不同的浏览器中,如果...

    XHTML 1.0帮助文档

    DOCTYPE&gt;声明位于文档的开头,即在&lt;html&gt;标签之前。这个声明的作用是告诉浏览器文档遵循的特定HTML或XHTML规范。例如,对于XHTML 1.0,一个常见的&lt;!DOCTYPE&gt;声明如下: ```xml &lt;!DOCTYPE html PUBLIC "-//W3C//DTD ...

    html/xhtml

    DOCTYPE&gt;`声明开始,定义了文档类型。接着是`&lt;html&gt;`元素,它是整个文档的根元素。`&lt;head&gt;`部分包含了元信息,如页面标题、字符编码、CSS样式表引用等。`&lt;body&gt;`部分则包含用户在浏览器中看到的实际内容。 ```html ...

    html标题_DOCTYPE的含义

    **DOCTYPE声明**是HTML或XHTML文档中的一个重要组成部分,它位于文档的第一行,用来告诉浏览器文档应遵循哪个版本的HTML或XHTML规范。这个声明对于确保网页在不同浏览器上的一致性和正确渲染至关重要。 DOCTYPE声明...

    HTML 4.01 / XHTML 1.0 参考手册

    * 定义和用法:&lt;tt&gt;、&lt;i&gt;、&lt;b&gt;、&lt;big&gt;、&lt;small&gt; 均是字体样式元素。 * 功能:&lt;tt&gt; 呈现类似打字机或者等宽的文本效果。&lt;i&gt; 显示斜体文本效果。&lt;b&gt; 呈现粗体文本效果。&lt;big&gt; 呈现大号字体效果。&lt;small&gt; 呈现小号字体...

    javascript代码应当放在html代码哪个位置比较好_.docx

    如果HTML文档声明为XHTML格式,那么在使用`&lt;script&gt;`标签时需要特别注意。在严格的XHTML中,`&lt;script&gt;`标签必须包含在CDATA部分内,否则XHTML解析器可能会将`&lt;script&gt;`标签误认为是XML标签的一部分,导致JavaScript...

    XHTML教程

    DOCTYPE&gt;`定义文档类型和版本,例如`&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;`。 ```xhtml &lt;!DOCTYPE html PUBLIC "-//W3C//...

    HTML 的简介!!!!

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;`:声明文档类型为 XHTML 1.0 中文编码: * `&lt;meta charset="UTF-8"&gt;`:声明字符编码...

    WEB开发 之 XHTML DTD.docx

    在每个XHTML文档的开头,必须包含一个文档类型声明(DOCTYPE),它的作用是告诉解析器文档遵循哪种DTD。例如,一个XHTML Strict文档的DOCTYPE声明可能如下所示: ```html &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML...

Global site tag (gtag.js) - Google Analytics