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 相关文章推荐
让IE6支持min-width和max-width的方法
Jun 25 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
Sep 26 Javascript
autoPlay 基于jquery的图片自动播放效果
Dec 07 Javascript
js单例模式详解实例
Nov 21 Javascript
jQuery遍历Table应用示例
Apr 09 Javascript
JavaScript中使用arguments获得函数传参个数实例
Aug 27 Javascript
jQuery中:animated选择器用法实例
Dec 29 Javascript
AngularJS入门示例之Hello World详解
Jan 04 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
Feb 08 Javascript
详解使用Node.js 将txt文件转为Excel文件
Jul 05 Javascript
JS写谷歌浏览器chrome的外挂实例
Jan 11 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
Oct 11 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 IF ELSE简化/三元一次式的使用
2011/08/22 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
2013/12/25 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
python从入门到精通(DAY 1)
2015/12/20 Python
Python实现的异步代理爬虫及代理池
2017/03/17 Python
python数据结构之链表详解
2017/09/12 Python
PHP统计代码行数的小代码
2019/09/19 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
服装销售人员求职自我评价
2013/09/26 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
专业技术职务聘任书
2014/03/29 职场文书
终止合同协议书
2014/04/17 职场文书
超市主管竞聘书
2015/09/15 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
德生2P3收音机开箱评测
2022/04/30 无线电