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


Posted in Javascript onApril 22, 2007

 目前内容管理系统,展现给客户端具体数据的方式主要是: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

Javascript 相关文章推荐
jQuery 源码分析笔记(6) jQuery.data
Jun 08 Javascript
js单向链表的具体实现实例
Jun 21 Javascript
js调试系列 源码定位与调试[基础篇]
Jun 18 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
May 03 Javascript
详解JavaScript节流函数中的Throttle
Jul 16 Javascript
jQuery表单对象属性过滤选择器实例详解
Sep 13 Javascript
D3.js实现饼状图的方法详解
Sep 21 Javascript
jQuery网页定位导航特效实现方法
Dec 19 Javascript
支持移动端原生js轮播图
Feb 16 Javascript
jQuery布局组件EasyUI Layout使用方法详解
Feb 28 Javascript
jquery实现图片放大点击切换
Jun 06 jQuery
laravel实现中文和英语互相切换的例子
Sep 30 Javascript
用javascript实现的图片马赛克后显示并切换加文字功能
Apr 21 #Javascript
JS Timing
Apr 21 #Javascript
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
Apr 21 #Javascript
JS 建立对象的方法
Apr 21 #Javascript
如何做到打开一个页面,过几分钟自动转到另一页面
Apr 20 #Javascript
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
Apr 20 #Javascript
在textarea中显示html页面的javascript代码
Apr 20 #Javascript
You might like
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
PHP概率计算函数汇总
2015/09/13 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
php格式化时间戳
2016/12/17 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
js cookies实现简单统计访问次数
2009/11/24 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
jQuery中removeData()方法用法实例
2014/12/27 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
python线程中同步锁详解
2018/04/27 Python
tensorflow 打印内存中的变量方法
2018/07/30 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
python sorted方法和列表使用解析
2019/11/18 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
高中生期末评语大全
2014/01/28 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
毕业生班级鉴定评语
2015/01/04 职场文书
退货证明模板
2015/06/23 职场文书
大学校园招聘会感想
2015/08/10 职场文书
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js