将 xslt 中的日期格式从 YYYYMMDD 转换为 MM/DD/YYYY

Convert date format in xslt from YYYYMMDD to MM/DD/YYYY

我在 xml 文件中有日期,格式如

YYYYMMDD

应用 xslt 转换我想将格式更改为

MM/DD/YYYY

.

例如, 传入格式 - 20160513 输出格式 - 05/13/2016

鉴于:

<date>20160513</date>

以下:

<xsl:template match="date">
    <xsl:copy>
        <xsl:value-of select="substring(., 5, 2)"/>
        <xsl:text>/</xsl:text>
        <xsl:value-of select="substring(., 7, 2)"/>
        <xsl:text>/</xsl:text>
        <xsl:value-of select="substring(., 1, 4)"/>
    </xsl:copy>
</xsl:template>

将return:

<date>05/13/2016</date>

XSLT 2.0 选项...

<xsl:template match="date[matches(normalize-space(),'^\d{8}$')]">
  <xsl:copy>
    <xsl:value-of select="replace(normalize-space(),
      '(\d{4})(\d{2})(\d{2})',
      '//')"/>
  </xsl:copy>
</xsl:template>