当前位置: 首页 > 图文教程 > 网络编程 > Javascript > XML+XSL 与 HTML 两种方案的结合

Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
JS Array对象入门分析
javascript typeof的用法与typeof运算符介绍[详细]
js CSS操作方法集合
让任务管理器中的CPU跳舞的js代码
ajax无刷新动态调用股票信息(改良版)
js Clip的奇思妙想之文字拼接效果
js Clip奇思妙想之多彩渐变字效果
JS 创建对象(常见的几种方法)
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
JS提交并解析后台返回的XML的代码
初学Javascript的一些总结
JS 继承实例分析
js form action动态修改方法
仿163填写邮件地址自动显示下拉(无优化)
js判断对象是否是某一类型
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
js 目录列举函数
js颜色选择器代码[firefox不支持]
js wmp操作代码小结(音乐连播功能)

Javascript 中的 XML+XSL 与 HTML 两种方案的结合


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 260 ::
收藏到网摘: n/a

目前内容管理系统,展现给客户端具体数据的方式主要是:XML+XSL 或者 Html 两种方式。以CSDN为例,目前这两种方式都存在。比如:论坛,我们用的是XML+XSL 方式,文档中心我们用的是SHTML 方式。

根据我的使用心得。XML+XSL 的方式,优点在于:数据层跟展现分开了。XML定义数据,XSL定义显示。比较明显的缺点就是 1、有些用户在装了某些XML编辑器后,客户端解析XML+XSL就会出问题,用户直接看到的就是XML代码,不时总有人抱怨自己没法看CSDN的论坛了。原因基本上都是这些。(这个问题难以克服)2、进行复杂逻辑运算XML+XSL 比较差,一些复杂的逻辑运算会占用客户端很大的资源。比如在目前CSDN 论坛基础上实现支持UBB的功能。就很复杂。如果这个UBB的展现运算是客户端进行的,是任何人都无法忍受的。3、Google 不支持对XML 文件的检索。

使用Html的方式,优点很简单,给的用户就是需要展现的东西。缺点就是提取有效数据比较复杂。

今天在跟 “风之子” 交流内容、新闻系统如何展现的时候,我突然想起,我们可以同时利用XML+XSL和HTML的优点来做。具体做法就是把一些复杂的逻辑运算进行服务器段转换,把这些转换为HTML代码,然后把这些转换后的内容保存到XML数据的 <![CDATA[ ]]> 节。而展现给用户的是XML+XSL方式,但是这种方式客户端没有复杂的逻辑运算。用户端解析的压力不是很大,一些复杂的功能这样就可以实现,比如在CSDN论坛上支持UBB等复杂功能。

以前我一直反对在CSDN论坛支持UBB,一个重要原因就是会给客户段增加压力。现在可以通过上面提到的整合进HTML的XML+XSL 方案应对这个问题。下一代的CSDN 论坛就可以这么做了。不过另外一个原因是,技术交流的BBS,有必要做那么花哨么??尤其是很多人在自己的签名中,增加很大的字体,很特殊的图片,会不会带来跟多的问题??

HTML中整合进XML的方式,就是数据岛的方式,这个的应用范例可以看大富翁论坛。那就是一个很有代表性的应用数据岛的方式。打开某个CSDN 论坛,左边的树会自动同步功能,也是用的数据岛记录需要同步到那个节点的数据。

另:Shtml 的方式,其实就是支持Include 的Html。 你可以在Shtml中使用Include 包含一些htm文件。

百度可以找到CSDN论坛的XML帖子:
http://www.baidu.com/baidu?lm=0&si=&rn=10&ie=gb2312&ct=0&word=site%3Aexpert%2Ecsdn%2Enet+%BD%AF%EA%C9&cl=2