在for-each中填充前导零

时间:2018-12-04 23:29:47

标签: xml xslt

使用XSLT,我有以下代码当前可用于创建日期。

<xsl:for-each select="release-date/year | release-date/month | release-date/day">
  <xsl:if test="position() !=1">-</xsl:if>
  <xsl:value-of select="."/
</xsl:for-each>

示例输出:2008-5-142008-5-1

我正在尝试修改此代码,以使其在发布月份和日期前用零开头填充零。因此

所需的输出:2008-05-142008-05-01

我曾尝试使用format-number()substring(string(), 2),就像在类似问题上看到的那样,但是实现时我的语法不正确,或者它们与我使用的|不兼容。 / p>

1 个答案:

答案 0 :(得分:4)

我会做的:

<xsl:value-of select="release-date/year" /> 
<xsl:value-of select="format-number(release-date/month, '-00')"/>
<xsl:value-of select="format-number(release-date/day, '-00')"/>