对HTML/XHTML/XML/XSL的一些认识

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年或者更久吧。不过互联网谁又知道呢,也许就在明天一切都变了。

  未来不可知,明天太遥远,我们只能有个方向,然后全力把握住今天。

时间: 2024-10-07 19:28:46

对HTML/XHTML/XML/XSL的一些认识的相关文章

如何实现XML+XSL+javascript数据排序

javascript|xml|排序|数据 如何实现XML+XSL+javascript数据排序 数据排序模版<?xml version="1.0" encoding="gb2312" ?><xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/

利用xml+xsl快速生成大量JSP的常用代码的方法.

js|xml 利用xml+xsl快速生成大量JSP的常用代码的方法. 参考Jbuilder的Servlet向导来使用xml+xsl产生JSP的常用代码.xml样本: <?xml version="1.0" encoding="GB2312"?><?xml-stylesheet type="text/xsl" href="jspram.xsl"?><jsp xmlns:xsi="http:

XML+XSL 与 HTML 两种方案的结合_javascript技巧

 目前内容管理系统,展现给客户端具体数据的方式主要是:XML+XSL  或者 Html 两种方式.以CSDN为例,目前这两种方式都存在.比如:论坛,我们用的是XML+XSL 方式,文档中心我们用的是SHTML 方式.         根据我的使用心得.XML+XSL 的方式,优点在于:数据层跟展现分开了.XML定义数据,XSL定义显示.比较明显的缺点就是 1.有些用户在装了某些XML编辑器后,客户端解析XML+XSL就会出问题,用户直接看到的就是XML代码,不时总有人抱怨自己没法看CSDN的论坛

xml+xsl+css制作的静态网站

问题描述 xml+xsl+css制作的静态网站 学校大作业要做一个用xml+xsl+css制作的静态网站,最少10个页面,网上搜了好多没有呀,急急急,怎么办... 解决方案 XML: XSL 解决方案二: 随便找一个同学做的,稍微修改下,就可以胡乱交差了.别告诉我你的同学一个也不会.遇到这种野鸡大学那你就认倒霉吧. 解决方案三: 网上去找吧,还是挺多的,你也可以找到一个,然后跟着改.. 解决方案四: 自己写呗,,,内容可以是一句话,可以是图片,,相对来说简单呀~~~

javascript xml xsl取值及数据修改第1/2页_XML示例

1.example.xml--主要数据文件 <?xml version="1.0" encoding="UTF-8"?> <?xml:stylesheet type="text/xsl" href="example.xsl"?> <projects id="1">     <project title="一级标题1" index="1&

XML+XSL+CSS+ASP打造留言簿

前段时间无意间看到一个博客的RSS可以用XSL格式输出并且能在Firefox里浏览,想到自己以前写的一个XML留言簿因为不兼容Firefox所不了了之了,现在看到他的能在Firefox浏览就觉得很好奇,看了一下代码,一句一句的比对,最后终于找到了原因,也就把这个留言簿给完成了.因为是一个简单的XML留言簿,所以取名SXGB(Simple XML GuestBook). 留言本演示,管理密码为test:http://home.goofar.com/hotheart/gbook/gbook.asp

关于js加载xml,xsl并转换的问题

问题描述 如题.note.xml:<?xmlversion="1.0"encoding="utf-8"?><?xml-stylesheettype="text/xsl"?><root><row><title>fafafa</title><name>fafafafafafaf</name></row></root>note.xsl

JavaScript与XML XSL的综合使用

javascript|xml 1.当用xsl来显示xml内容时,要注意在借助xsl文档来定义样式时:     在html文档中有  <head>    <base href="http://127.0.0.1:7001/MagazineResearchStageWeb/"> 就意味着所引用的xsl等外部文档必须在href目录下.否则就不能引用到外部文档. 2.通过new String来处理xml字符串后, 即var XMLStr=new String(xmlIn

[xml] xml ,xsl,css 之乱搞

css|xml 做了一小段xml.与大家交流.三个文件.(blue.xml blue.xsl blue.css )拷到本地同一目录下. blue.xml: <?xml version='1.0' encoding='GB2312'?><?xml:stylesheet type='text/xsl' href='blue.xsl'?><Topic>  <Issue>    <TopicId>000001</TopicId>    <