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解析XML字符串和XML文件的方法说明
Feb 21 Javascript
Sort()函数的多种用法
Mar 20 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
Nov 10 Javascript
jQuery中$.grep() 过滤函数 数组过滤
Nov 22 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
Dec 21 Javascript
JavaScript实现实时更新系统时间的实例代码
Apr 04 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
Jun 13 Javascript
使用jQuery 操作table 完成单元格合并的实例
Dec 27 jQuery
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
解决vue中修改export default中脚本报一大堆错的问题
Aug 27 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
Nov 03 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
PHP缓存技术的多种方法小结
2012/08/14 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
定义select的边框颜色
2008/04/28 Javascript
javascript 面向对象继承
2009/11/26 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python机器学习之KNN分类算法
2018/08/29 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
python超时重新请求解决方案
2019/10/21 Python
Python二元赋值实用技巧解析
2019/10/25 Python
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
Quiksilver美国官网:始于1969年的优质冲浪服和滑雪板外套
2020/04/20 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
应届大学生求职的自我评价
2013/11/17 职场文书
年度考核自我评价
2014/01/25 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
英文请假条
2014/04/11 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
调研座谈会发言材料
2014/08/23 职场文书
保险公司演讲稿
2014/09/02 职场文书
先进个人事迹材料
2014/12/29 职场文书
体育委员竞选稿
2015/11/21 职场文书
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android