新足迹

 找回密码
 注册

精华好帖回顾

· 一早起來看見大霧, 就跑了出去! (2013-5-12) silvia · 青蛇 (2009-4-11) 妖花痴艳
· Outliers - 10000小时的标准 (2010-3-31) patrickzhu · 烟囱戚风模VS普通圆模 - 咖啡戚风蛋糕X2 全程直播 (2011-6-2) 莎莎
Advertisement
Advertisement
123
返回列表 发新帖
楼主:澳贼

XML and XSLT 的大仙请进。 [复制链接]

发表于 2010-11-16 13:00 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-16 12:30 发表
把一个相同的 xml load 测试。
你看一下结果把。

Having the following results:

XDocument: 00:00:08.2400000
XmlDocument: 00:00:12.6330000
XmlReader: 00:00:03.3510000
Xslt: 00:00:09.6800000

跟不用提 ...


data source?
Advertisement
Advertisement

2010年度奖章获得者

发表于 2010-11-16 13:03 |显示全部楼层

回复 59# 的帖子

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我知道, 你们是embed html在xslt里, 服务端处理好了, 他html结果送到client。

发表于 2010-11-16 13:09 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kawara 于 2010-11-16 12:45 发表

那是xpAth


oops, good catch!!
yes,u r right, haha

发表于 2010-11-16 13:35 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-16 12:09 发表
blizzard.com 以前page 都是 .xml 的。 后来也放弃了。

服务端的transformation,问我的话也绝对要用 xml -> class, 全部是strongly-typed
速度比xslt runtime transform不知要快多少。

xquery所有的语言都直接支持, 干吗要用最慢的xslt runtime执行?

xquery所有的语言都直接支持, 干吗要用最慢的xslt runtime执行?
---xslt is much powerful language than xquery for the time being.However xquery is much more simple to learn.

服务端的transformation,问我的话也绝对要用 xml -> class, 全部是strongly-typed
速度比xslt runtime transform不知要快多少。

---not true.Any thing is much faster than serialization/deserialization

[ 本帖最后由 kawara 于 2010-11-16 13:36 编辑 ]

发表于 2010-11-16 13:46 |显示全部楼层

回复 64# 的帖子

此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
序列化和反序列化确实是非常消耗时间的。
我们有用到xlst,主要还是比较简单的定义不同的显示,这个组用户用这个xlst文件,另一个用户组用另一个xlst文件,这样可以数据和显示格式分离,不用放在一起折腾。

发表于 2010-11-16 13:49 |显示全部楼层
此文章由 rogerk 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rogerk 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2010-11-16 13:46 发表
序列化和反序列化确实是非常消耗时间的。
我们有用到xlst,主要还是比较简单的定义不同的显示,这个组用户用这个xlst文件,另一个用户组用另一个xlst文件,这样可以数据和显示格式分离,不用放在一起折腾。 ...


我早就说了就是干这个用的,可是牛人们似乎都在拼术语。。。
Advertisement
Advertisement

发表于 2010-11-16 14:01 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2010-11-16 13:46 发表
序列化和反序列化确实是非常消耗时间的。
我们有用到xlst,主要还是比较简单的定义不同的显示,这个组用户用这个xlst文件,另一个用户组用另一个xlst文件,这样可以数据和显示格式分离,不用放在一起折腾。 ...


我觉得最重要的还是开发过程,前端完全可以用自己的xml作data source来通过xslt出html,同时back end可以在service那边作logic,这样实现前后的并行开发.

不过无论如何,我都不怎么喜欢它。

退役斑竹

发表于 2010-11-16 14:01 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
with XSL, you can transform any kind of xml to 'specific', its not just about the format, but almost everything, eg the xml from data provider has 100 records, which can be transformed to 4, sorted or random-ordered or with content manipulated...and u can even write javascript, vbscript or even C# into xsl for any manipulation.

退役斑竹

发表于 2010-11-16 14:04 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-16 11:46 发表
i can't think of any good reason to use xslt for web pages.

xml should be only used in the backend service layer, and sending down html to the client.

乱码, 你是说你的网站客户访问的url 都是.xml exten ...


backend的话,guarantee consistant xml result,但是却增加了server load

发表于 2010-11-16 14:10 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2010-11-16 14:04 发表


backend的话,guarantee consistant xml result,但是却增加了server load


it's not issue, our curry web layer is powerful enough to handle 1 million requests on daily basis.

还没有算上那些bots.

[ 本帖最后由 乱码 于 2010-11-16 14:11 编辑 ]

2010年度奖章获得者

发表于 2010-11-16 14:11 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
要说明一点xslt 是xml rendering 技术。产生结果的是最后的static html
其他的xml 技术产生的是基于domain model。 然后用独立的view engine 来负责rendering。
xslt是internet 早期的产物, 当今是用在某些的定的场合。
现在的技术都是domain driven + view engine。 基本上没有xslt 啥么事。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载
Advertisement
Advertisement

发表于 2010-11-16 14:15 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-16 14:11 发表
要说明一点xslt 是xml rendering 技术。产生结果的是最后的static html
其他的xml 技术产生的是基于domain model。 然后用独立的view engine 来负责rendering。
xslt是internet 早期的产物, 当今是用在某些的定的场 ...

man,not the whole world is developing websites.
头像被屏蔽

禁止发言

发表于 2010-11-16 14:19 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-16 14:11 发表
要说明一点xslt 是xml rendering 技术。产生结果的是最后的static html
其他的xml 技术产生的是基于domain model。 然后用独立的view engine 来负责rendering。
xslt是internet 早期的产物, 当今是用在某些的定的场 ...


一句都没看懂。
签名被屏蔽
头像被屏蔽

禁止发言

发表于 2010-11-16 14:20 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kawara 于 2010-11-16 14:15 发表

man,not the whole world is developing websites.


如果跟website无关。还要xslt转html干啥?
签名被屏蔽

发表于 2010-11-16 14:23 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2010-11-16 14:20 发表


如果跟website无关。还要xslt转html干啥?

xslt不是仅仅可以用来转html的

发表于 2010-11-16 14:26 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
it's one of xslt view engine for mvc

http://mvccontrib.codeplex.com/w ... jectName=mvccontrib
Advertisement
Advertisement

退役斑竹

发表于 2010-11-16 14:49 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2010-11-16 14:10 发表


it's not issue, our curry web layer is powerful enough to handle 1 million requests on daily basis.

还没有算上那些bots.


but it doesn't change the fact that it increases server load

发表于 2010-11-16 14:54 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2010-11-16 14:49 发表


but it doesn't change the fact that it increases server load


u r really caring man!!!

ok, I'll do the labor work to actual free up those long suffering servers if u can lend me your brain

评分

参与人数 1积分 +5 收起 理由
阿Ka + 5 安慰一下

查看全部评分

2010年度奖章获得者

发表于 2010-11-16 14:56 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kawara 于 2010-11-16 14:15 发表

man,not the whole world is developing websites.


web app只是来举个例子, 顺着ls的说倍:)

我对web,还是client app 的概念一经很模糊了。 现在的开发理念都是一样的。 重要的是domain model。
xslt 这种属于终端技术, 当然没说用了违法。

我只是要说的是xslt是早期的产物。 你用的惯就用这,用不惯有大把的好技术可以选择。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

2010年度奖章获得者

发表于 2010-11-16 16:00 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
亲自操刀 做了个速度测试

.NET XDocument VS Xslt speed test

各自读取同一个外部xml 文件。 xslt 我还特意没有从外部调入, 是直接写在code 里的。


当 Xml element count: 100
Xdoc: 00:00:00, Xslt: 00:00:00.0156242

当 Xml element count: 2800
Xdoc: 00:00:00.0156250, Xslt: 00:00:00.0312500.

Xslt 速度完败。

这个讨论可以清净了。

[ 本帖最后由 dalaohu 于 2010-11-16 16:05 编辑 ]

评分

参与人数 1积分 +4 收起 理由
澳贼 + 4 数字说话

查看全部评分

足迹 Reader is phenomenal. If you never used, you never lived 火速下载
头像被屏蔽

禁止发言

发表于 2010-11-16 16:12 |显示全部楼层
此文章由 viomaple 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 viomaple 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个XSLT 有个对于我来说 最常用的用法 就是 在做system integration的时候, 对于inbound 和outbond的2条message 需要做mapping 才能把两个系统的数据给对应起来
这个mapping 关系 可以用xslt 来描述

有很多的工具 拖拖拽拽的 一个xslt 就出来了  哈哈 很方便的
Advertisement
Advertisement

发表于 2010-11-16 16:57 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-16 16:00 发表
亲自操刀 做了个速度测试

.NET XDocument VS Xslt speed test

各自读取同一个外部xml 文件。 xslt 我还特意没有从外部调入, 是直接写在code 里的。


当 Xml element count: 100
Xdoc: 00:00:00, Xslt: 00:00:00.01 ...

你应该比较

XSLT transform a xml into another xml

VS

XDocument load a xml into object(a)---assign values from a to another object(b) of different class--- 序列化object b into XML(using your Xdocument?)

这样才make sense

xslt又不是读文件用的

[ 本帖最后由 kawara 于 2010-11-16 17:00 编辑 ]

发表于 2010-11-16 17:03 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kawara 于 2010-11-16 16:57 发表

你应该比较

XSLT transform a xml into another xml

VS

XDocument load a xml into object(a)---assign values from a to another object(b) of different class--- 序列化object b into XML(using your Xdocumen ...


都render出相同的html才公平,

2010年度奖章获得者

发表于 2010-11-16 17:16 |显示全部楼层

回复 82# 的帖子

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Would be exactly same result.
Cause I load in the XML into xdoc

Then its build up into a custom object of my choice.
(Its already object b you referred)
So its already transformed when done

发表于 2010-11-16 17:46 |显示全部楼层

回复 84# 的帖子

此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
XML transformation means from one type of XML to another type of XML,they using different schemas

the one you talking about people call it Object deserialization or XML unmarshalling

2010年度奖章获得者

发表于 2010-11-16 18:00 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我主要是正对,前几页导论的web服务段xslt生成html 送到 client

没有否认xslt再transformation方面优点。
Advertisement
Advertisement

发表于 2010-11-16 18:04 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
xslt生成HTML4、5年以前颇为流行,现在应该很少有人用了吧。

5年前我在的公司有一个项目用xslt,慢的跟牛一样

2010年度奖章获得者

发表于 2010-11-16 18:06 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个帖子主要是讨论 web 服务段 用xslt 生成html。

就这点来说,我认为xslt 是完败。 我不相信你能说出任何一个这样做优点。

发表于 2010-11-17 01:59 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
对于移动用户 / 移动设备, 使用XML + XSLT还算一种比较简单的解决方案

澳洲就算NBN搞完也没有100%无线网络的覆盖率,所以不能指望移动用户在任何地方任何时候能用无线入网,而且,很多公司的网络系统还是内部网性质的,不可能每到一地就停下来找信号再登陆Juniper之类的,至少在目前两三年里,Offline的方案对某些公司还是很重要的。

当Web离开了服务器,呵呵,所有交易和单据要在手持设备里完成,XML+XSLT可以作为一个备选方案,当然不是唯一。优点是维护简单。

[ 本帖最后由 典 于 2010-11-17 01:00 编辑 ]

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部