XSL 命名空间问题

这两天刚学XSL,觉得是个不错的东西,值得深入研究一下,XSL的命名空间,我看到的有两种写法:

<!-- 第一种 -->
< xsl:stylesheet  xmlns:xsl ="http://www.w3.org/TR/WD-xsl" >
<!-- 第二种 -->
< xsl:stylesheet  version ="1.0"  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" >

我因为忽略了这行的区别,导致我郁闷了好半天, 后来search到了两个贴子,特意转过来。

源:http://bbs.51js.com/viewthread.php?tid=42672

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">命名空间 是草案,
FireFox不支持草案版
XSL的名称空间改成标准:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">

源:http://bbs.xml.org.cn/dispbbs.asp?boardID=8&ID=39590

微软的资料:

升级到新的 XSLT 语法

提升性能的下一步需要更多的工作,但这是值得付出努力的。在这里,我们将旧的 MSXML XSL 样式表转换为新的 XSLT 标准。MSXML 最初是在 1999 年 3 月 W3C XSL 工作组完成正式标准之前发布的。在 3 月和 11 月之间,制定建议之后,又在语言中添加了许多绝佳的新内容。考虑到这些变化,我们将 XSL 样式表进行了如下升级:
&#8226; 

1. 将旧的 XSL 命名空间 URN 转换为 http://www.w3.org/1999/XSL/Transform。
&#8226; 

2. 向 
< xsl:stylesheet >  根元素中添加必需的 version="1.0"。
&#8226; 

3. 将 order-by 属性更改为 
< xsl:sort >  元素,并相应地更改 DHTML 脚本代码,以便您可以动态地重新排序页面。
&#8226; 

4. 将 averageChange() 函数的 
< xsl:eval >  调用替换为标准的 XPath 表达式:

< xsl:value-of 
select ="format-number(sum(/portfolio/stock/percent) 
      div count(/portfolio/stock),'#.#')"
/>  

&#8226; 

5. 将 totalVolume() 的 xsl:eval 调用替换为另一个标准表达式:

< xsl:value-of  select
"format-number(sum(/portfolio/stock/volume),'#')"
/>  

&#8226; 

6. 完全移除旧的 
< xsl:script > 块(因为不再需要它)。
&#8226; 

7. 将所有其他 
< xsl:eval >  调用替换为直接的 format-number 调用,例如,价格和更改模板现在包含:

< xsl:value-of 
select ="format-number(.,'0.00')" />  

&#8226; 

8. 更改旧的 expr="...">,以使用新的 XPath 表达式来执行相同的操作:

< xsl:if  test =". &lt; -5" >  

结果是 portfolio3.xsl。要使用这个新的样式表,我们只需更改下行:

xsl.load(Server.MapPath("../portfolio3.xsl")); 

使用这个样式表会导致每秒处理的请求数骤增为 99,与旧的 XSL 样式表相比,性能提升了 115%。现在,示例的总吞吐量比 MSXML 2.5 增加了 253%。大多数改进得益于我们从样式表中成功移除了 JScript 的所有调用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值