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 相关文章推荐
分享一个我自己写的ToolTip提示插件(附源码)
Jan 20 Javascript
JS限制文本框只能输入数字和字母方法
Feb 28 Javascript
Node.js重新刷新session过期时间的方法
Feb 04 Javascript
Bootstrap基本样式学习笔记之按钮(4)
Dec 07 Javascript
codeMirror插件使用讲解
Jan 16 Javascript
微信小程序 自定义Toast实例代码
Jun 12 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
Mar 01 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
js隐式转换的知识实例讲解
Sep 28 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
Jan 08 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
Sep 06 Javascript
vue使用Sass时报错问题的解决方法
Oct 14 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
解析smarty模板中类似for的功能实现
2013/06/18 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
js同时按下两个方向键
2007/12/01 Javascript
javascript parseInt 大改造
2009/09/27 Javascript
js parsefloat parseint 转换函数
2010/01/21 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
js style动态设置table高度
2014/10/21 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
Python操作SQLite简明教程
2014/07/10 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
基于Django统计博客文章阅读量
2019/10/29 Python
python3 字符串知识点学习笔记
2020/02/08 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
销售总监岗位职责
2014/01/04 职场文书
大学生学习自我评价
2014/01/13 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
销售员态度差检讨书
2014/10/26 职场文书
离婚协议书范文
2015/01/26 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
教师节班会主持词
2015/07/06 职场文书