首页 > 技术文章 > xslt中substring 函数的用法

wangqiideal 2015-06-16 12:01 原文

1.函数定义

string substring(string, number, number?)

2.xslt中substring 函数功能

返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。长度下标从1开始。

注意:

该字符串中的每个字符都被认为具有数字位置:第一个字符的位置是 1,第二个字符的位置是 2,依此类推。

如果未指定第三个参数,将返回从第二个参数指定的位置开始直到字符串结尾的子字符串。

如果参数不是字符串类型,将先使用 string() 函数转换为字符串,然后计算该转换的结果。

此函数区分大小写。

小示例:

(1)substring("12345",2,3)   返回:234
(2)substring("12345",2)     返回:2345

 

返回的子字符串包含如下字符:字符位置大于或等于第二个参数的舍入值,且如果指定了第三个参数,小于第二个和第三个参数的舍入值之和。上面使用的比较和加法遵循 IEEE 754 标准规则;如同调用 round() 函数一样进行舍入。

下列示例阐释异常情况。

substring("12345", 1.5, 2.6) 返回“234

substring("12345", 0, 3) 返回“12

substring("12345", 0 div 0, 3) 返回 ""

substring("12345", 1, 0 div 0) 返回 ""

substring("12345", -42, 1 div 0) 返回 "12345"

substring("12345", -1 div 0, 1 div 0) 返回 ""

 


 

演示 substring() 表达式

XSLT 文件 (substring.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
   substring("12345",2,3) = 
      <xsl:value-of select='substring("12345",2,3)'/><br/>
   substring("12345",2) = 
      <xsl:value-of select='substring("12345",2)'/><br/>
   substring("12345", 1.5, 2.6) = 
      <xsl:value-of select='substring("12345", 1.5, 2.6)'/><br/>
   substring("12345", 0, 3) = 
      <xsl:value-of select='substring("12345", 0, 3)'/><br/>
   substring("12345", 0 div 0, 3) = 
      <xsl:value-of select='substring("12345", 0 div 0, 3)'/><br/>
   substring("12345", 1, 0 div 0) = 
      <xsl:value-of select='substring("12345", 1, 0 div 0)'/><br/>
   substring("12345", -42, 1 div 0) = 
      <xsl:value-of select='substring("12345", -42, 1 div 0)'/><br/>
   substring("12345", -1 div 0, 1 div 0) = 
      <xsl:value-of select='substring("12345", -1 div 0, 1 div 0)'/>
</xsl:template>

</xsl:stylesheet>

格式化输出:

格式化输出

substring("12345",2,3) = 234 substring("12345",2) = 2345 substring("12345", 1.5, 2.6) = 234 substring("12345", 0, 3) = 12 substring("12345", 0 div 0, 3) = substring("12345", 1, 0 div 0) = substring("12345", -42, 1 div 0) = 12345 substring("12345", -1 div 0, 1 div 0) =

 

处理器输出XML

<?xml version="1.0" ?>   substring("12345",2,3) =       234<br />   substring("12345",2) =       2345<br />   substring("12345", 1.5, 2.6) =       234<br />   substring("12345", 0, 3) =       12<br />   substring("12345", 0 div 0, 3) =       <br />   substring("12345", 1, 0 div 0) =       <br />   substring("12345", -42, 1 div 0) =       12345<br />   substring("12345", -1 div 0, 1 div 0) =

参考地址:
微软官网MSDN的XPath的地址
https://msdn.microsoft.com/zh-cn/library/ms256180%28v=vs.80%29.aspx

 

 

 

 





 

推荐阅读