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 引起的安全问题
Dec 27 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
JSON.parse 解析字符串出错的解决方法
Jul 08 Javascript
js和jquery中循环的退出和继续下一个循环
Sep 03 Javascript
在Google 地图上实现做的标记相连接
Jan 05 Javascript
Javascript闭包实例详解
Nov 29 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
Mar 01 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
Dec 12 Javascript
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
js中apply和call的理解与使用方法
Nov 27 Javascript
Python版实现微信公众号扫码登陆
May 28 Javascript
如何通过Proxy实现JSBridge模块化封装
Oct 22 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 中的输出缓冲
2006/12/21 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Python字符串替换实例分析
2015/05/11 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
Python 多核并行计算的示例代码
2017/11/07 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
python交互模式基础知识点学习
2020/06/18 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
致百米运动员广播稿
2014/01/29 职场文书
机械工程师岗位职责
2014/06/16 职场文书
现实表现材料范文
2014/12/23 职场文书
工作保证书
2015/01/17 职场文书
女方离婚起诉书
2015/05/18 职场文书
科级干部培训心得体会
2016/01/06 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
mysql如何能有效防止删库跑路
2021/10/05 MySQL
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS