当前位置: 首页 > news >正文

使用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中使用,调用任何数值来进行计算和显示.

相关文章:

  • 属性选择器[ ]里的东西,哪些要加引号
  • hibernate.cfg.xml常见配置
  • apple有话说
  • Centos7 修改mysql指定用户的密码
  • mvn:default-servlet-handler/标签作用
  • 转几篇.Net的文章
  • ubuntu在vim编辑时,方向键无法正常使用
  • browser 编程中 Delphi 如何返回数组给 javascript
  • 应用IBatisNet+Castle进行项目的开发
  • 陪女友逛街完全手册 --搞笑
  • iOS 推送
  • 由浅入深学“工厂模式”(2)
  • 如何用十条命令在一分钟内检查Linux服务器性能
  • 第 4 章 构建以数据为中心的应用程序
  • T-SQL中的递归 --作者:Alexander Kozak
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • create-react-app项目添加less配置
  • extjs4学习之配置
  • java多线程
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Shadow DOM 内部构造及如何构建独立组件
  • springboot_database项目介绍
  • webpack入门学习手记(二)
  • 算法-图和图算法
  • 责任链模式的两种实现
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • !!java web学习笔记(一到五)
  • #QT(TCP网络编程-服务端)
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Python第六天)文件处理
  • (windows2012共享文件夹和防火墙设置
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)http-server应用
  • (转)大型网站的系统架构
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET delegate 委托 、 Event 事件
  • .NET Micro Framework初体验
  • .Net MVC4 上传大文件,并保存表单
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [20190401]关于semtimedop函数调用.txt
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [autojs]逍遥模拟器和vscode对接
  • [BJDCTF 2020]easy_md5
  • [Codeforces] combinatorics (R1600) Part.2
  • [Flexbox] Using order to rearrange flexbox children
  • [HarekazeCTF2019]encode_and_encode 不会编程的崽
  • [hive小技巧]同一份数据多种处理
  • [JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
  • [JavaWeb]——获取请求参数的方式(全面!!!)
  • [Linux] - 定时任务crontab