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 select下拉框操作的一些说明
Apr 02 Javascript
分析了一下JQuery中的extend方法实现原理
Feb 27 Javascript
Javascript函数式编程简单介绍
Oct 11 Javascript
JS延时提示框实现方法详解
Nov 26 Javascript
jquery拖拽效果完整实例(附demo源码下载)
Jan 14 Javascript
jQuery控制frames及frame页面JS的方法
Mar 08 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
Jun 17 Javascript
js实现自动图片轮播代码
Mar 22 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
May 20 jQuery
layui问题之自动滚动二级iframe页面到指定位置的方法
Sep 18 Javascript
js实现翻牌小游戏
Jul 31 Javascript
详解VUE中的插值( Interpolation)语法
Oct 18 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
生成缩略图
2006/10/09 PHP
source.php查看源文件
2006/12/09 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
python实现简单的TCP代理服务器
2014/10/08 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
浅谈Python NLP入门教程
2017/12/25 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
医院检讨书范文
2014/02/01 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
nginx.conf配置文件结构小结
2022/04/08 Servers
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL
分享Python异步爬取知乎热榜
2022/04/12 Python