在XML元素中显示当前日期

时间:2012-01-11 15:47:11

标签: xslt format

我正在使用XSL将一个XML转换为另一个XML。我的问题是,在一个元素中,我必须以格式显示当前日期:YYYYMMDD。

我尝试使用这样的变量:

<xsl:variable name="dateNow" select="current-dateTime()"/>
<xsl:variable name="dateNow2" select="current-date()"/>

然后尝试格式化,但没有成功。

<FRUEHESTER_LIEFERTERMIN><xsl:value-of select="format-dateTime($dateNow, '[Y0001][M01][D01]')"/></FRUEHESTER_LIEFERTERMIN>

1 个答案:

答案 0 :(得分:3)

到底发生了什么(“没有成功”是什么意思)。您使用的XSLT处理器是什么?

以下是您尝试执行的操作的最小测试用例(输入XML文档无关紧要)

    <?xml version="1.0" encoding="UTF-8"?>
&lt;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/xpath-functions"  exclude-result-prefixes="xs fn"&gt;

    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <xsl:variable name="dateNow" select="current-dateTime()"/>
    <xsl:variable name="dateNow2" select="current-date()"/>

    <xsl:template match="/">
        <FL><xsl:value-of select="format-dateTime($dateNow, '[Y0001][M01][D01]')"/></FL>
    </xsl:template>

</xsl:stylesheet>

以及它产生的内容 - 如果你尝试这个测试用例,你会得到同样的结果吗?

<?xml version="1.0" encoding="UTF-8"?>
<FL>20120111</FL>