将日期转换为XSLT

将日期转换为XSLT,xslt,Xslt,我在XML文件中有一个日期(字符串)值,格式如下: <UserValue title="fnd0EndDate" value="2017-01-18T09:18:19Z" /> 01JAN2017:09:18:19 如何在XSL转换中实现这一点?使用XSLT 2.0(或3)它可以简单到将日期时间值作为xs:dateTime进行计算,并与所需图片一起使用: format-dateTime(xs:dateTime(UserValue/@value), '[M01][MN,*-3][Y

我在XML文件中有一个日期(字符串)值,格式如下:

<UserValue title="fnd0EndDate" value="2017-01-18T09:18:19Z" />
01JAN2017:09:18:19
如何在XSL转换中实现这一点?

使用XSLT 2.0(或3)它可以简单到将日期时间值作为
xs:dateTime
进行计算,并与所需图片一起使用:

format-dateTime(xs:dateTime(UserValue/@value), '[M01][MN,*-3][Y]:[H01]:[m01]:[s01]')
但是,使用XSLT 1.0时,您没有可用的dateTime方法,只能进行字符串解析:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="1.0">
  <xsl:output method="text"/>
  <xsl:variable name="MONTHS">
    <month>JAN</month>
    <month>FEB</month>
    <month>MAR</month>
    <month>APR</month>
    <month>MAY</month>
    <month>JUN</month>
    <month>JUL</month>
    <month>AUG</month>
    <month>SEP</month>
    <month>OCT</month>
    <month>NOV</month>
    <month>DEC</month>
  </xsl:variable>
  <xsl:template match="/">
    <xsl:variable name="val" select="//UserValue/@value"/>
    <xsl:variable name="month" select="substring($val, 6, 2)"/>
    <xsl:variable name="month-name" select="document('')/*/*/month[position() = number($month)]"/>
    <xsl:variable name="year" select="substring($val, 1, 4)"/>
    <xsl:variable name="time" select="substring($val, 12, 8)"/>

    <xsl:value-of select="concat($month, $month-name, $year, ':', $time)"/>
  </xsl:template>
</xsl:stylesheet>

简
功能电子块
破坏
四月
也许
六月
七月
AUG突击步枪
九月
十月
十一月
十二月
使用XSLT 2.0(或3)它可以像计算
xs:dateTime
的日期时间值一样简单,并与所需图片一起使用:

format-dateTime(xs:dateTime(UserValue/@value), '[M01][MN,*-3][Y]:[H01]:[m01]:[s01]')
但是,使用XSLT 1.0时,您没有可用的dateTime方法,只能进行字符串解析:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="1.0">
  <xsl:output method="text"/>
  <xsl:variable name="MONTHS">
    <month>JAN</month>
    <month>FEB</month>
    <month>MAR</month>
    <month>APR</month>
    <month>MAY</month>
    <month>JUN</month>
    <month>JUL</month>
    <month>AUG</month>
    <month>SEP</month>
    <month>OCT</month>
    <month>NOV</month>
    <month>DEC</month>
  </xsl:variable>
  <xsl:template match="/">
    <xsl:variable name="val" select="//UserValue/@value"/>
    <xsl:variable name="month" select="substring($val, 6, 2)"/>
    <xsl:variable name="month-name" select="document('')/*/*/month[position() = number($month)]"/>
    <xsl:variable name="year" select="substring($val, 1, 4)"/>
    <xsl:variable name="time" select="substring($val, 12, 8)"/>

    <xsl:value-of select="concat($month, $month-name, $year, ':', $time)"/>
  </xsl:template>
</xsl:stylesheet>

简
功能电子块
破坏
四月
也许
六月
七月
AUG突击步枪
九月
十月
十一月
十二月

是xslt版本1还是2?xslt版本1…是xslt版本1还是2?xslt版本1。。。