首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

XSLT函数总结(一)

2012-10-24 
XSLT函数小结(一)这几天做了两三个Mapping,看到那些数据眼花缭乱的,现总结一下格式化数字:(XSLT 2.0)1.最

XSLT函数小结(一)

这几天做了两三个Mapping,看到那些数据眼花缭乱的,现总结一下格式化数字:(XSLT 2.0)

1.最简单的直接通过format-number(num,'#.000')形式就能解决问题

?

2.在<xsl:stylesheet>元素下声明元素<xsl:decimal-format decimal-separator="." grouping-separator="/" digit="*" />,decimal-separator指定小数点(在EDI等文件中,小数点有的用.表示,有的用逗号表示,标准不一样),grouping-separator指定小数分组的标志,digit表示在格式中数字用哪种符号代替;然后再结合format-number()函数处理。例如format-number(num,'****/***/**.000')

?

3.取一个数字的左边m位和右边n位,这种情况比较麻烦,需要用到字符串函数

concat(substring(num,1,m),substring(num,string-length(num)-n+1))

?

4.一个数字的右边3位为小数位,在末尾加一个"0"

(如果要保证小数点为dot则可以通过<xsl:decimal-format>元素保证)

首先判断结点是否可用,boolean(node()),然后用format-number函数格式化

format-number(num div 1000,'#.0000')

?

5.添加n位前导0。思路是先用足够位数的0连接,然后取出固定位,例如一个最多5位的数(该数是一个必选项),要在前添加3个0:substring(concat('0000',num),string-length(num)-4)

?

?

热点排行