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 相关文章推荐
js 浮动层菜单收藏
Jan 16 Javascript
jquery中$.post()方法的简单实例
Feb 04 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
Apr 11 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
Angular组件化管理实现方法分析
Mar 17 Javascript
利用types增强vscode中js代码提示功能详解
Jul 07 Javascript
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
vue实现学生录入系统之添加删除功能
Jul 11 Javascript
少女风vue组件库的制作全过程
May 15 Javascript
微信小程序之左右布局的实现代码
Dec 13 Javascript
three.js中多线程的使用及性能测试详解
Jan 07 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 magic_quotes_gpc的使用方法详解
2013/06/24 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
一个简单的php路由类
2016/05/29 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
Javascript 读书笔记索引贴
2010/01/11 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
python中enumerate的用法实例解析
2014/08/18 Python
Python基类函数的重载与调用实例分析
2015/01/12 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
介绍一下gcc特性
2012/01/20 面试题
出纳岗位职责模板
2013/11/27 职场文书
企业法人代表任命书
2014/06/06 职场文书
小学班级特色活动方案
2014/08/31 职场文书
钳工实训报告总结
2014/11/04 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
面试通知单大全
2015/04/20 职场文书
初一年级组工作总结
2015/08/12 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书