|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xsl:stylesheet version="3.0"
|
|
xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:err="http://www.w3.org/2005/xqt-errors"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:fwkmapping="http://www.loreal.com/hip/fwk/mapping/FwkMapping"
|
|
xmlns:document="http://www.loreal.com/hip/fwk/mapping/Document"
|
|
xmlns:invocationContext="http://www.loreal.com/hip/fwk/mapping/InvocationContext"
|
|
xmlns:property="http://www.loreal.com/hip/fwk/common/Property"
|
|
xmlns:header="http://www.loreal.com/hip/fwk/mapping/Header" xmlns:csv="http://www.loreal.com/hip/fwk/xsl/csv"
|
|
xmlns:cf="http://www.loreal.com/hip/fwk/mapping/customfunctions"
|
|
xmlns:saxon="http://saxon.sf.net/" exclude-result-prefixes="csv fn xs xsl cf saxon">
|
|
<xsl:output method="xml" encoding="UTF-8" byte-order-mark="no"
|
|
indent="yes" />
|
|
<!-- [Document] -->
|
|
<xsl:param name="input-data-type" select="'xml'"
|
|
as="xs:string" />
|
|
<!-- csv, json or xml -->
|
|
<xsl:param name="input-data-csv-field-separator" select="''"
|
|
as="xs:string" />
|
|
<xsl:param name="input-data-csv-line-separator" select="''"
|
|
as="xs:string" />
|
|
<xsl:param name="output-data-type" select="'xml'"
|
|
as="xs:string" />
|
|
<!-- csv, json or xml -->
|
|
<xsl:param name="output-data-csv-field-separator" select="''"
|
|
as="xs:string" />
|
|
<xsl:param name="output-data-csv-line-separator" select="''"
|
|
as="xs:string" />
|
|
<!-- [Transient] -->
|
|
<xsl:param name="input-transient-data-type" select="'xml'"
|
|
as="xs:string" />
|
|
<!-- csv, json or xml -->
|
|
<xsl:param name="input-transient-data-csv-field-separator"
|
|
select="''" as="xs:string" />
|
|
<xsl:param name="input-transient-data-csv-line-separator"
|
|
select="''" as="xs:string" />
|
|
<xsl:param name="output-transient-data-type" select="'xml'"
|
|
as="xs:string" />
|
|
<!-- csv, json or xml -->
|
|
<xsl:param name="output-transient-data-csv-field-separator"
|
|
select="''" as="xs:string" />
|
|
<xsl:param name="output-transient-data-csv-line-separator"
|
|
select="''" as="xs:string" />
|
|
<!-- [InvocationRequest] -->
|
|
<xsl:param name="input-invocation-request-data-type" select="'xml'"
|
|
as="xs:string" />
|
|
<!-- csv, json or xml -->
|
|
<xsl:param name="input-invocation-request-data-csv-field-separator"
|
|
select="''" as="xs:string" />
|
|
<xsl:param name="input-invocation-request-data-csv-line-separator"
|
|
select="''" as="xs:string" />
|
|
<xsl:param name="output-invocation-request-data-type" select="'xml'"
|
|
as="xs:string" />
|
|
<!-- csv, json or xml -->
|
|
<xsl:param name="output-invocation-request-data-csv-field-separator"
|
|
select="''"
|
|
as="xs:string" />
|
|
<xsl:param name="output-invocation-request-data-csv-line-separator"
|
|
select="''" as="xs:string" />
|
|
<!-- [InvocationResponse] -->
|
|
<xsl:param name="input-invocation-response-data-type" select="'json'"
|
|
as="xs:string" />
|
|
<!-- csv, json or xml -->
|
|
<xsl:param name="input-invocation-response-data-csv-field-separator"
|
|
select="''"
|
|
as="xs:string" />
|
|
<xsl:param name="input-invocation-response-data-csv-line-separator"
|
|
select="''" as="xs:string" />
|
|
<xsl:param name="output-invocation-response-data-type"
|
|
select="'json'" as="xs:string" />
|
|
<!--
|
|
csv, json or xml -->
|
|
<xsl:param name="output-invocation-response-data-csv-field-separator"
|
|
select="''"
|
|
as="xs:string" />
|
|
<xsl:param name="output-invocation-response-data-csv-line-separator"
|
|
select="''"
|
|
as="xs:string" />
|
|
<!-- [Common] -->
|
|
<xsl:param name="input-csv-field-separator" select="';'"
|
|
as="xs:string" />
|
|
<xsl:param name="input-csv-line-separator" select="'\r\n?|\n\r?'"
|
|
as="xs:string" />
|
|
<xsl:param name="output-csv-field-separator" select="','"
|
|
as="xs:string" />
|
|
<xsl:param name="output-csv-line-separator" select="'
'"
|
|
as="xs:string" />
|
|
<xsl:param name="input-csv-quote" select="'"'" as="xs:string" />
|
|
<xsl:param name="output-csv-quote" select="'"'" as="xs:string" />
|
|
<!-- [MF] use-csv false -->
|
|
<!-- [Template match="/" ] [Start] -->
|
|
<!-- [Template match="/" ] [End] -->
|
|
<!-- [Inject data] [Start] -->
|
|
<xsl:template match="/" priority="9">
|
|
<fwkmapping:fwkMappingOut>
|
|
<fwkmapping:fwkMapping>
|
|
<xsl:copy-of copy-namespaces="no" select="fwkmapping:fwkMappingIn/fwkmapping:fwkMapping/fwkmapping:header" />
|
|
<xsl:for-each select="fwkmapping:fwkMappingIn/fwkmapping:fwkMapping/fwkmapping:mappingData">
|
|
<!-- <xsl:try> -->
|
|
<!-- [File handling] [Start] -->
|
|
<!-- ###[Transient Data]### -->
|
|
<!-- ###[Invocation Response]### -->
|
|
<xsl:variable name="InvocationResponse-data">
|
|
<xsl:choose>
|
|
<xsl:when
|
|
test="string-length(fwkmapping:invocation/invocationContext:response/document:filename)>0 and string-length(fwkmapping:invocation/invocationContext:response/document:content/document:text)=0">
|
|
<xsl:copy-of
|
|
select="unparsed-text(concat('file:///',fwkmapping:invocation/invocationContext:response/document:filename))" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:copy-of
|
|
select="fwkmapping:invocation/invocationContext:response/document:content/document:text" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<!-- ###[Payload Data]### -->
|
|
<xsl:variable name="payload-data">
|
|
<xsl:choose>
|
|
<xsl:when
|
|
test="string-length(fwkmapping:document/document:filename)>0 and string-length(fwkmapping:document/document:content/document:text)=0">
|
|
<xsl:copy-of
|
|
select="unparsed-text(concat('file:///',fwkmapping:document/document:filename))" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:copy-of
|
|
select="fwkmapping:document/document:content/document:text" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<!-- [File handling] [End] -->
|
|
|
|
<!-- Parse Invocation Response -->
|
|
<xsl:variable name="invocation-Response">
|
|
<xsl:if test="string-length($InvocationResponse-data)>0">
|
|
<xsl:choose>
|
|
<!-- [MF] use-csv false -->
|
|
<xsl:when test="$input-invocation-response-data-type='json'">
|
|
<xsl:copy-of select="fn:json-to-xml($InvocationResponse-data)" />
|
|
|
|
</xsl:when>
|
|
<xsl:when test="$input-invocation-response-data-type='xml'">
|
|
<xsl:copy-of select="parse-xml($InvocationResponse-data)" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:copy-of select="$InvocationResponse-data" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</xsl:variable>
|
|
<!-- Parse Document input -->
|
|
<xsl:variable name="data">
|
|
<xsl:if test="string-length($payload-data)>0">
|
|
<xsl:choose>
|
|
<!-- [MF] use-csv false -->
|
|
<xsl:when test="$input-data-type='json'">
|
|
<!-- <xsl:copy-of select="fn:json-to-xml($payload-data)" /> -->
|
|
<xsl:copy-of select="fn:parse-json($payload-data)" />
|
|
</xsl:when>
|
|
<xsl:when test="$input-data-type='xml'">
|
|
<xsl:copy-of select="parse-xml($payload-data)" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:copy-of select="$payload-data" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</xsl:variable>
|
|
<!-- [call-template name="mapWrapper"] -->
|
|
<xsl:variable name="resultVar">
|
|
<xsl:call-template name="mapWrapper">
|
|
<xsl:with-param name="wrapperHeaderVar" select="fwkmapping:fwkMappingIn/fwkmapping:fwkMapping/fwkmapping:header" />
|
|
<!-- Add New -->
|
|
<xsl:with-param name="wrapperobjectTypeVar"
|
|
select="./fwkmapping:objectType" />
|
|
<xsl:with-param name="wrapperfileNameVar"
|
|
select="./fwkmapping:fileName" />
|
|
<xsl:with-param name="wrapperFunctionalKeysVar"
|
|
select="./fwkmapping:functionalKeys" />
|
|
<!-- Add New -->
|
|
<xsl:with-param name="wrapperParametersVar"
|
|
select="./fwkmapping:parameters" />
|
|
<xsl:with-param name="wrapperInvocationRespVar"
|
|
select="$invocation-Response" />
|
|
<xsl:with-param name="wrapperInvocationRespFileVar"
|
|
select="fwkmapping:invocation/invocationContext:response/document:filename" />
|
|
<xsl:with-param name="wrapperDataVar" select="$data" />
|
|
<xsl:with-param name="wrapperDataFileVar"
|
|
select="fwkmapping:document/document:filename" />
|
|
</xsl:call-template>
|
|
</xsl:variable>
|
|
<xsl:variable name="finalResultVar">
|
|
<!-- Invokes business map -->
|
|
<xsl:apply-templates select="$resultVar" mode="tibco" />
|
|
</xsl:variable>
|
|
<xsl:for-each
|
|
select="$finalResultVar/fwkmapping:fwkMappingOut/fwkmapping:fwkMapping/fwkmapping:mappingData">
|
|
<fwkmapping:mappingData>
|
|
<!-- Add New -->
|
|
<!-- [FunctionalKeys](Start] -->
|
|
<!-- [FunctionalKeys](End] -->
|
|
<!-- Add New -->
|
|
<!-- [Parameters](Start] -->
|
|
<!-- [Parameters](End] -->
|
|
<!-- [Transient][Start] -->
|
|
<!-- [Transient][End] -->
|
|
<!-- [Invocation][Start] -->
|
|
<!-- Build output -->
|
|
<!-- [Document][Start] -->
|
|
<fwkmapping:document>
|
|
<document:content>
|
|
<document:text>
|
|
<xsl:copy-of select="fwkmapping:document/document:content/document:xml/*"
|
|
copy-namespaces="no" />
|
|
<!-- <xsl:copy-of select="serialize(fwkmapping:document/document:content/document:xml/*)"
|
|
copy-namespaces="no" /> -->
|
|
</document:text>
|
|
</document:content>
|
|
<document:filename>
|
|
<xsl:value-of select="fwkmapping:document/document:filename" />
|
|
</document:filename>
|
|
<document:size>
|
|
<xsl:value-of select="xs:int(string-length(' '))" />
|
|
</document:size>
|
|
</fwkmapping:document>
|
|
<!-- [Document][End] -->
|
|
</fwkmapping:mappingData>
|
|
</xsl:for-each>
|
|
</xsl:for-each>
|
|
</fwkmapping:fwkMapping>
|
|
</fwkmapping:fwkMappingOut>
|
|
</xsl:template>
|
|
<!-- [Inject data] [End] -->
|
|
<!-- [mapWrapper][Start] -->
|
|
<xsl:template name="mapWrapper">
|
|
<xsl:param name="wrapperHeaderVar" />
|
|
<!-- Add New -->
|
|
<xsl:param name="wrapperobjectTypeVar" />
|
|
<xsl:param name="wrapperfileNameVar" />
|
|
<xsl:param name="wrapperFunctionalKeysVar" />
|
|
<!-- Add New -->
|
|
<xsl:param name="wrapperParametersVar" />
|
|
<xsl:param name="wrapperInvocationRespVar" />
|
|
<xsl:param name="wrapperInvocationRespFileVar" />
|
|
<xsl:param name="wrapperDataVar" />
|
|
<xsl:param name="wrapperDataFileVar" />
|
|
<!-- [Add fwkMappingIn] -->
|
|
<fwkmapping:fwkMappingIn>
|
|
<!-- [Add fwkMappingIn] -->
|
|
<fwkmapping:fwkMapping>
|
|
<xsl:copy-of copy-namespaces="no" select="$wrapperHeaderVar" />
|
|
<fwkmapping:mappingData>
|
|
<!-- Add New -->
|
|
<xsl:copy-of copy-namespaces="no" select="$wrapperobjectTypeVar" />
|
|
<xsl:copy-of copy-namespaces="no" select="$wrapperfileNameVar" />
|
|
<xsl:copy-of copy-namespaces="no"
|
|
select="$wrapperFunctionalKeysVar" />
|
|
<!-- Add New -->
|
|
<xsl:copy-of copy-namespaces="no" select="$wrapperParametersVar" />
|
|
<!-- Invocation -->
|
|
<fwkmapping:invocation>
|
|
<invocationContext:response>
|
|
<document:content>
|
|
<document:xml>
|
|
<xsl:copy-of copy-namespaces="no"
|
|
select="$wrapperInvocationRespVar" />
|
|
</document:xml>
|
|
</document:content>
|
|
<document:filename>
|
|
<xsl:value-of select="$wrapperInvocationRespFileVar" />
|
|
</document:filename>
|
|
<document:size>
|
|
<xsl:value-of select="xs:int(string-length($wrapperInvocationRespVar))" />
|
|
</document:size>
|
|
</invocationContext:response>
|
|
</fwkmapping:invocation>
|
|
<!-- Document -->
|
|
<fwkmapping:document>
|
|
<document:content>
|
|
<document:xml>
|
|
<xsl:copy-of copy-namespaces="no" select="$wrapperDataVar" />
|
|
</document:xml>
|
|
</document:content>
|
|
<document:filename>
|
|
<xsl:value-of select="$wrapperDataFileVar" />
|
|
</document:filename>
|
|
<document:size>
|
|
<xsl:value-of select="xs:int(string-length($wrapperDataVar))" />
|
|
</document:size>
|
|
</fwkmapping:document>
|
|
</fwkmapping:mappingData>
|
|
</fwkmapping:fwkMapping>
|
|
<!-- [Add fwkMappingIn] -->
|
|
<fwkmapping:output-data-type>
|
|
<xsl:value-of select="$output-data-type" />
|
|
</fwkmapping:output-data-type>
|
|
</fwkmapping:fwkMappingIn>
|
|
<!-- [Add fwkMappingIn] -->
|
|
</xsl:template>
|
|
<!-- [mapWrapper][End] -->
|
|
<!-- [CSV Render][Start] -->
|
|
<!-- [Write Files] [Start] -->
|
|
|
|
<!--[TIBCO_TEMPLATE] -->
|
|
<xsl:template name="Mapper-input" match="/" mode="tibco" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tns="http://www.loreal.com/hip/fwk/mapping/FwkMapping" xmlns:ns="http://www.loreal.com/hip/fwk/mapping/Document" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.w3.org/2005/xpath-functions" xmlns:ns4="http://www.loreal.com/hip/fwk/common/Property" xmlns:tns3="http://www.example.org/xml" >
|
|
<!-- TIBCO parameters are converted to variables -->
|
|
<xsl:variable name="Start" select="tns:fwkMappingIn" />
|
|
<xsl:variable name="ParseInvocationResponseJSON" select="$Start/tns:fwkMapping/tns:mappingData/tns:invocation/invocationContext:response/ns:content/ns:xml/*" />
|
|
<xsl:variable name="ParseXML" select="$Start/tns:fwkMapping/tns:mappingData/tns:document/ns:content/ns:xml/*" />
|
|
<!-- TIBCO map -->
|
|
<tns:fwkMappingOut>
|
|
<tns:fwkMapping>
|
|
<xsl:copy-of select="$Start/tns:fwkMapping/tns:header"/>
|
|
<tns:mappingData>
|
|
<!--/!\ The functional keys must be mapped /!\-->
|
|
<tns:functionalKeys>
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'first']/ns4:name"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'first']/ns4:value"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'replay']/ns4:name"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'replay']/ns4:value"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'interface']/ns4:name"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'interface']/ns4:value"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'skiptoken']/ns4:name"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="substring-after($ParseInvocationResponseJSON/ns1:map[@key='d']/ns1:string[@key='__next'],'skiptoken=')"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'selecturl']/ns4:name"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'selecturl']/ns4:value"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'expandurl']/ns4:name"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'expandurl']/ns4:value"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'target']/ns4:name"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'target']/ns4:value"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length($ParseInvocationResponseJSON/ns1:map[@key='d']/ns1:string[@key='__next']) > 0">
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="'loop'"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="'continue'"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<tns:functionalKey>
|
|
<ns4:name>
|
|
<xsl:value-of select="'loop'"/>
|
|
</ns4:name>
|
|
<ns4:value>
|
|
<xsl:value-of select="$Start/tns:fwkMapping/tns:mappingData/tns:functionalKeys/tns:functionalKey[ns4:name eq 'target']/ns4:value"/>
|
|
</ns4:value>
|
|
</tns:functionalKey>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</tns:functionalKeys>
|
|
<!--/!\ The parameters must be mapped /!\-->
|
|
<xsl:copy-of select="$Start/tns:fwkMapping/tns:mappingData[1]/tns:parameters"/>
|
|
<xsl:copy-of select="$Start/tns:fwkMapping/tns:mappingData/tns:transient"/>
|
|
<xsl:copy-of select="$Start/tns:fwkMapping/tns:mappingData/tns:invocation"/>
|
|
<tns:document>
|
|
<ns:content>
|
|
<ns:xml>
|
|
<tns:output>
|
|
<GBOEmployeeList>
|
|
<xsl:for-each select="$ParseInvocationResponseJSON/ns1:map[@key='d']/ns1:array[@key='results']/ns1:map[string-length(ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payrollId'])>0]">
|
|
<xsl:variable name="TerminatedSFDateValue" select="ns1:string[@key='endDate']"/>
|
|
<xsl:variable name="TerminatedDate" select="if(string-length($TerminatedSFDateValue)>0) then( if( xsd:long(substring-before(substring-after($TerminatedSFDateValue, '('),')/')) <0)then (xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after($TerminatedSFDateValue, '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))) else ((xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') +xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after($TerminatedSFDateValue, '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]")))))else ''"/>
|
|
<xsl:variable name="Terminationconsider" select="if (string-length(xsd:string($TerminatedDate))=0) then 'YES' else (if (xsd:date(format-date(xsd:date($TerminatedDate),'[Y0001]-[M01]-[D01]')) >= (xsd:date(format-date(current-date(),'[Y0001]-[M01]-[D01]'))- xsd:dayTimeDuration('P60D'))) then 'YES' else 'NO')"/>
|
|
<xsl:if test="not(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='company'] ='US11')and $Terminationconsider='YES'">
|
|
<GBOEmployee>
|
|
<xsl:variable name="PayGroup" select="ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payGroup']"/>
|
|
<xsl:variable name="Company" select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='company']"/>
|
|
<xsl:variable name="Shift" select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='shiftCodeNav']/ns1:string['externalCode']"/>
|
|
<Employee>
|
|
<xsl:variable name="VantagePayGroup1" select="if ($Company="474" and $PayGroup="B") then "Z2L" else if ($Company="474" and $PayGroup="B2") then "UBJ" else if ($Company="474" and $PayGroup="M") then "V2Y" else if ($Company="BAI" and $PayGroup="B") then "X6V" else if ($Company="BAI" and $PayGroup="B2") then "YTZ" else if ($Company="BY8" and $PayGroup="M") then "VM8" else if ($Company="CP1" and $PayGroup="B") then "W3W" else if ($Company="CP1" and $PayGroup="B2") then "V3M" else if ($Company="CP1" and $PayGroup="M") then "HW1" else if ($Company="CRB" and $PayGroup="B") then "VVY" else if ($Company="DG3" and $PayGroup="B") then "JM3" else if ($Company="DG3" and $PayGroup="B2") then "WZR" else if ($Company="DG3" and $PayGroup="M") then "VMX" else if ($Company="DG3" and $PayGroup="W2") then "WZS" else if ($Company="PR1" and $PayGroup="B") then "YU4" else if ($Company="Y85" and $PayGroup="B") then "VVX" else if ($Company="Y85" and $PayGroup="B2") then "WRR" else " ""/>
|
|
<xsl:for-each select="ns1:map[@key='userNav']/ns1:map[@key='userIdOfEmployeeTimeNav']/ns1:array[@key='results']/ns1:map">
|
|
<TimeEmp>
|
|
<xsl:if test="string-length(ns1:string[@key='startDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '('),')/')) < 0">
|
|
<TimeStartDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</TimeStartDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<TimeStartDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</TimeStartDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:string[@key='endDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='endDate'], '('),')/')) < 0">
|
|
<TimeEndDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='endDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</TimeEndDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<TimeEndDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='endDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</TimeEndDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:string[@key='timeType'])>0">
|
|
<xsl:if test="ns1:string[@key='timeType']">
|
|
<TimeType>
|
|
<xsl:value-of select="ns1:string[@key='timeType']"/>
|
|
</TimeType>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</TimeEmp>
|
|
</xsl:for-each>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='suffixNav']/ns1:string[@key='localeLabel'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='suffixNav']/ns1:string[@key='localeLabel']">
|
|
<suffix_label>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='suffixNav']/ns1:string[@key='localeLabel']"/>
|
|
</suffix_label>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerEmploymentNav']/ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString2']">
|
|
<manager-title>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerEmploymentNav']/ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString2']"/>
|
|
</manager-title>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString12']">
|
|
<HostDesignation>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString12']"/>
|
|
</HostDesignation>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString27']">
|
|
<benefit-program>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString27']"/>
|
|
</benefit-program>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='timeTypeProfileCode']">
|
|
<timeTypeProfileCode>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='timeTypeProfileCode']"/>
|
|
</timeTypeProfileCode>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString7']">
|
|
<specialCode>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString7']"/>
|
|
</specialCode>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString32']">
|
|
<local-pay-grade>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString32']"/>
|
|
</local-pay-grade>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='nativePreferredLangNav']/ns1:string[@key='externalCode']">
|
|
<languageCode>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='nativePreferredLangNav']/ns1:string[@key='externalCode']"/>
|
|
</languageCode>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='customString3']">
|
|
<StoreNumberUS>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='customString3']"/>
|
|
</StoreNumberUS>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString2']">
|
|
<KeyPlayerStatus>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString2']"/>
|
|
</KeyPlayerStatus>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='userNav']/ns1:string[@key='username']">
|
|
<username>
|
|
<xsl:value-of select="ns1:map[@key='userNav']/ns1:string[@key='username']"/>
|
|
</username>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:string[@key='userId'])>0">
|
|
<xsl:if test="ns1:string[@key='userId']">
|
|
<value>
|
|
<xsl:value-of select="ns1:string[@key='userId']"/>
|
|
</value>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="ns1:map[@key='userNav']/ns1:string[@key='loginMethod']">
|
|
<loginMethod>
|
|
<xsl:value-of select="ns1:map[@key='userNav']/ns1:string[@key='loginMethod']"/>
|
|
</loginMethod>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='preferredName'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='preferredName']">
|
|
<preferred-name>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='preferredName']"/>
|
|
</preferred-name>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='firstName'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='firstName']">
|
|
<first-name>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='firstName']"/>
|
|
</first-name>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='middleName'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='middleName']">
|
|
<middle-name>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='middleName']"/>
|
|
</middle-name>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='lastName'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='lastName']">
|
|
<last-name>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='lastName']"/>
|
|
</last-name>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerUserNav']/ns1:string[@key='firstName'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerUserNav']/ns1:string[@key='firstName']">
|
|
<first-name-alt2>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerUserNav']/ns1:string[@key='firstName']"/>
|
|
</first-name-alt2>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerUserNav']/ns1:string[@key='lastName'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerUserNav']/ns1:string[@key='lastName']">
|
|
<last-name-alt2>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerUserNav']/ns1:string[@key='lastName']"/>
|
|
</last-name-alt2>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="ns1:map[@key='userNav']/ns1:string[@key='salutation']">
|
|
<title>
|
|
<xsl:value-of select="ns1:map[@key='userNav']/ns1:string[@key='salutation']"/>
|
|
</title>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='gender'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='gender']">
|
|
<gender>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='gender']"/>
|
|
</gender>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<address>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:map[@key='countryNav']/ns1:string[@key='territoryName'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:map[@key='countryNav']/ns1:string[@key='territoryName']">
|
|
<territoryName>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:map[@key='countryNav']/ns1:string[@key='territoryName']"/>
|
|
</territoryName>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='address1'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='address1']">
|
|
<line>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='address1']"/>
|
|
</line>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='address2']">
|
|
<extendedLines>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='address2']"/>
|
|
</extendedLines>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='country'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='country']">
|
|
<countryCode>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='country']"/>
|
|
</countryCode>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='address3']">
|
|
<address3>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='address3']"/>
|
|
</address3>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:map[@key='stateNav']/ns1:string[@key='externalCode'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:map[@key='stateNav']/ns1:string[@key='externalCode']">
|
|
<countrySubDivisions>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:map[@key='stateNav']/ns1:string[@key='externalCode']"/>
|
|
</countrySubDivisions>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="string-length(ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='city'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='city']">
|
|
<city>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='city']"/>
|
|
</city>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='zipCode'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='zipCode']">
|
|
<postalCode>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='homeAddressNavDEFLT']/ns1:array[@key='results']/ns1:map[ns1:string[@key='addressType']="home"]/ns1:string[@key='zipCode']"/>
|
|
</postalCode>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</address>
|
|
<xsl:for-each select="ns1:map[@key='personNav']/ns1:map[@key='phoneNav']/ns1:array[@key='results']/ns1:map">
|
|
<phone>
|
|
<xsl:if test="ns1:map[@key='customString1Nav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='cust_dialcode']">
|
|
<countryDialingCode>
|
|
<xsl:value-of select="ns1:map[@key='customString1Nav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='cust_dialcode']"/>
|
|
</countryDialingCode>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:string[@key='phoneNumber'])>0">
|
|
<xsl:if test="ns1:string[@key='phoneNumber']">
|
|
<phone-number>
|
|
<xsl:value-of select="ns1:string[@key='phoneNumber']"/>
|
|
</phone-number>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="string-length(ns1:map[@key='phoneTypeNav']/ns1:string[@key='externalCode'])>0">
|
|
<xsl:if test="ns1:map[@key='phoneTypeNav']/ns1:string[@key='externalCode']">
|
|
<phone-type>
|
|
<xsl:value-of select="ns1:map[@key='phoneTypeNav']/ns1:string[@key='externalCode']"/>
|
|
</phone-type>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</phone>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="ns1:map[@key='personNav']/ns1:map[@key='emailNav']/ns1:array[@key='results']/ns1:map">
|
|
<email>
|
|
<xsl:if test="string-length(ns1:string[@key='emailAddress'])>0">
|
|
<xsl:if test="ns1:string[@key='emailAddress']">
|
|
<email-address>
|
|
<xsl:value-of select="ns1:string[@key='emailAddress']"/>
|
|
</email-address>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:map[@key='emailTypeNav']/ns1:string[@key='externalCode'])>0">
|
|
<xsl:if test="ns1:map[@key='emailTypeNav']/ns1:string[@key='externalCode']">
|
|
<email-type>
|
|
<xsl:value-of select="ns1:map[@key='emailTypeNav']/ns1:string[@key='externalCode']"/>
|
|
</email-type>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</email>
|
|
</xsl:for-each>
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key="localNavUSA"]/ns1:map[@key="customString13Nav"]/ns1:string[@key="externalCode"]">
|
|
<ethnic-code>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key="localNavUSA"]/ns1:map[@key="customString13Nav"]/ns1:string[@key="externalCode"]"/>
|
|
</ethnic-code>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key="localNavUSA"]/ns1:map[@key="customString13Nav"]/ns1:string[@key="localeLabel"]">
|
|
<ethnic-description>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key="localNavUSA"]/ns1:map[@key="customString13Nav"]/ns1:string[@key="localeLabel"]"/>
|
|
</ethnic-description>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='maritalStatusNav']/ns1:string[@key='externalCode']">
|
|
<marital-status>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='personalInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='maritalStatusNav']/ns1:string[@key='externalCode']"/>
|
|
</marital-status>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='personNav']/ns1:map[@key='nationalIdNav']/ns1:array[@key='results']/ns1:map[ns1:string[@key='country']="USA"]/ns1:string[@key='nationalId'])>0">
|
|
<xsl:if test="ns1:map[@key='personNav']/ns1:map[@key='nationalIdNav']/ns1:array[@key='results']/ns1:map[ns1:string[@key='country']="USA"]/ns1:string[@key='nationalId']">
|
|
<national-id>
|
|
<xsl:value-of select="ns1:map[@key='personNav']/ns1:map[@key='nationalIdNav']/ns1:array[@key='results']/ns1:map[ns1:string[@key='country']="USA"]/ns1:string[@key='nationalId']"/>
|
|
</national-id>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="string-length(ns1:map[@key='personNav']/ns1:string[@key='dateOfBirth'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:map[@key='personNav']/ns1:string[@key='dateOfBirth'], '('),')/')) < 0">
|
|
<date-of-birth>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='personNav']/ns1:string[@key='dateOfBirth'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</date-of-birth>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<date-of-birth>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='personNav']/ns1:string[@key='dateOfBirth'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</date-of-birth>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:string[@key='customDate6'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='customDate6'], '('),')/')) < 0">
|
|
<deathDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate6'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</deathDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<deathDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate6'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</deathDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:string[@key='payrollEndDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='payrollEndDate'], '('),')/')) < 0">
|
|
<PayrollEndDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='payrollEndDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</PayrollEndDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<PayrollEndDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='payrollEndDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</PayrollEndDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='emplStatusNav']/ns1:string[@key='externalCode'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='emplStatusNav']/ns1:string[@key='externalCode']">
|
|
<Status>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='emplStatusNav']/ns1:string[@key='externalCode']"/>
|
|
</Status>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='emplStatusNav']/ns1:string[@key='localeLabel']">
|
|
<DetailedStatus>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='emplStatusNav']/ns1:string[@key='localeLabel']"/>
|
|
</DetailedStatus>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='companyNav']/ns1:string[@key='name_defaultValue'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='companyNav']/ns1:string[@key='name_defaultValue']">
|
|
<company_descr>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='companyNav']/ns1:string[@key='name_defaultValue']"/>
|
|
</company_descr>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString35Nav']/ns1:map[@key='cust_EEOJobGroupNav']/ns1:string[@key='label_defaultValue'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString35Nav']/ns1:map[@key='cust_EEOJobGroupNav']/ns1:string[@key='label_defaultValue']">
|
|
<employee-type>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString35Nav']/ns1:map[@key='cust_EEOJobGroupNav']/ns1:string[@key='label_defaultValue']"/>
|
|
</employee-type>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString4'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString4']">
|
|
<employee-class>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString4']"/>
|
|
</employee-class>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString31'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString31']">
|
|
<employment-type>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString31']"/>
|
|
</employment-type>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString6']">
|
|
<prof-code>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString6']"/>
|
|
</prof-code>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:string[@key='customDate1'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '('),')/')) < 0">
|
|
<Grp-SeniorityDt>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</Grp-SeniorityDt>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<Grp-SeniorityDt>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</Grp-SeniorityDt>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="ns1:string[@key='assignmentClass'] eq 'GA'">
|
|
<xsl:for-each select="ns1:map[@key='personNav']/ns1:map[@key='employmentNav']/ns1:array[@key='results']/ns1:map[string-length(ns1:string[@key='customDate1'])>0]">
|
|
<serviceDateMap>
|
|
<xsl:if test="string-length(ns1:string[@key='customDate1'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '('),')/')) < 0">
|
|
<serviceDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</serviceDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<serviceDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</serviceDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</serviceDateMap>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="ns1:map[@key='personNav']/ns1:map[@key='employmentNav']/ns1:array[@key='results']/ns1:map[string-length(ns1:string[@key='customDate2'])>0]">
|
|
<orighireDateMap>
|
|
<xsl:if test="string-length(ns1:string[@key='customDate2'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '('),')/')) < 0">
|
|
<orighireDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</orighireDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<orighireDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</orighireDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</orighireDateMap>
|
|
</xsl:for-each>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:if test="string-length(ns1:string[@key='customDate1'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '('),')/')) < 0">
|
|
<serviceDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</serviceDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<serviceDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate1'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</serviceDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:string[@key='customDate2'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '('),')/')) < 0">
|
|
<orighireDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</orighireDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<orighireDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</orighireDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:string[@key='customDate2'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '('),')/')) < 0">
|
|
<GrpSeniorDt>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</GrpSeniorDt>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<GrpSeniorDt>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='customDate2'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</GrpSeniorDt>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='lastModifiedOn'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='lastModifiedOn'], '('),')/')) < 0">
|
|
<latest-effdt-change>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='lastModifiedOn'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</latest-effdt-change>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<latest-effdt-change>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='lastModifiedOn'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</latest-effdt-change>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='positionEntryDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='positionEntryDate'], '('),')/')) < 0">
|
|
<EntryDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='positionEntryDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</EntryDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<EntryDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='positionEntryDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</EntryDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='startDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='startDate'], '('),')/')) < 0">
|
|
<EffectiveStart>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='startDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</EffectiveStart>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<EffectiveStart>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='startDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</EffectiveStart>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="string-length(ns1:string[@key='startDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '('),')/')) < 0">
|
|
<hireDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</hireDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<hireDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</hireDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='companyEntryDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='companyEntryDate'], '('),')/')) < 0">
|
|
<StartDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='companyEntryDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</StartDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<StartDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='companyEntryDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</StartDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:string[@key='seniorityDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='seniorityDate'], '('),')/')) < 0">
|
|
<seniorityDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='seniorityDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</seniorityDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<seniorityDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='seniorityDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</seniorityDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="string-length(ns1:string[@key='endDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='endDate'], '('),')/')) < 0">
|
|
<contract-end-date>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='endDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</contract-end-date>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<contract-end-date>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='endDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</contract-end-date>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:string[@key='lastDateWorked'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='lastDateWorked'], '('),')/')) < 0">
|
|
<lastDateWorked>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='lastDateWorked'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</lastDateWorked>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<lastDateWorked>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='lastDateWorked'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</lastDateWorked>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:if test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='jobCode'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='jobCode']">
|
|
<job-code>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='jobCode']"/>
|
|
</job-code>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString35']">
|
|
<job-code-US>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString35']"/>
|
|
</job-code-US>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString2'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString2']">
|
|
<job-title>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString2']"/>
|
|
</job-title>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='jobCodeNav']/ns1:string[@key='name_defaultValue'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='jobCodeNav']/ns1:string[@key='name_defaultValue']">
|
|
<local-job-title>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='jobCodeNav']/ns1:string[@key='name_defaultValue']"/>
|
|
</local-job-title>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString6'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString6']">
|
|
<ProfessionalField-Code>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString6']"/>
|
|
</ProfessionalField-Code>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString6Nav']/ns1:string[@key='name_defaultValue'])>0">
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString6Nav']/ns1:string[@key='name_defaultValue']">
|
|
<ProfessionalField-Label>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString6Nav']/ns1:string[@key='name_defaultValue']"/>
|
|
</ProfessionalField-Label>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString35Nav']/ns1:string[@key='cust_localpaygrade']">
|
|
<pay-grade-US>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString35Nav']/ns1:string[@key='cust_localpaygrade']"/>
|
|
</pay-grade-US>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payGrade']">
|
|
<pay-grade>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payGrade']"/>
|
|
</pay-grade>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='standardHours']="" or ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='standardHours']=" "">
|
|
<standard-hours>
|
|
<xsl:value-of select="0"/>
|
|
</standard-hours>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<standard-hours>
|
|
<xsl:value-of select="xsd:double(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='standardHours'])"/>
|
|
</standard-hours>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:boolean(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='isFulltimeEmployee']) eq false() or ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='isFulltimeEmployee'] eq false()">
|
|
<is-fulltime-employee>
|
|
<xsl:value-of select=""P""/>
|
|
</is-fulltime-employee>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<is-fulltime-employee>
|
|
<xsl:value-of select=""F""/>
|
|
</is-fulltime-employee>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<FTE>
|
|
<xsl:value-of select="if(substring(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString31'],string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString31']),1) = ("1","2","5","8")) then 'P' else if(substring(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString31'],string-length(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString31']),1) = ("3","4","7","9")) then 'F' else ' '"/>
|
|
</FTE>
|
|
<FTEHYP>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='fte']"/>
|
|
</FTEHYP>
|
|
<xsl:if test="$ParseInvocationResponseJSON/ns1:map[ns1:string[@key='EmployeeId'] = current()/ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payrollId']]/ns1:string[@key='Custom3']">
|
|
<Floor>
|
|
<xsl:value-of select="$ParseInvocationResponseJSON/ns1:map[ns1:string[@key='EmployeeId'] = current()/ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payrollId']]/ns1:string[@key='Custom3']"/>
|
|
</Floor>
|
|
</xsl:if>
|
|
<xsl:if test="$ParseInvocationResponseJSON/ns1:map[ns1:string[@key='EmployeeId'] = current()/ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payrollId']]/ns1:string[@key='Custom4']">
|
|
<Seat>
|
|
<xsl:value-of select="$ParseInvocationResponseJSON/ns1:map[ns1:string[@key='EmployeeId'] = current()/ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payrollId']]/ns1:string[@key='Custom4']"/>
|
|
</Seat>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='shiftCodeNav']/ns1:string['externalCode']">
|
|
<shift-code>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='shiftCodeNav']/ns1:string['externalCode']"/>
|
|
</shift-code>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString4Nav']/ns1:string[@key='externalName_defaultValue']">
|
|
<supervisor-level>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString4Nav']/ns1:string[@key='externalName_defaultValue']"/>
|
|
</supervisor-level>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='eventReason']">
|
|
<change-reason>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='eventReason']"/>
|
|
</change-reason>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='eventNav']/ns1:string['externalCode']">
|
|
<change-reason-external>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='eventNav']/ns1:string['externalCode']"/>
|
|
</change-reason-external>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='company']">
|
|
<company>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='company']"/>
|
|
</company>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:string[@key='geozoneFlx']">
|
|
<GeographicZone>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:string[@key='geozoneFlx']"/>
|
|
</GeographicZone>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='customString35']">
|
|
<business-unit>
|
|
<xsl:value-of select="ns1:string[@key='customString35']"/>
|
|
</business-unit>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='businessUnit']">
|
|
<businessUnitName>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='businessUnit']"/>
|
|
</businessUnitName>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='businessUnitNav']/ns1:string[@key='name_defaultValue']">
|
|
<typeOfBusinessUnit2>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='businessUnitNav']/ns1:string[@key='name_defaultValue']"/>
|
|
</typeOfBusinessUnit2>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='costCenterNav']/ns1:string[@key='name_defaultValue']">
|
|
<Area>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='costCenterNav']/ns1:string[@key='name_defaultValue']"/>
|
|
</Area>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='division']">
|
|
<division>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='division']"/>
|
|
</division>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='divisionNav']/ns1:string[@key='name_defaultValue']">
|
|
<divisionName>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='divisionNav']/ns1:string[@key='name_defaultValue']"/>
|
|
</divisionName>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString5']">
|
|
<brandCode>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='customString5']"/>
|
|
</brandCode>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='department']">
|
|
<department>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='department']"/>
|
|
</department>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='departmentNav']/ns1:string[@key='name_defaultValue']">
|
|
<departmentName>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='departmentNav']/ns1:string[@key='name_defaultValue']"/>
|
|
</departmentName>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='location']">
|
|
<locationId>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='location']"/>
|
|
</locationId>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:string[@key='name']">
|
|
<locationName>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:string[@key='name']"/>
|
|
</locationName>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='country']">
|
|
<countryCode>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='country']"/>
|
|
</countryCode>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:map[@key='stateNav']/ns1:string[@key='externalCode']">
|
|
<countrySubDivisions>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:map[@key='stateNav']/ns1:string[@key='externalCode']"/>
|
|
</countrySubDivisions>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='city']">
|
|
<city>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='city']"/>
|
|
</city>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='county']">
|
|
<county>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='county']"/>
|
|
</county>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='zipCode']">
|
|
<postalCode>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='locationNav']/ns1:map[@key='addressNavDEFLT']/ns1:string[@key='zipCode']"/>
|
|
</postalCode>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='timezone']">
|
|
<timezone>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='timezone']"/>
|
|
</timezone>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='costCenter']">
|
|
<cost-center>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='costCenter']"/>
|
|
</cost-center>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerEmploymentNav']/ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string['payrollId']">
|
|
<rel-user-id>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerEmploymentNav']/ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string['payrollId']"/>
|
|
</rel-user-id>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerUserNav']/ns1:string[@key='defaultFullName']">
|
|
<manager-fullname>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='managerUserNav']/ns1:string[@key='defaultFullName']"/>
|
|
</manager-fullname>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString34Nav']/ns1:string[@key='localeLabel']">
|
|
<ROW_STATE>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString34Nav']/ns1:string[@key='localeLabel']"/>
|
|
</ROW_STATE>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payGroup']">
|
|
<pay-group>
|
|
<xsl:value-of select="ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payGroup']"/>
|
|
</pay-group>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="$VantagePayGroup1="W3W" and ($Shift="4" or $Shift="5" or $Shift="6" or $Shift="7")">
|
|
<vantage-pay-group>
|
|
<xsl:value-of select=""WXR""/>
|
|
</vantage-pay-group>
|
|
</xsl:when>
|
|
<xsl:when test="$VantagePayGroup1="V3M" and ($Shift="4" or $Shift="5")">
|
|
<vantage-pay-group>
|
|
<xsl:value-of select=""WXQ""/>
|
|
</vantage-pay-group>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<vantage-pay-group>
|
|
<xsl:value-of select="$VantagePayGroup1"/>
|
|
</vantage-pay-group>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:if test="ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payrollId']">
|
|
<payroll-id>
|
|
<xsl:value-of select="substring(ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:string[@key='payrollId'],1,6)"/>
|
|
</payroll-id>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='flsaStatusNav']/ns1:string[@key='externalCode']">
|
|
<flsa-status>
|
|
<xsl:value-of select="if(ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='flsaStatusNav']/ns1:string[@key='externalCode']= 'E') then 'X' else 'N'"/>
|
|
</flsa-status>
|
|
</xsl:if>
|
|
<xsl:for-each select="ns1:map[@key='compInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='empPayCompRecurringNav']/ns1:array[@key='results']/ns1:map">
|
|
<Pay_Component_Recurring>
|
|
<xsl:if test="ns1:string[@key='payComponent']">
|
|
<pay-component>
|
|
<xsl:value-of select="ns1:string[@key='payComponent']"/>
|
|
</pay-component>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="ns1:string[@key='paycompvalue']="" or ns1:string[@key='paycompvalue']=" "">
|
|
<paycompvalue>
|
|
<xsl:value-of select="0.0"/>
|
|
</paycompvalue>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:if test="ns1:string[@key='paycompvalue']">
|
|
<paycompvalue>
|
|
<xsl:value-of select="ns1:string[@key='paycompvalue']"/>
|
|
</paycompvalue>
|
|
</xsl:if>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:if test="ns1:string[@key='frequency']">
|
|
<frequency>
|
|
<xsl:value-of select="ns1:string[@key='frequency']"/>
|
|
</frequency>
|
|
</xsl:if>
|
|
<xsl:if test="string-length(ns1:string[@key='startDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '('),')/')) < 0">
|
|
<startDate-PayComp>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</startDate-PayComp>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<startDate-PayComp>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='startDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</startDate-PayComp>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</Pay_Component_Recurring>
|
|
</xsl:for-each>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString27Nav']/ns1:string[@key='externalCode']">
|
|
<is-eligible-for-benefit>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString27Nav']/ns1:string[@key='externalCode']"/>
|
|
</is-eligible-for-benefit>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString42Nav']/ns1:string[@key='externalCode']">
|
|
<LOA_custom>
|
|
<xsl:value-of select="ns1:map[@key='jobInfoNav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='customString42Nav']/ns1:string[@key='externalCode']"/>
|
|
</LOA_custom>
|
|
</xsl:if>
|
|
<xsl:for-each select="ns1:map[@key='userNav']/ns1:map[@key='externalCodeOfcust_parentLocalLTINav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='cust_LocalLTIHistory']/ns1:array[@key='results']/ns1:map">
|
|
<localLTI>
|
|
<xsl:if test="ns1:string[@key='cust_PlanCode']">
|
|
<planCode>
|
|
<xsl:value-of select="ns1:string[@key='cust_PlanCode']"/>
|
|
</planCode>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='externalName']">
|
|
<sharePrice>
|
|
<xsl:value-of select="ns1:string[@key='externalName']"/>
|
|
</sharePrice>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='cust_ShareValue']">
|
|
<shareValue>
|
|
<xsl:value-of select="ns1:string[@key='cust_ShareValue']"/>
|
|
</shareValue>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='cust_NbShares']">
|
|
<numShares>
|
|
<xsl:value-of select="ns1:string[@key='cust_NbShares']"/>
|
|
</numShares>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='cust_CurrencyCode']">
|
|
<currencyCode>
|
|
<xsl:value-of select="ns1:string[@key='cust_CurrencyCode']"/>
|
|
</currencyCode>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:string[@key='cust_ShareGrantDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='cust_ShareGrantDate'], '('),')/')) < 0">
|
|
<grantDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='cust_ShareGrantDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</grantDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<grantDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='cust_ShareGrantDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</grantDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</localLTI>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="ns1:map[@key='userNav']/ns1:map[@key='externalCodeOfcust_parentGlobalLTINav']/ns1:array[@key='results']/ns1:map[1]/ns1:map[@key='cust_GlobalLTIHistory']/ns1:array[@key='results']/ns1:map">
|
|
<localLTI>
|
|
<xsl:if test="ns1:string[@key='cust_PlanCode']">
|
|
<planCode>
|
|
<xsl:value-of select="ns1:string[@key='cust_PlanCode']"/>
|
|
</planCode>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='externalName']">
|
|
<sharePrice>
|
|
<xsl:value-of select="ns1:string[@key='externalName']"/>
|
|
</sharePrice>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='cust_ShareValue']">
|
|
<shareValue>
|
|
<xsl:value-of select="ns1:string[@key='cust_ShareValue']"/>
|
|
</shareValue>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='cust_NbShares']">
|
|
<numShares>
|
|
<xsl:value-of select="ns1:string[@key='cust_NbShares']"/>
|
|
</numShares>
|
|
</xsl:if>
|
|
<xsl:if test="ns1:string[@key='cust_CurrencyCode']">
|
|
<currencyCode>
|
|
<xsl:value-of select="ns1:string[@key='cust_CurrencyCode']"/>
|
|
</currencyCode>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(ns1:string[@key='cust_ShareGrantDate'])>0">
|
|
<xsl:choose>
|
|
<xsl:when test="xsd:long(substring-before(substring-after(ns1:string[@key='cust_ShareGrantDate'], '('),')/')) < 0">
|
|
<grantDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') - xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='cust_ShareGrantDate'], '(-'),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</grantDate>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<grantDate>
|
|
<xsl:value-of select="xsd:date(format-dateTime(xsd:dateTime('1970-01-01T00:00:00') + xsd:dayTimeDuration(concat('P', xsd:string(floor(xsd:long(substring-before(substring-after(ns1:string[@key='cust_ShareGrantDate'], '('),')/')) div 86400000)),'D')), "[Y0001]-[M01]-[D01]"))"/>
|
|
</grantDate>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</localLTI>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="ns1:map[@key='empPayCompNonRecurringNav']/ns1:array[@key='results']/ns1:map">
|
|
<Pay_Component_NonRecurring>
|
|
<xsl:if test="ns1:string[@key='payComponentCode']">
|
|
<pay-component>
|
|
<xsl:value-of select="ns1:string[@key='payComponentCode']"/>
|
|
</pay-component>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="ns1:string[@key='value']="" or ns1:string[@key='value']=" "">
|
|
<paycompvalue>
|
|
<xsl:value-of select="0.0"/>
|
|
</paycompvalue>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:if test="ns1:string[@key='value']">
|
|
<paycompvalue>
|
|
<xsl:value-of select="ns1:string[@key='value']"/>
|
|
</paycompvalue>
|
|
</xsl:if>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:if test="string-length(substring-before(substring-after(ns1:string[@key='payDate'], '('),')/'))>0">
|
|
<startDate-PayComp>
|
|
<xsl:value-of select="substring-before(substring-after(ns1:string[@key='payDate'], '('),')/')"/>
|
|
</startDate-PayComp>
|
|
</xsl:if>
|
|
</Pay_Component_NonRecurring>
|
|
</xsl:for-each>
|
|
</Employee>
|
|
</GBOEmployee>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="$ParseXML/GBOEmployee">
|
|
<GBOEmployee>
|
|
<xsl:copy-of select="Employee"/>
|
|
</GBOEmployee>
|
|
</xsl:for-each>
|
|
</GBOEmployeeList>
|
|
</tns:output>
|
|
</ns:xml>
|
|
</ns:content>
|
|
<ns:size>
|
|
<xsl:value-of select="0"/>
|
|
</ns:size>
|
|
</tns:document>
|
|
</tns:mappingData>
|
|
</tns:fwkMapping>
|
|
</tns:fwkMappingOut>
|
|
</xsl:template>
|
|
</xsl:stylesheet>
|