This post contains sample XSLT's for both Payroll and Bank positive pay.
Bank Positive Pay XSLT
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl xslthelper"
xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xslthelper="http://schemas.microsoft.com/BizTalk/2003/xslthelper">
<xsl:output method="text" omit-xml-declaration="yes" version="1.0" encoding="utf-8"/>
<xsl:template match="/">
<Document>
<xsl:for-each select="Document/BANKPOSITIVEPAYEXPORTENTITY">
<!--Cheque Detail begin-->
<xsl:variable name="terminator">"</xsl:variable>
<xsl:choose>
<xsl:when test='CHEQUESTATUS/text()=normalize-space("Void") or CHEQUESTATUS/text()=normalize-space("Rejected") or CHEQUESTATUS/text()=normalize-space("Cancelled")'>
<xsl:value-of select="'C'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'I'"/>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="''" />
<xsl:value-of select="substring(concat(ACCOUNTNUM/text(), ' '), 0, 11)"/>
<xsl:value-of select="''" />
<xsl:value-of select="format-number(CHEQUENUM, '0000000000')"/>
<xsl:value-of select="''" />
<xsl:value-of select="translate(format-number(AMOUNTCUR, '00000000.00'), '.', '')"/>
<xsl:value-of select="''" />
<xsl:value-of select="msxsl:format-date(TRANSDATE/text(), 'yyMMdd')"/>
<xsl:value-of select="''" />
<xsl:value-of select="BANKNEGINSTRECIPIENTNAME/text()"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</Document>
</xsl:template>
</xsl:stylesheet>
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl xslthelper"
xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xslthelper="http://schemas.microsoft.com/BizTalk/2003/xslthelper">
<xsl:output method="text" omit-xml-declaration="yes" version="1.0" encoding="utf-8"/>
<xsl:template match="/">
<Document>
<xsl:for-each select="Document/BANKPOSITIVEPAYEXPORTENTITY">
<!--Cheque Detail begin-->
<xsl:variable name="terminator">"</xsl:variable>
<xsl:choose>
<xsl:when test='CHEQUESTATUS/text()=normalize-space("Void") or CHEQUESTATUS/text()=normalize-space("Rejected") or CHEQUESTATUS/text()=normalize-space("Cancelled")'>
<xsl:value-of select="'C'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'I'"/>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="''" />
<xsl:value-of select="substring(concat(ACCOUNTNUM/text(), ' '), 0, 11)"/>
<xsl:value-of select="''" />
<xsl:value-of select="format-number(CHEQUENUM, '0000000000')"/>
<xsl:value-of select="''" />
<xsl:value-of select="translate(format-number(AMOUNTCUR, '00000000.00'), '.', '')"/>
<xsl:value-of select="''" />
<xsl:value-of select="msxsl:format-date(TRANSDATE/text(), 'yyMMdd')"/>
<xsl:value-of select="''" />
<xsl:value-of select="BANKNEGINSTRECIPIENTNAME/text()"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</Document>
</xsl:template>
</xsl:stylesheet>
Payroll Positive Pay XSLT
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl xslthelper"
xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xslthelper="http://schemas.microsoft.com/BizTalk/2003/xslthelper">
<xsl:output method="text" omit-xml-declaration="yes" version="1.0" encoding="utf-8"/>
<xsl:template match="/">
<Document>
<xsl:for-each select="Document/PAYROLLPOSITIVEPAYEXPORTENTITY">
<!--Cheque Detail begin-->
<xsl:variable name="terminator">"</xsl:variable>
<xsl:value-of select="substring(concat(ACCOUNTNUM/text(), ' '), 0, 11)"/>
<xsl:value-of select="''" />
<xsl:value-of select="format-number(CHEQUENUM, '0000000000')"/>
<xsl:value-of select="''" />
<xsl:value-of select="msxsl:format-date(TRANSDATE/text(), 'MMddyyyy')"/>
<xsl:value-of select="''" />
<xsl:value-of select="translate(format-number(AMOUNTCUR, '0000000000'), '.', '')"/>
<xsl:value-of select="''" />
<xsl:value-of select="substring(BANKNEGINSTRECIPIENTNAME/text(), 0, 30)"/>
<xsl:value-of select="''" />
<xsl:choose>
<xsl:when test='CHEQUESTATUS/text()=normalize-space("Void")'>
<xsl:value-of select="'V'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="''"/>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test='CHEQUESTATUS/text()=normalize-space("Void")'>
<xsl:value-of select="msxsl:format-date(VOIDEDDATE/text(), 'MMddyyyy')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="''"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>
</xsl:text>
</xsl:for-each>
</Document>
</xsl:template>
</xsl:stylesheet>
No comments:
Post a Comment