xhtml|xml
xhtml1.X一定是html,而html则不一定是xhtml1.X。那么如果说IE不支持xhtml就等于说IE不支持html,不会吧。所以IE不支持xhtml一说不知何来之有,不过IE不完全支持Css倒是真的,但是,但是css是表现,表现和结构是无关的。xhtml的产生正是因为在html中,表现和结构混为一团,不利于向xml平稳过渡。
如果要说担心,xhtml2.0到值得担心,因为有很多新的东西被加入进来,就需要各浏览器作出相应的支持,不像目前xhtml1.x,浏览器不用变化。但是这种担心或许有点早了,又或许多余了。首先xhtml2.0还处于草案和提议与设计中,而1.X还没有被正确普及开来,时间还长着呢。其次,即便xhtml2.0被确定被推荐,由于不能完全向下兼容,还需要等浏览器跟上节奏,这又是一长段时间。所以完全不用着急,我认为的话,即便xhtml是被视为一种过渡技术,但是仍然有着相当的生命力。
说到这里,想起曾经看过这么一篇文章《了解了XHTML2.0后,有感》(实在找不到原出处),文中最后提出的观点:我的意见是,直接做XML的网页!这样的观点我是不认可的。
再来说表现与结构,老生长谈了,2年前我就推荐过阿捷写得一篇《理解表现与结构相分离》,今天我仍要不遗余力的推荐!文中写出的四个部分,数据,结构,表现,行为。上次我给出一个简单的关系图:
现在我再给出一个更为详细的关系图:
数据和结构是无法分割的整体,脱离了结构的数据几乎不能使用。所以纯数据需要用xhtml或者xml来格式化,展示其结构。具体的阿捷比我说得更清楚。我这里着重谈谈结构。在我的理解里,结构目前划分为两部分,一是语义结构,二是代码结构。语义结构是靠语义产生,代码结构则是面向程序的。XML拥有完美的代码结构,但是却因为高度的可扩展和自定义性,很难拥有语义结构,除非在它的基础上定义一个通用的格式,比如现在很火的RSS。所以在目前通过浏览器上网浏览html的模式下,直接应用xml写网页是无法通用的,也是困难的。而xhtml则是一种折中,它不允许扩展,从而继承html的语义性,拥有现代浏览器都可以识别的语义结构以适应目前互联网应用大环境,同时用xml的规则规范它,让它继承完美的代码结构以便以后顺利过渡。所以我说css相对不重要呢,Web 2.0时代一个标志就是数据跟着用户走,这里的数据当然包括结构,语义结构和代码结构。再说了,css这个东西专心学习,我想一个月足以精通。但是并不代表你页面就能做得很漂亮了,那是设计,和css无关,你敢说1个月精通设计吗?我做了6年设计了,仍觉得欠缺太多,设计难啊!所以从重要性上css比不上xhtml,从技术含金量上,css比不上设计,呵呵好像把css说得一无是处了,我错了我错了,不要骂我了。
至于所谓的xml+xsl,并不是xhtml+css的升级版本,xsl的意义在于转换而非控制表现,xml过于开放了,所以需要xsl来转换,将xml中的语义结构和代码结构转换成不同领域相应的标准结构,比如移动中的WML又或者WEB中的XHTML。所以不要说我要xml+xsl,若你不懂xhtml,转换出看起来像xhtml的html,貌合神离又有什么意义呢。
最后,我认为xhtml一定会代替html(XHTML is aimed to replace HTML),但是不一定被xml所代替,或者就如上所说,有相当的生命力。xml只有数据和结构,它的语义是面向程序的,而不是面向浏览器。如果要全面xml话,首先使用浏览器浏览网页这种上网模式就一定要先转变,再或者浏览器本身的内核会有较大的改变甚至需要重新设计。这两个都不是一蹴而就的事情,所以xml的意义更多在于桥梁,要作为主体目前还不行,不管作为数据的主体(有数据库)还是结构的主体(有xhtml)。因此即便xhtml被视为过渡技术,2000年出生以来,经历了1.0,1.1,现在仍然在向2.0发展,直到所有条件成熟,xml能够全面接管过来。而xhtml的作用就是等到xml能够接管之时,顺利平稳过渡。我个人认为现在谈过渡还早,2003年说99%是过时的,现在呢?2006年了,纠正了多少了?那么,我想,xhtml会再存在3、5年或者更久吧。不过互联网谁又知道呢,也许就在明天一切都变了。
未来不可知,明天太遥远,我们只能有个方向,然后全力把握住今天。