|
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:ScriptNS0="http://schemas.microsoft.com/BizTalk/2003/ScriptNS0"
- xmlns:ScriptNS1="http://schemas.microsoft.com/BizTalk/2003/ScriptNS1"
-
- xmlns:DateTime="TM.Shared.Components.DateTime"
- xmlns:SSO="TM.Shared.Components.SSO"
- xmlns:String="TM.Shared.Components.String"
-
- xmlns:s0="http://TM.KLG.com/KLG/OrderStatus/v19A"
- xmlns:ns0="http://TM.nShift.messages"
-
- exclude-result-prefixes="s0 ns0 ScriptNS0 ScriptNS1 DateTime SSO String">
-
- <xsl:output omit-xml-declaration="yes" method="xml" version="1.0" indent="yes" />
-
- <!-- region global variable initialization -->
-
- <xsl:variable name="connectionString" select="SSO:GetValue('TM.TransSmart', 'ESBLookupConnectionString')"/>
-
- <xsl:variable name ="sender">
- <xsl:choose>
- <xsl:when test="/s0:StatusReport/Sender='KLGEUEERSE01'">KLE</xsl:when>
- <xsl:when test="/s0:StatusReport/Sender='KLGEUVENLO01'">KLG</xsl:when>
- <xsl:otherwise>KLG</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- end region -->
-
- <!-- region templates -->
-
- <xsl:template match="/">
- <xsl:apply-templates select="/s0:StatusReport" />
- </xsl:template>
-
- <xsl:template match="/s0:StatusReport">
- <xsl:variable name="currentDateTime" select="DateTime:GetCurrentDateTime()" />
- <xsl:variable name="currentDate" select="DateTime:GetCurrentDate()" />
-
- <ns0:root>
- <ns0:status>
- <xsl:attribute name="carrier">
- <xsl:value-of select="$sender" />
- </xsl:attribute>
- <xsl:for-each select="Status">
- <ns0:shipment>
- <ns0:lineNo>
- <xsl:number/>
- </ns0:lineNo>
- <ns0:statusTimeStamp>
- <xsl:value-of select="DateTime:FormatDateTime(/s0:StatusReport/TimeStamp, 'yyyy-MM-ddTHH:mm:ss', 'yyyyMMddHHmmss', 'statusTimeStamp')"/>
- </ns0:statusTimeStamp>
- <ns0:reference>
- <xsl:value-of select="ShipmentReference"/>
- </ns0:reference>
- <xsl:if test="StatusCode='DELIVERED'">
- <ns0:deliveryDate>
- <xsl:value-of select="DateTime:FormatDateTime(StatusTimeStamp, 'yyyy-MM-ddTHH:mm:ss', 'yyyyMMdd', 'statusTimeStamp')"/>
- </ns0:deliveryDate>
- <ns0:deliveryTime>
- <xsl:value-of select="DateTime:FormatDateTime(StatusTimeStamp, 'yyyy-MM-ddTHH:mm:ss', 'HHmmss', 'statusTimeStamp')"/>
- </ns0:deliveryTime>
- </xsl:if>
- <ns0:shipmentStatus>
- <xsl:choose>
- <xsl:when test="StatusCode='DELIVERED'">
- <xsl:text>DONE</xsl:text>
- </xsl:when>
- <xsl:when test="StatusCode='DELIVERY' and ReasonCode='TRANSIT'">
- <xsl:text>TRNS</xsl:text>
- </xsl:when>
- <xsl:otherwise>TRNS</xsl:otherwise>
- </xsl:choose>
- </ns0:shipmentStatus>
- <ns0:carrierStatusCode>
- <xsl:value-of select="StatusCode"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="ReasonCode"/>
- </ns0:carrierStatusCode>
- </ns0:shipment>
- </xsl:for-each>
- </ns0:status>
- </ns0:root>
- </xsl:template>
- <!-- end region -->
-
- <xsl:variable name="dbClose" select="ScriptNS0:DBLookupShutdown()"/>
-
- </xsl:stylesheet>
|