• HOME
  • DOCS
  • WTF
  • TECH
  • LIFE
  • PAGES
    • ARCHIVE
    • TAGS
    • ABOUT
    • FRIENDS
    • RSS
  • TOOLS
    • GEO
    • RANDOM()
    • GOO.GL
    • CSS HEART
Aj's Blog

记录时间溜走的瞬间和折腾过的那些事

HTML、XHTML、XML有什么区别?
2011-12-19 @ TECH

文章来源:http://www.baifeng.me/web/design/2010/03/1293/

一、什么是HTML、XHTML、XML?

HTML全名Hyper Text Markup Language,也就是超文本标记语言,隶属于SGML的一部分。

SGML是一个了不起的东西,可以描述任何语言,但也十分抽象,基本做不了什么东西,但由它衍生出来的子集却极大地推动了Web生产力。

其中最著名的就是HTML和XML,所以这两个标记语言是同宗的。

HTML语言诞生很早,最初只是一个个链接把网页关联起来,功能很简单,后来经过十多年的发展,到现在出问题了。

HTML的语法结构很松散,主要为了早期程序员上手方便,以及降低上手门槛,让那些不懂编程的人也可以做网页,所以HTML更偏重于自然人的理解方式,不仅语法松散,而且很多地方模糊不清。

实际上,网页的终极标记语言是XML,但XML结构复杂,语法严谨,学习起来相对现行的HTML也比较困难,尤其在早期标准不统一的年代,XML没法立即铺开。

后来W3C经过多方的努力吧,想出一个折衷的办法,就是XHTML,扩展的HTML。

也就是适当地、逐步地向HTML加入XML的标准。

让开发人员有一个过渡。

这一过渡已经持续了十几年。

所以HTML 5虽然宣传的天花乱坠,但要想成为主流,路还很长很长。

二、XHTML和HTML的区别

既是扩展,当然主要内容还是一样的,只不过语法方面更严格了。

比如区分大小写,HTML是不区分的,XHTML 1.0开始建议Web程序员在编写标签名时一律用小写,所有属性值都要用引号包括,所有标签都要关闭等等。

举个简单的例子就是,<IMG SRC=IMAGE.JPG>这是HTML 4的写法,但XHTML 1.0这么写虽然不至于报错,但是不提倡,正确的写法应该是<img src=”image.jpg” />,最后的/>表示即便是像<img> 这种单身标签也是要关闭的,方法就是在结束括号前加/。

优秀的程序员都应该养成良好的编码习惯,不仅提高效率、便于维护,程序执行起来也减少歧义。

就比如属性值用引号,因为有的属性值中间会有空格,如果没有引号的话,浏览器可能会理解为两个属性。

除此之外,XHTML还废弃了一些标签,比如<font>,但目前还是可以支持,并且建议一切表现相关的,就是和外观有关系的东西都用CSS实现,XHTML只做内容和框架。

这就是为什么经典的<marquee>被废弃的原因,这一个标签就可以完成华丽的滚动效果,但也因此被废弃。

W3C坚持的原则就是,XHTML标签只做框架,CSS只做样式,而行为则交予JavaScript来处理。

CSS也有过表达式可以执行运算,但没有铺开,和滤镜一样都废弃了。

类似这些舍本逐末的规则,实际上帮了程序员的大忙。

Ajax就是在这个总体的战略方针下诞生的。

三、现在的主流和未来的趋势

业界已经基本完成了从HTML 4到XHTML 1的过渡,确切地说是XHTML 1.1 Transitional和XHTML 1.0 Strict。

著名的禅意花园用的就是XHTML 1.0 Strict。这两个版本的区别就是刚刚也提到了,XHTML 1.1 Transitional虽然废弃了一些诸如<font>的标签,但态度比较温和,还是可以继续使用,而XHTML 1.0 Strict则更加严格,而且更倾向于XML那种具有语义的标签和属性。

未来的趋势,我们可能很自然地会联想到XHTML 2.0,似乎HTML因为本身的原因已经退出历史舞台了,但最近HTML 5高调复出,似乎为这个已经平静的局势增添了许多不确定性。

(1) XHTML 2.0

XHTML 2.0项目启动很早,早在XHTML 1.1 Transitional发布后不久的2001年就开始着手制订了,而且W3C的标准都是建议级的,没有强制规定说浏览器必须这么做,所以到目前为止,没有任何一款浏览器能够完全符合W3C标准,尽管某些厂商或媒体这么宣传,但实际上都做不到100%。

第一份XHTML 2.0标准草案在2002年就发布了,但完成度很低,内容也不标准,而且此后的工作进展很迟缓,有的问题到现在也还没有达成一致。

2009年底时候W3C解散了XHTML 2.0工作组

在2004年的时候,业界的一些好事者吧,联合热心的投资人、浏览器厂商、网页设计师、开发人员甚至普通用户,反正就是梁山好汉吧,自立门户,扬言要制订自己的标准,不跟W3C玩了。

还成立了一个叫WHATWG的组织,全名叫Web超文本应用技术工作组,还真就制订了一份叫Web Application 1.0的协议。

2007年4月,W3C开会以压倒性的投票决定招安,WHATWG并入W3C,继续开发那个带有传奇色彩的Web Aplication,不过后来就改名了,改叫什么了呢?HTML 5!!!

(2) HTML 5

所以说HTML 5实际上和HTML 4没什么关系,甚至和W3C都没什么关系,这就是为什么HTML 5能带来很多和HTML都没什么关系的特性,比如播放视频。

现如今HTML 5已经成为W3C的重点投资项目,与XHTML 2.0并行,也就是说W3C并没打算放弃XHTML 2.0,认为还是有搞头,但问题就来了,一山不容二虎,一个网页不能用两种标准。

相对于XHTML 2.0大跃进式的向XML靠拢,HTML 5则更倾向于创建一种Web应用标准,HTML不应当只是简单的标记,应该赋予浏览器更丰富的应用。

下一篇:   CloudFlare: 免费的CDN加速服务
上一篇:   科普:HTML的发展历史
暂无评论

Cancel reply