`

DOCTYPE中HTML和XHTML之间的区别

 
阅读更多

XHTML文档必须具有良好完整的排版(well-formed)

编排良好性(Well-formedness)是XML引入的一个新概念.从本质上说,元素必须有结束标签,或者必须以特殊方式书写,而且元素必须嵌套.

尽管SGML规定重叠(overlapping)是非法的,但现有的浏览器普遍允许重叠.

正确:嵌套元素(nested elements)

<p>梦之都 <em>XHTML教程</em>.</p>

不正确:层叠元素(overlapping elements)

<p>梦之都 <em>XHTML教程</p>.</em>

元素和属性名必须小写

对于所有HTML元素属性名, XHTML文档必须使用小写. 因为XML是大小写敏感的.如 <li><LI> 是不同的标签.

对非空元素,必须使用结束标签

在基于SGML的HTML4中的一些隐含结束意义的元素允许忽略结束标签.XML不允许忽略结束标签.除了在DTD中被声明为空的元素,所有元素必须有结束标签.

正确:结束的元素(terminated elements)

<p>梦之都的XHTML教程.</p><p>梦之都的CSS教程.</p>

不正确:未结束的元素(unterminated elements)

<p>梦之都的XHTML教程.<p>梦之都的CSS教程.

属性值必须在引号中

所有的属性值必须在引号中,即使是以数字形式的属性值

正确:在引号中的属性值(quoted attribute values)

<table rows="3">

不正确:不在引号中的属性值(unquoted attribute values)

<table rows=3>

属性最小化

XML不支持属性最小化.属性-属性值必须完整成对的写出.像disabled,checked这样的属性名不能在不指定属性值的情况下出现.

正确:非最小化属性(unminimized attributes)

<input checked="checked">

不正确:最小化属性(minimized attributes)

<input checked>

空元素

空元素必须有结束标签,或者起始标签必须以/>结束.例如,<br/><hr></hr>.参看HTML兼容性指导HTML Compatibility Guidelines中的信息,以保证向后兼容HTML 4用户代理程序.

正确:结束的空元素(terminated empty elements)

<br/><hr/>

错误:未结束的空标签(unterminated empty elements)

<br><hr>

属性值中的空白字符处理

用户代理处理属性值时将根据XML的下面方法操作Section 3.3.3:

  • 删去引导和后序空白符
  • 将一个或多个空白符(包括换行)转换成单个字符间空间

Script and Style 元素

XHTML中,scriptstyle元素被声明为#PCDATA内容形式,因此,<和&被看作是标识的开始,&lt和&amp等HTML实体将被XML处理器看作为实体引用而分别被认为是<和&.将scriptstyle元素的内容隐蔽在CDATA标记中避免了这些实体的扩张.

<script>
<![CDATA[
... unescaped script content ...
]]>
</script>

CDATA部分被XML处理器识别,表现为文档对象模型中的一个结点.参看Section 1.3的DOM LEVEL 1推荐标准[DOM].

替代的方式是使用外部script和style文档.

SGML排斥

SGML给作者的DTD可以指定在一个元素内部禁止出现的元素.这样的禁止在XML中是不可能的.

例如,严格的HTML 4 DTD"禁止"任何深度的'a'元素对另一'a'元素的嵌套.在XML中无法写出这些的"禁止".虽然这些禁止不能被定义在DTD中,但是一些元素不应该被嵌套.对不能被嵌套的元素Element Prohibitions的总结.

具有'id'和'name'属性的元素

HTML4定义了name属性的元素有a,applet,form,frame,iframe,img and map.HTML4还引入了id属性.这两个属性都是被设计用为片段标识符.

在XML中,片段标识符是ID,每个元素只能有一个ID类型的属性.因此,在XHTML1.0中,id属性被定义为ID类型.为保证XHTML1.0文档是结构良好(well-structured)的XML文档,在定义一个片段标识符时,XHTML文档必须使用id属性,即使是对那些以前用name属性的元素.参看 HTML Compatibility Guidelines,确保XHTML文档以text/html媒体类型使用时,这些"锚(anchors)"能向后兼容.

注意,在XHTML 1.0中,name属性是不赞成使用的,在以后的XHTML版本中将被删除.

总结:

  • 标签不能重叠,可以嵌套
  • 标签与属性都要小写
  • 标签都要有始有终,要么以</p>形式结束,要么以<br />形式结束
  • 每个属性都要有属性值,并且属性值要在双引号中
  • 别用nameid
分享到:
评论

相关推荐

    DOCTYPE 中xhtml 1.0和 html 4.01区别分析

    经常会用到DOCTYPE,常用的有xhtml 1.0和html 4.01,总结了下他们之间的区别

    newsmlvalidator:NewsML-G2 + XHTML + 微数据 + NITF 验证器

    4 步 NewsML-G2 + XHTML5 + 微数据 + NITF 验证器 这个怎么运作 ...您可以在多种服务之间进行选择来验证 HTML5 和微数据。 请记住将正确的 doctype 定义添加到您的 XHTML 文档中,以便验证器识别这是

    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; ; left:100px;"&gt; &lt;td&gt;1 &lt;td&gt;2 ...

    JS简单生成两个数字之间随机数的方法

    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 ...

    JS基于正则截取替换特定字符之间字符串操作示例

    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网页制作技术

    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;    ...

    初学者接触HTML了解一些HTML标记(1)

    初学者接触HTML了解一些HTML标记,陆续介绍,可以帮初学者学习HTML,或者已经入门的...–”与“–&gt;”之间的内容将不在浏览器中显示。2————————————————————————-&lt;!DOCTYPE&gt;说明:描述文件

    jquery中的查找parents与closest方法之间的区别

    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;

    《CSS设计彻底研究》光盘源码

     1.1.3 XHTML与HTML的重要区别   1.2 (X)HTML与CSS   1.2.1 CSS标准简介   1.2.2 在HTML中引入CSS的方法   1.3 基本CSS选择器   1.3.1 标记选择器   1.3.2 类别选择器   1.3.3 ID选择器  ...

    css设计彻底研究 源代码

     1.1 HTML与XHTML 1.1.1 追根溯源 1.1.2 DOCTYPE(文档类型)的含义与选择 1.1.3 XHTML与HTML的重要区别 1.2 (X)HTML与CSS 1.2.1 CSS标准简介 1.2.2 在HTML中引入CSS的方法 1.3 基本CSS选择器 ...

    javascript实现跳转菜单的具体方法

    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...

    《CSS设计彻底研究》【中文PDF+源代码】

    1.1.3 XHTML与HTML的重要区别 1.2 (X)HTML与CSS 1.2.1 CSS标准简介 1.2.2 在HTML中引入CSS的方法 1.3 基本CSS选择器 1.3.1 标记选择器 1.3.2 类别选择器 1.3.3 ID选择器 1.4 复合选择器 ...

    ASP.NET的网页代码模型及生命周期

    在ASP.NET中,可以创建ASP.NET网站和ASP.NET应用程序,但是ASP.NET网站和ASP.NET应用程序开发过程和编译过程是有区别的。ASP.NET应用程序主要有以下特点: q 可以将ASP.NET应用程序拆分成多个项目以方便开发,管理和...

    js实现两点之间画线的方法

    本文实例讲述了js实现两点之间画线的方法。...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/1

    关于div与div的区别小结

    两者之间的区别:例如div span得到的是div下所有的span元素,而div&gt;span则是取得的div下第一级的span元素。 示例代码如下: XML/HTML Code复制内容到剪贴板 &lt;!DOCTYPE html&gt;  &lt;html lang=en xmlns=...

    jQuery制作可自定义大小的拼图游戏

    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 ...

    css 横向菜单实现代码

    DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”&gt; &lt;html xmlns=”http://www.w3.org/1999/xhtml” lang=”en-US”&gt; &lt;head&gt; &lt;...

    css中使用ul li ul li ul li ul li 实现四层级联菜单

    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;title&...

    ASP.NET 绑定DataSet中的多个表

    这个问题,平时很少看到,...DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt; [removed] protected void Page_Load(object sender,

Global site tag (gtag.js) - Google Analytics