说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何在 XSL 模板中增加JavaScript变量

编辑:说三道四文库 发布时间:2018-04-26 05:18
HTML文档下载 WORD文档下载 PDF文档下载
页面通过XML数据套用xsl模板展示,原有模板大致如下:
-----------------------------------
<TABLE> 
<TR>
<td>工资项目</td>
<td>工资金额</td>
</TR>
<xsl:for-each select="emp_info/emp_sal">
<TR>   
<td><xsl:value-of   select="item_name"/></td>
<td><xsl:value-of   select="item_info"/></td>
</TR>
</xsl:for-each>
</TABLE>

展示效果大致为:

工资项目   工资金额
加班补贴   200
考勤       150
……

----------------------------------
现在我希望能够在展示的时候插入具体的月份在工资项目前面,比如说:

工资项目        工资金额
2月份加班补贴   200
2月份考勤       150
……

因此我想在xsl模板中加入由js生成的时间变量,(这个时间的获取也是从同一个XML数据源中的其他节点得来的)
请问该如何插入?

此外还有一个问题,就是对金额进行计算的时候,由于金额返回的是厘,所以我对结点进行了如下处理:
<xsl:value-of   select="item_info*0.001"/>
结果在展示的时候,部分数据会出现小数位过长的问题,比如返回数据是8120,结果却变为8.120000000000001,
但是有些数据却展示正常12100,结果变为12.1
<xsl:value-of   select="format-number(item_info*0.001,'0.00'"/>返回8.12,小数倍数由'0.00'控制。
因此我想在xsl模板中加入由js生成的时间变量,(这个时间的获取也是从同一个XML数据源中的其他节点得来的) 
请问该如何插入? 
-------
两种方法:
1,使用带参数的XSLT。
2,直接在XSLT中读取该时间变量节点。
使用带参数的XSLT?

是否有简单的例子
参考这里:http://blog.csdn.net/cds27/archive/2006/05/08/712546.aspx
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘