I created one XSLT with all kinds of validations etc. Now my client wants me to pass XXX for every blank value. There are lot of fields and I don't wan't to do it manually for each field. Can yo please help. Below is my XSLT
<?xml version="1.0" encoding="UTF-8"?>
| | |
</xsl:template>
<!--Starting Employee Data -->
<xsl:template match="wd:Response_Data">
<xsl:for-each select="wd:Worker">
<xsl:value-of select="wd:Worker_Reference/wd:ID[@wd:type = 'Employee_ID']"/>
<xsl:text>|</xsl:text>
<xsl:choose>
<xsl:when
test="wd:Worker_Data/wd:Personal_Data/wd:Name_Data/wd:Preferred_Name_Data/wd:Name_Detail_Data/wd:Last_Name != ''">
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Name_Data/wd:Preferred_Name_Data/wd:Name_Detail_Data/wd:Last_Name"
/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Name_Data/wd:Legal_Name_Data/wd:Name_Detail_Data/wd:Last_Name"
/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>|</xsl:text>
<xsl:choose>
<xsl:when
test="wd:Worker_Data/wd:Personal_Data/wd:Name_Data/wd:Preferred_Name_Data/wd:Name_Detail_Data/wd:First_Name != ''">
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Name_Data/wd:Preferred_Name_Data/wd:Name_Detail_Data/wd:First_Name"
/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Name_Data/wd:Legal_Name_Data/wd:Name_Detail_Data/wd:First_Name"
/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>|</xsl:text>
<xsl:if
test="count(wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data) > 1">
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data[wd:Usage_Data/wd:Type_Data/wd:Type_Reference[wd:ID[@wd:type = 'Communication_Usage_Type_ID'] = 'HOME']]/wd:Address_Line_Data[@wd:Type = 'ADDRESS_LINE_1']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data[wd:Usage_Data/wd:Type_Data/wd:Type_Reference[wd:ID[@wd:type = 'Communication_Usage_Type_ID'] = 'HOME']]/wd:Address_Line_Data[@wd:Type = 'ADDRESS_LINE_2']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data[wd:Usage_Data/wd:Type_Data/wd:Type_Reference[wd:ID[@wd:type = 'Communication_Usage_Type_ID'] = 'HOME']]/wd:Address_Line_Data[@wd:Type = 'ADDRESS_LINE_3']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data[wd:Usage_Data/wd:Type_Data/wd:Type_Reference[wd:ID[@wd:type = 'Communication_Usage_Type_ID'] = 'HOME']]/wd:Municipality"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="substring-after(wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data[wd:Usage_Data/wd:Type_Data/wd:Type_Reference[wd:ID[@wd:type = 'Communication_Usage_Type_ID'] = 'HOME']]/wd:Country_Region_Reference/wd:ID[@wd:type = 'Country_Region_ID'], '-')"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data[wd:Usage_Data/wd:Type_Data/wd:Type_Reference[wd:ID[@wd:type = 'Communication_Usage_Type_ID'] = 'HOME']]/wd:Postal_Code"/>
</xsl:if>
<xsl:text>|</xsl:text>
<xsl:if
test="count(wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data) = 1">
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data/wd:Address_Line_Data[@wd:Type = 'ADDRESS_LINE_1']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data/wd:Address_Line_Data[@wd:Type = 'ADDRESS_LINE_2']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data/wd:Address_Line_Data[@wd:Type = 'ADDRESS_LINE_3']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data/wd:Municipality"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="substring-after(wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data/wd:Country_Region_Reference/wd:ID[@wd:type = 'Country_Region_ID'], '-')"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Personal_Data/wd:Contact_Data/wd:Address_Data/wd:Postal_Code"/>
<!-- </xsl:if> -->
</xsl:if>
<xsl:text>|</xsl:text>
<xsl:value-of select="wd:Worker_Data/wd:Employment_Data/wd:Position_Data/wd:Position_ID"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Employment_Data/wd:Position_Data/wd:Position_Time_Type_Reference/wd:ID[@wd:type = 'Position_Time_Type_ID']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Employment_Data/wd:Position_Data/wd:Pay_Rate_Type_Reference/wd:ID[@wd:type = 'Pay_Rate_Type_ID']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Compensation_Data/wd:Employee_Compensation_Summary_Data/wd:Employee_Compensation_Summary_Data/wd:Currency_Reference/wd:ID[@wd:type = 'Currency_ID']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Compensation_Data/wd:Employee_Compensation_Summary_Data/wd:Employee_Compensation_Summary_Data/wd:Frequency_Reference/wd:ID[@wd:type = 'Frequency_ID']"/>
<xsl:text>|</xsl:text>
<xsl:value-of
select="wd:Worker_Data/wd:Compensation_Data/wd:Employee_Compensation_Summary_Data/wd:Aualized_Summary_Data/wd:Total_Base_Pay"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
