使用eval元素

XSL支持在文件中插入script元素,从而允许程序开发人员运用既有的功能;而且,它的用法也非常简单,只是在调用时需要xsl:eval元素的辅助.

使用eval有以下两点用法:

1.在XSL中使用script
在XSL中,可以创建一个xsl:script元素,并在元素内插入script脚本.同时,可以通过xsl:script元素的属性language来指定脚本语言,不指定默认为javascript.

下面的xsl文件利用javascript实现显示一个随机数的功能:

None.gif dot.gif
None.gif
< xsl:script  language ="javascript" >
None.giffunction GetNumber()
None.gif{
None.gif    var number;
None.gif    number=Math.round(Math.random()*9);
None.gif    return number;
None.gif}
None.gif
</ xsl:script >
None.gifdot.gif
None.gif
< span >
None.gif
< xsl:eval  language ="javascript" > GetNumber(); </ xsl:eval >
None.gif
</ span >


2.使用XSL运行时方法
可以在xsl:eval中使用运行时方法.

None.gif absoluteChildNumber(node)    返回节点在所有兄弟节点中的位置,从1开始
None.gif
None.gifancestorChildNumber(nodeName,node)    返回最接近node祖先节点的子节点nodeName的位置
None.gif
None.gifchildNumber(node)    返回节点在具有相同名称的节点中的位置,如果没有节点和该节点具有相同的名称,则返回位置1
None.gif
None.gifdepth(startNode)    返回节点在树状结构中的深度
None.gif
None.gifformatDate(date,format,locale)    使用特定的格式来显示日期
None.gif
<!--  日期格式 --
None.gifm - 月份(1-12)
None.gifmm - 月份(01-12)
None.gifmmm - 月份(Jan-Dec)
None.gifmmmm - 月份(January-December)
None.gifmmmmm - 月份(取第一个字母)
None.gifd - 日期(1-31)
None.gifdd - 日期(01-31)
None.gifddd - 星期日期(Sunday-Saturday)
None.gifyy - 年份(00-99)
None.gifyyyy - 年份(1900-9999)
None.gif-- 预设的顺序是月-日-年 --
None.gif
-->
None.gif
None.gifformatIndex(number,format)    使用特定的格式显示提供的索引
None.gif
<!--  下面是索引的格式 --
None.gif1 - 标准的数值系统
None.gif01 - 前缀为0的数值系统
None.gifA - 大写字母顺序A到Z,然后从AA到ZZ
None.gifa - 小写字母顺序A到Z,然后从aa到zz
None.gifI - 大写罗马数字,I,II..
None.gifi - 小写罗马数字
None.gif
-->
None.gif
None.gifformatNumber(number,format)    使用特定的格式显示提供的数值
None.gif
<!--  下面是显示格式 --
None.gif# - 只显示有效的数字,并将无效数字省略
None.gif0 - 如果数值的数字数目比格式的数字数目少,就显示无意义的0
None.gif? - 为小数点的两侧加上无意义的0,好让使用固定大小的字形时,数字能够排成一列
None.gif. - 指定小数点的位置
None.gif, - 用作千分隔符或乘上1000将数字放大
None.gif% - 以百分比型式显示数值
None.gifE或e - 以特定格式显示数值
None.gifE-或e- - 将指数变成负号来放置负值符号
None.gifE+或e+ - 将指数变成负号来放置负值符号,并将指数变成正号来放置正值符号
None.gif
-->
None.gif
None.gifformatTime(time,format,locale)    使用特定的格式显示提供的时间
None.gif
<!--  显示时间的格式 --
None.gifh - 时(0-23)
None.gifhh - 时(00-23)
None.gifm - 分(0-59)
None.gifmm - 分(00-59)
None.gifs - 秒(0-59)
None.gifss - 秒(00-59)
None.gifAM/PM - 加入AM或PM并以12时间制显示
None.gifam/pm - 加入am或pm并以12时间制显示
None.gifA/P - 加入A或P并以12时间制显示
None.gifa/p - 加入a或p并以12时间制显示
None.gif[h]:mm - 利用小时来显示过去的时间
None.gif[mm]:ss - 利用分钟来显示过去的时间
None.gif[ss] - 利用秒来显示过去的时间
None.gifss.00 - 显示秒的数值,场所将决定正确的分隔字符
None.gif
-->
None.gif
None.gifuniqueID(node)    返回节点的唯一ID

上面这些函数可以直接在xsl:eval中使用,调用任何数值来进行计算和显示.

转载于:https://www.cnblogs.com/wddavid/archive/2005/07/26/200709.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值