2008-11-04 47 views
1

我可以使用一些幫助創建一個XSL模板,該模板將採用一串數字(即123456789)並將該字符串格式化爲社會安全號碼格式(即123-45-6789)。我在互聯網上發現了one example,但它似乎過於複雜。XSLT中的SSN格式?

我是XSLT新手,所以請在回覆時記住這一點。謝謝!

回答

4

XSLT 1.0的字符串函數是有點有限,幸好,這不是太硬:

假設< SSN> 123456789 </SSN>:

<xsl:template match="ssn">  
    <xsl:value-of select="substring(., 0, 4)"/> 
    <xsl:text>-</xsl:text> 
    <xsl:value-of select="substring(., 4, 2)"/> 
    <xsl:text>-</xsl:text> 
    <xsl:value-of select="substring(., 6, 4)"/>  
</xsl:template> 

在XSLT 2.0,CONCAT ()可以採用兩個以上的參數,所以它是一個單一的線:

<xsl:template match="ssn"> 
     <xsl:value-of select="concat(substring(., 0, 4), '-', substring(., 4, 2), '-', substring(., 6, 4))" />  
    </xsl:template> 
+2

在XSLT 1.0你也可以巢的concat()S: 的(substring(。,0,4),concat(' - ',concat(substring(。,4,2),concat(' - ',substring(。,6, 4)))))「/> 但是,您的選擇更具可讀性:) – ChuckB 2008-11-04 22:34:25