使用format-dateTime指定零填充

时间:2010-01-12 12:11:38

标签: xslt formatdatetime

我在xslt

中有以下内容
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/02/xpath-functions" xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:variable name="cDate">
        <xsl:value-of select="current-dateTime()"/>
    </xsl:variable>
    <xsl:variable name="fcDate">
        <xsl:value-of select="format-dateTime($cDate,'[Y0001][M01][D01]')"/>
    </xsl:variable>
    <xsl:template match="/PublisherBooking">
        <dt>
            <xsl:attribute name="date"><xsl:value-of select="$fcDate"/></xsl:attribute>
        </dt>
    </xsl:template>
</xsl:stylesheet>

给出了输出(鉴于当前日期是2010年1月12日):

<?xml version="1.0" encoding="UTF-8"?>
<dt date="2010112"/>

我的问题是我需要格式如下:

<?xml version="1.0" encoding="UTF-8"?>
<dt date="20100112"/>

那么如何在月和日获得零填充?具体问题格式图片'[Y0001] [M01] [D01]'。

仅供参考我正在使用XMLSpy 2005附带的XSLT引擎。

1 个答案:

答案 0 :(得分:0)

好吧,它看起来像我的XMLSpy版本(2005年并且有点长)的引擎中的错误。完成对Saxon 9.2的转换,结果是必要的。