XSLT如何使用“line”char(' - ')作为参数

时间:2013-05-03 15:06:45

标签: function xslt concat

我已经实现了这个功能(模板):

<xsl:template name="insSepToFechaHost">
    <xsl:param name="fecha" />
    <xsl:param name="sep" />
    <xsl:variable name="anio" select="substring($fecha,1,4)" />
    <xsl:variable name="mes" select="substring($fecha,5,2)" />
    <xsl:variable name="dia" select="substring($fecha,7,2)" />
    <xsl:value-of select="concat($anio,$sep,$mes,$sep,$dia)"/>
</xsl:template>

我称之为......

<fechaOperacion>
<xsl:call-template name="insSepToFechaHost">
    <xsl:with-param name="fecha" select="$datOperacion/STDR2_FECOPE" />
    <xsl:with-param name="sep" select="-" />
</xsl:call-template>

功能简单,接收价值如此'20130502',功能将返回'2013-05-02','2013/05/02','2013 * 05 * 02'等... (取决于'sep'值)。但是,我不知道为什么它不起作用?...我注意到如果我将参数'sep'更改为常量,该函数可以工作..

<xsl:value-of select="concat($anio,'-',$mes,'-',$dia)"/>

你能提出一些建议吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

目前你实际上并没有传递sep的常量字符串。

尝试更改此行

<xsl:with-param name="sep" select="-" />

改为

<xsl:with-param name="sep" select="'-'" />