因为看到Jeff说,xslt is not the solution you’re looking for.然后Umbraco(采用ASP.NET技术的开源CMS)也在V5.0版本不支持XSLT,而改用MVC方式去呈现页面。原文地址:

http://weblogs.asp.net/jeff/archive/2011/11/12/xslt-is-not-the-solution-you-re-looking-for.aspx

当然Jeff在这篇blog最后说到:XSLT is not your friend. It has a place in the world, but that place is tweaking XML, not rendering UI.大意是:XSLT是用来转换XML数据的,而不是呈现UI界面的。其实在微软和IBM看来,数据和界面都可以用XSLT去做,同时也包括 Firefox,在推广它的XUL界面技术。以下我主要说说使用XSLT在转换数据的优点和缺点。当然国内很少有公司,完全采用XML+XSLT去转换数 据,然后辅助采用CSS+DIV去render界面。

XSLT呈现数据

优点:大家都知道数据库有很多种,SQL Server,MySQL,DB2,Oracle是主流的几种,然后又MonoDb,VisitDB,数据库的种类也在随着时间的推移再增加。但是我们要 把数据存储在数据库中,就需要指定数据的类型。每个数据库的数据类型都有所差异。未来,64位的产品出来之后,32位系统的数据可能不能直接存储到64位 数据库系统中。所以考虑以上2个原因,很多大的公司,需要把数据存储为XML,然后再存储到数据库中。虽然增加了服务器成本,但是为以后的兼容性和可移植 性提供了保证。这就是微软为什么一直在大多少产品要支持XML,同时数据库尽可能存储XML的格式。另外大家都知道XML和XSLT都是W3C的工业标 准。所以数据库生成商在设计开发数据库时,都会实现XML的技术。所以当您的数据保存为XML格式存储在数据库中,导入到其他数据库时,相对而言要简单一 些。当然现在市场有软件可以帮助实现数据库之间的导入。还有最初电子商务公司或者大的公司,数据之间的交互都使用XML,当然现在JSON格式很流行。所 以XSLT作为一个有效的数据转换技术,所以就发展起来了。当然XSLT相比高级语言,C#,Java,PHP实在不足,这也是新来的同事抱怨,为什么一 定要用XSLT去转换数据,直接用C#去做,那样多快。

缺点:

1.其实上面已经说到一点缺点,就是有时很多方法XSLT里面没有提供。说到这里 就要说到XSLT版本的问题,XSLT目前有2个版本,1.0和2.0。微软虽然已经到了.net framework4.0,但是还仅支持XSLT1.0。所以你要在XSLT里面显示一个时间,比如2011-11-20,都是没有这个函数的 哦!XSLT2.0应该是有的。幸好,微软在XSLT里面可以写C#代码,也可以传入XSLT Extension。这样可以弥补一些XSLT在比较通用函数的实现。

2. 因为XSLT技术不是简单的一门技术,在使用XSLT之前,开发人员必须会XPath。呵呵!同时作为Web开发工程师,也必须会使用C#/Java/PHP去操作XML或者XSLT,所以学习成本很高,这也是XML+XSLT技术在中国不够普及的一个原因。

夜深了,这里只是谈谈个人的想法,当然大家也有想法。期待分享您的想法。

PS:我对Jeff的评论。

Our team still using the XLST+XML to render the data. Using the HTML+CSS+JavaScript to render UI.

是时候对XSLT说“Goodbye”了吗?相关推荐

  1. 【Cmake】执行cmake命令时报错:No XSLT processor found

    一.问题描述 在ubuntu中,在生成Doc(文档)中,执行cmake命令时报错:No XSLT processor found 二.原因查找 google该错误信息,原因是确实ubuntu中没有安装 ...

  2. BizTalk 开发小技巧-Custom XSLT复杂mapping的简单实现

    BizTalk最强大的就是消息的订阅/发布和消息转换(transform-mapping),与不同的业务系统做对接势必会用到mapping这个强大的工具.BizTalk提供了非常丰富的mapping函 ...

  3. 用C#或JavaScript扩展XSLT

    今天在umbraca上看到这样一篇文章,可以利用C#和JavaScript扩展XSLT,说实在的,以前不知道啊,前几天看到有位博主实现了一个split方法,利用原有的xslt函数,现在看来可以直接编程 ...

  4. XSLT教程 [转]

    XSLT教程 XSL代表可扩充样式表语言 为了适应基于XML的样式表语言的需要,万维网联盟(W3C)开始发展XSL. XSLT代表XSL的变革.在这个教程里,你会学到如何通过XSLT把XML文档转换成 ...

  5. W3C XSL Transformations (XSLT) Version 2.0 翻译计划

    最近准备开始 XSL Transformations (XSLT) Version 2.0 的翻译工作.目前先在 http://wiki.w3china.org/ 上进行翻译工作,完成后将会整理出一份 ...

  6. 我是买家的前世今生,该到了say goodbye的时候了!

    我是买家项目  http://woshimaijia.com  是一个买家分享社区,始于2009年初的想法,到现在3年过去了,看现在的各种数据(pv,uv,user) 惨不忍睹,更不用说盈利的了!从一 ...

  7. 利用XSLT把ADO记录集转换成XML

    由于XML(可扩展标记语言:eXtensible Markup Language)真正的平台无关性,它正在逐渐成为数据传输的主要介质.XML是一种自描述的语言,数据本身就已经包含了元数据,即关于数据本 ...

  8. C# xml通过xslt转换为html输出

    html效果截图: 1.首先分析html代码结构: 结果如图: 2.调用接口返回的数据格式: 3.由第一步可看出每2个数据为一行并排显示,后台返回的数据总数可能为奇数个或偶数个,对应该生成的xml结构 ...

  9. 我自己写的第一个Xslt

    <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1. ...

最新文章

  1. 实现扫码登陆的最简单方案与原理
  2. R语言ggplot2可视化:通过水平半小提琴图和抖动数据点可视化雨云图(Rain Cloud plots)、自定义雨云图中数据点的颜色(数据点的颜色和半小提琴图一致)
  3. Matlab200以内所有质数,Matlab 中求质数表
  4. 2017年12月英语四级翻译预测
  5. 10-30 章鱼大数据学习
  6. java fx dialog_JavaFX 如何使用內建的對話框(Dialog)?
  7. 被讨厌的勇气--总结
  8. python mad函数_Python函数的基本定义
  9. 学VBSCRIPT从学起
  10. Hellohao全网对象存储图床源码
  11. 盛情难却:北京,QECon来了
  12. CSS伪选择器的使用-遁地龙卷风
  13. qq自定义diy名片代码复制_免root安卓版QQ自定义在线 卡iPhone 12 Pro Max,卡5G,6G在线等状态...
  14. Codeforces.1139D.Steps to One(DP 莫比乌斯反演)
  15. 模拟量输入输出模块的用途是什么?
  16. 题目:利用指针知识,写一函数,求一个字符串的长度
  17. 一篇文章搞懂设计模式
  18. 再说for in循环
  19. 结绳中文编程[第一节]
  20. Activiti 7.0 正式发布啦-Activiti Core 与 Activiti Cloud Beta1

热门文章

  1. Appium自动化测试-配置待测Android应用
  2. 修改单个viewcontroller的状态栏字体颜色
  3. FMDB使用的数据库的三种形式
  4. 分享Kali Linux 2016.2第48周虚拟机
  5. suse mysql root密码忘记_SUSE11.4 找回 mysql root 密码?网上能找到的所有方法都试过了,不行......
  6. python读取数据库导出文件_Python 获取 datax 执行结果保存到数据库的方法
  7. mysql报错2_MySQL基于报错注入2
  8. python post请求 上传图片_利用python模拟实现POST请求提交图片的方法
  9. 自己觉得比较好的专业书籍
  10. eeglab教程系列(7)-数据叠加平均{1}(Data averaging)