HTML4.0与XHTML1.0真正的区别在哪里?

  
  文档必须是编排良好的
  XHTML是XML的一个应用,一些在基于SGML的HTML 4中完全合法的习惯在XHTML中必须改变。编排良好性Well-formedness是[XML]引入的一个新概念。从本质上说,这意味着元素必须有结束标签,或者必须以特殊方式书写(在下面说明)。
  元素必须嵌套,尽管SGML规定层叠非法,但现有的浏览器普遍允许层叠。
  正确:嵌套元素。
  <p>here is an emphasized <em>paragraph</em>.</p>
  不正确:层叠元素。
  <p>here is an emphasized <em>paragraph.</p></em>
  元素和属性名必须小写
  对所有HTML元素和属性名,XHTML 文档必须使用小写。
因为XML是大小写敏感的,所以这个差别是必须的。如 <li> 和 <LI> 是不同的标签。
  对非空元素,必须使用结束标签
  在基于 SGML的 HTML 4 中,一些隐含结束意义的元素允许忽略结束标签。而在基于XML的XHTML中,这种忽略不被允许。除了在DTD中被声明为空的元素,所有元素必须有结束标签。
  正确:结束了的元素。
  <p>here is a paragraph.</p><p>here is another paragraph.</p>
  不正确:未结束元素。
  <p>here is a paragraph.<p>here is another paragraph.
  属性值必须在引号中
  所有的属性必须用引号,即使是数字。
  正确:在引号中的属性值
  <table rows="3">
  不正确:不在引号中的属性值。
  <table rows=3>
  属性最小化
  XML 不支持属性最小化. 属性值对必须写全。象compact,checked这样的属性名不能不指定属性值而在元素中出现。
  正确:没有最小化的属性
  <dl compact="compact">
  不正确:最小化属性
  <dl compact>
  空元素
  空元素要么必须有结束标签,要么起始标签以/>结束. 例如,<br/>或<hr></hr>. 请参看HTML兼容性指导 HTML Compatibility Guidelines 中的信息,以保证向后兼容HTML 4用户代理程序

时间: 2024-09-16 21:43:34

HTML4.0与XHTML1.0真正的区别在哪里?的相关文章

通过W3C XHTML1.0标准验证经验分享

总结出通过W3C XHTML1.0标准需要注意的九个问题: 一.在 <div class=tzh>I am TZH!</div> 这段语句中有什么错误? 标点符号问题.这其实也是大家最容易忽视的问题,其实就是小小的两个引号,就造成了这个错误.虽然很多浏览器在不加引号的情况下仍然能正确识别渲染.但是这样想要通过严格的W3C XHTML国际标准是不可能的,请大家记住等号后面一定要接引号.正确写法:<div class="tzh">I am TZH!<

XHTML1.0及CSS标准必须注意的九个问题

 一.在 <div class=tzh>I am TZH!</div> 这段语句中有什么错误? 标点符号问题.这其实也是大家最容易忽视的问题,其实就是小小的两个引号,就造成了这个错误.虽然很多浏览器在不加引号的情况下仍然能正确识别渲染.但是这样想要通过严格的W3C XHTML国际标准是不可能的,请大家记住等号后面一定要接引号.正确写法:<div class="tzh">I am TZH!</div>   二.在 <SPAN clas

vs2012-VC++6.0的MFC与VS2012的区别

问题描述 VC++6.0的MFC与VS2012的区别 VC++6.0绘图的时候的WM LBUTTONDOWN在VS2012中怎么找不到?或者说用VC++6.0绘图的操作方法,应该在VS2012怎么转变?本人菜鸟一枚,VS2012太大了,完全不懂--求帮助-- 解决方案 就你说的这个消息,MFC 11.0(VS2012带的)当然也是支持的.只是VS新的IDE,相比较VC6的Developer Studio有很多操作上的变化,需要适应. MFC11主要的变化是新增了一些从BCG买来的控件,它们可以使

sql查询-select count(0) 和select count(*) 有什么区别

问题描述 select count(0) 和select count(*) 有什么区别 两者之间查出的结果都一样 ,敢问这两者有什么区别吗...... 解决方案 http://www.cnblogs.com/CareySon/p/DifferenceBetweenCountStarAndCount1.html 仅供参考 解决方案二: select count(*)问题select count(*)和select count(1)的区别 解决方案三: 据说有区别,比如count(*)全表扫描之类的

vb-VB 6.0关于Set和Dim的区别的问题

问题描述 VB 6.0关于Set和Dim的区别的问题 VB 6.0关于Set和Dim的区别的问题,Set s$=Text1为什么就不可以,但是Set s=Text1就可以呢? 解决方案 s是对象,s$是字符串,字符串不能等于控件,只能等于text1.text

《操作系统真象还原》——0.21 Section和Segment的区别

0.21 Section和Segment的区别 C程序大体上分为预处理.编译.汇编和链接4个阶段.预处理阶段是预处理器将高级语言中的宏展开,去掉代码注释,为调试器添加行号等.编译阶段是将预处理后的高级语言进行词法分析.语法分析.语义分析.优化,最后生成汇编代码.汇编阶段是将汇编代码编译成目标文件,也就是转换成了目标机器平台上的机器指令.链接阶段是将目标文件连接成可执行文件.这里我们只关注汇编和链接这两个阶段. 在汇编源码中,通常用语法关键字section或segment来表示一段区域,它们是编译

ajax-MSXML2.XMLHttp.6.0与 Microsoft.XMLHTTp有什么区别?

问题描述 MSXML2.XMLHttp.6.0与 Microsoft.XMLHTTp有什么区别? 今天看到有两种IE创建XMLHttpRequset对象的方式,不知道哪种正确,哪位能解惑一下,谢谢: 第一种: if(window.ActiveXObject){ var version = [ 'MSXML2.XMLHttp.6.0', 'MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp' ]; for(var i=0; i<version.length; i++){ tr

Python3.0与2.X版本的区别实例分析_python

本文通过列举出一些常见的实例来分析Python3.0与2.X版本的区别,是作者经验的总结,对于Python程序设计人员来说有不错的参考价值.具体如下: 做为一个前端开发的码农,最近通过阅读最新版的<A byte of Python>并与老版本的<A byte of Python>做对比后,发现Python3.0在某些地方还是有些改变的.之后再查阅官方网站的文档,总结出一下区别: 1. 如果你下载的是最新版的Python,就会发现所有书中的Hello World例子将不再正确. Py

电脑的USB3.0与USB2.0有什么区别

usb是什么? USB,是英文Universal Serial Bus(通用串行总线)的缩写,而其中文简称为"通串线",是一个外部总线标准,用于规范电脑与外部设备的连接和通讯.是应用在PC领域的接口技术.USB接口支持设备的即插即用和热插拔功能.USB是在1994年底由英特尔.康柏.IBM.Microsoft等多家公司联合提出的. 下一代USB接口将会有改动方向,下一代的Type-C USB接口,可支持正反两面插,并且传输数据信号强,但目前(2014年)生产商有限 USB3.0与USB