xslt中substring 函數的用法


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

 

 

 

 





 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM