Showing posts with label call-template. Show all posts
Showing posts with label call-template. Show all posts

Thursday, June 11, 2020

SOA 12c - Call Template to get a date format

Here we will see how to use template to get following date format.

Input:
 <HIRE_DATE>30-JAN-2012</HIRE_DATE>
Output:
 <HIRE_DATE>2012-01-30</HIRE_DATE>

In the XSLT :

In the main template use:
 <ns1:hireDate>
    <xsl:call-template name="formatDate">
        <xsl:with-param name="date" select="HIRE_DATE"/>
    </xsl:call-template>
  </ns1:hireDate>

Called template:
<xsl:template name="formatDate">
      <xsl:param name="date"/>
      <xsl:variable name="year" select="substring($date, 8, 4)"/>
      <xsl:variable name="month" select="substring($date, 4, 3)"/>
      <xsl:variable name="day" select="substring($date, 1, 2)"/>
      <xsl:choose>
         <xsl:when test="$month='JAN'">
            <xsl:value-of select="concat($year,'-01-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='FEB'">
            <xsl:value-of select="concat($year,'-02-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='MAR'">
            <xsl:value-of select="concat($year,'-03-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='APR'">
            <xsl:value-of select="concat($year,'-04-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='MAY'">
            <xsl:value-of select="concat($year,'-05-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='JUN'">
            <xsl:value-of select="concat($year,'-06-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='JUL'">
            <xsl:value-of select="concat($year,'-07-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='AUG'">
            <xsl:value-of select="concat($year,'-08-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='SEP'">
            <xsl:value-of select="concat($year,'-09-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='OCT'">
            <xsl:value-of select="concat($year,'-10-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='NOV'">
            <xsl:value-of select="concat($year,'-11-',$day)"/>
         </xsl:when>
         <xsl:when test="$month='DEC'">
            <xsl:value-of select="concat($year,'-12-',$day)"/>
         </xsl:when>
      </xsl:choose>
   </xsl:template>

Featured Post

11g to 12c OSB projects migration points

1. Export 11g OSB code and import in 12c Jdeveloper. Steps to import OSB project in Jdeveloper:   File⇾Import⇾Service Bus Resources⇾ Se...