Попробуйте:
<value>
<xsl:value-of select="substring($createDate, 9, 2)"/>
<xsl:text>-</xsl:text>
<xsl:variable name="month" select="substring($createDate, 6, 2)"/>
<xsl:choose>
<xsl:when test="$month=1">JAN</xsl:when>
<xsl:when test="$month=2">FEB</xsl:when>
<xsl:when test="$month=3">MAR</xsl:when>
<xsl:when test="$month=4">APR</xsl:when>
<xsl:when test="$month=5">MAY</xsl:when>
<xsl:when test="$month=6">JUN</xsl:when>
<xsl:when test="$month=7">JUL</xsl:when>
<xsl:when test="$month=8">AUG</xsl:when>
<xsl:when test="$month=9">SEP</xsl:when>
<xsl:when test="$month=10">OCT</xsl:when>
<xsl:when test="$month=11">NOV</xsl:when>
<xsl:when test="$month=12">DEC</xsl:when>
</xsl:choose>
<xsl:text>-</xsl:text>
<xsl:value-of select="substring($createDate, 1, 4)"/>
</value>
Или, если вы предпочитаете:
<value>
<xsl:value-of select="substring($createDate, 9, 2)"/>
<xsl:text>-</xsl:text>
<xsl:variable name="month" select="substring($createDate, 6, 2)" />
<xsl:value-of select="substring('JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC', 3 * ($month - 1) + 1, 3)"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="substring($createDate, 1, 4)"/>
</value>
Обратите внимание, что в данном примере значение $createDate
равно 2018-08-03 00:00:00.0
результат будет:
<value>03-AUG-2018</value>
, а не '08-MAR-2018'
, как указано в вашем вопросе.