diff --git a/LICENSE b/LICENSE index c79603f92271d638b84d2679ecbf87fd06fdc4d2..d2d09af0a000d49a5f4e8b8b9dd9fa07d734332b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016-2020 Zorginstituut Nederland +Copyright (c) 2016-2021 Zorginstituut Nederland Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index af839ee9fdc1bc70a02a66a396f374324c3f2b06..d77ac4d348eac64b488c7440038e0f417f039ef5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# iJw 3.0.2 +# iJw 3.0.3 Deze repository bevat de XSLT's voor gebruik binnen de iWmo. diff --git a/xslt-validatie/common/2_0/basis.xsl b/xslt-validatie/common/2_0/basis.xsl index be49f8344c3805a50675c5747dd1de91319b50bb..ef2e5323edde02507166daf6e2af20a381e53a39 100644 --- a/xslt-validatie/common/2_0/basis.xsl +++ b/xslt-validatie/common/2_0/basis.xsl @@ -1034,7 +1034,7 @@ </xsl:param> <xsl:if - test="not($pThis) or not($pOther) or translate($pOther/text(), '-', '') > translate($pThis/text(), '-', '')"> + test="not($pThis) or not($pOther) or translate($pOther/text(), '-', '') > translate(substring($pThis/text(),1,10), '-', '')"> <xsl:call-template name="addError"> <xsl:with-param name="pRule" select="$pRule"/> <xsl:with-param name="pElements" @@ -1098,7 +1098,7 @@ </xsl:param> <xsl:variable name="year1" - select="number(translate($pDate1, '-', ''))"/> + select="number(translate(substring($pDate1,1,10), '-', ''))"/> <xsl:variable name="year2" select="number(translate($pDate2, '-', ''))"/> <xsl:variable name="pYearsNumber" @@ -1121,19 +1121,19 @@ <xsl:choose> <xsl:when - test="$pThis/*[local-name()='Einddatum'] and $pOther/*[local-name()='Einddatum']"> + test="$pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'] and $pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum']"> <xsl:choose> <xsl:when test=" - translate($pThis/*[local-name()='Einddatum'], '-', '') >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Einddatum'], '-', '') <= - translate($pOther/*[local-name()='Einddatum'], '-', '') + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') >= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') <= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') or - translate($pOther/*[local-name()='Einddatum'], '-', '') >= - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') and - translate($pOther/*[local-name()='Einddatum'], '-', '') <= - translate($pThis/*[local-name()='Einddatum'], '-', '')"> + translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') >= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') <= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '')"> <xsl:value-of select="true()"/> </xsl:when> <xsl:otherwise> @@ -1142,19 +1142,19 @@ </xsl:choose> </xsl:when> <xsl:when - test="$pThis/*[local-name()='Einddatum'] and not($pOther/*[local-name()='Einddatum'])"> + test="$pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'] and not($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'])"> <xsl:choose> <xsl:when test=" - translate($pThis/*[local-name()='Einddatum'], '-', '') >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Einddatum'], '-', '') <= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') >= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') <= '99999999' or '99999999' >= - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') and + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and '99999999' <= - translate($pThis/*[local-name()='Einddatum'], '-', '')"> + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '')"> <xsl:value-of select="true()"/> </xsl:when> <xsl:otherwise> @@ -1163,18 +1163,18 @@ </xsl:choose> </xsl:when> <xsl:when - test="$pOther/*[local-name()='Einddatum'] and not($pThis/*[local-name()='Einddatum'])"> + test="$pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'] and not($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'])"> <xsl:choose> <xsl:when test=" '99999999' >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and '99999999' <= - translate($pOther/*[local-name()='Einddatum'], '-', '') + translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') or - translate($pOther/*[local-name()='Einddatum'], '-', '') >= - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') and - translate($pOther/*[local-name()='Einddatum'], '-', '') <= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') >= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') <= '99999999'"> <xsl:value-of select="true()"/> </xsl:when> @@ -1197,22 +1197,22 @@ <xsl:choose> <xsl:when - test="$pThis/*[local-name()='Einddatum'] and $pOther/*[local-name()='Einddatum']"> + test="$pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'] and $pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum']"> <xsl:choose> <xsl:when test=" - translate($pThis/*[local-name()='Einddatum'], '-', '') >= - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') >= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') <= - translate($pOther/*[local-name()='Einddatum'], '-', '') + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') >= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') <= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') and - translate($pThis/*[local-name()='Einddatum'], '-', '') >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Einddatum'], '-', '') <= - translate($pOther/*[local-name()='Einddatum'], '-', '')"> + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') >= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') <= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '')"> <xsl:value-of select="true()"/> </xsl:when> <xsl:otherwise> @@ -1221,21 +1221,21 @@ </xsl:choose> </xsl:when> <xsl:when - test="$pThis/*[local-name()='Einddatum'] and not($pOther/*[local-name()='Einddatum'])"> + test="$pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'] and not($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'])"> <xsl:choose> <xsl:when test=" - translate($pThis/*[local-name()='Einddatum'], '-', '') >= - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') >= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') <= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') >= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') <= '99999999' and - translate($pThis/*[local-name()='Einddatum'], '-', '') >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Einddatum'], '-', '') <= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') >= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') <= '99999999'"> <xsl:value-of select="true()"/> </xsl:when> @@ -1245,17 +1245,17 @@ </xsl:choose> </xsl:when> <xsl:when - test="$pOther/*[local-name()='Einddatum'] and not($pThis/*[local-name()='Einddatum'])"> + test="$pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'] and not($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'])"> <xsl:value-of select="false()"/> </xsl:when> <xsl:when - test="not($pOther/*[local-name()='Einddatum']) and not($pThis/*[local-name()='Einddatum'])"> + test="not($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum']) and not($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'])"> <xsl:choose> <xsl:when test=" - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and - translate($pThis/*[local-name()='Ingangsdatum'], '-', '') <= + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') >= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') <= '99999999'"> <xsl:value-of select="true()"/> </xsl:when> @@ -1276,19 +1276,19 @@ <xsl:param name="pOther"/> <xsl:choose> <xsl:when - test="translate($pThis/*[local-name()='Ingangsdatum'], '-', '') = - translate($pThis/*[local-name()='Einddatum'], '-', '')"> + test="translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') = + translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '')"> <xsl:value-of select="true()"/> </xsl:when> <xsl:when - test="translate($pThis/*[local-name()='Ingangsdatum'], '-', '') >= - translate($pOther/*[local-name()='Ingangsdatum'], '-', '')"> + test="translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') >= + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '')"> <xsl:choose> - <xsl:when test="$pOther/*[local-name()='Einddatum']"> + <xsl:when test="$pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum']"> <xsl:choose> <xsl:when - test="translate($pOther/*[local-name()='Einddatum'], '-', '') = - translate($pThis/*[local-name()='Ingangsdatum'], '-', '')"> + test="translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') = + translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '')"> <xsl:value-of select="true()"/> </xsl:when> <xsl:otherwise> @@ -1303,11 +1303,11 @@ </xsl:when> <xsl:otherwise> <xsl:choose> - <xsl:when test="$pThis/*[local-name()='Einddatum']"> + <xsl:when test="$pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum']"> <xsl:choose> <xsl:when - test="translate($pThis/*[local-name()='Einddatum'], '-', '') = - translate($pOther/*[local-name()='Ingangsdatum'], '-', '')"> + test="translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') = + translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '')"> <xsl:value-of select="true()"/> </xsl:when> <xsl:otherwise> @@ -1685,12 +1685,24 @@ </xsl:choose> </xsl:template> + <xsl:template match="*[local-name()='Afzender']" + mode="header" priority="10"/> + + <xsl:template match="*[local-name()='Ontvanger']" + mode="header" priority="10"/> + <xsl:template match="*[local-name()='BerichtCode']" mode="header" priority="10"> <r:BerichtCode> <xsl:value-of select="text()"/> </r:BerichtCode> </xsl:template> + <xsl:template match="*[local-name()='BerichtType']" + mode="header" priority="10"> + <r:BerichtCode> + <xsl:value-of select="text()"/> + </r:BerichtCode> + </xsl:template> <xsl:template match="*[local-name()='BerichtVersie']" mode="header" priority="10"> <r:BerichtVersie> @@ -1714,7 +1726,7 @@ match="*[local-name()='Dagtekening'] | *[local-name()='FactuurDagtekening']" mode="header" priority="10"> <r:Dagtekening> - <xsl:value-of select="text()"/> + <xsl:value-of select="substring(text(),1,10)"/> </r:Dagtekening> </xsl:template> <xsl:template @@ -1730,7 +1742,7 @@ </xsl:template> <xsl:variable name="xsltVersion"> - 2.1.8 + 2.2.8 </xsl:variable> <xsl:template match="*|@*|text()" mode="check"/> diff --git a/xslt-validatie/jw/3_0/JW301.xsl b/xslt-validatie/jw/3_0/JW301.xsl index f41b2027957b32c29f7528529c4a55b7451359a8..ea15b7377e74be40ffee4873b6d1aa2ec1a72d1d 100644 --- a/xslt-validatie/jw/3_0/JW301.xsl +++ b/xslt-validatie/jw/3_0/JW301.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW301 (2020-10-09) --> + <!-- iJw 3.0 JW301 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD007.xsl" /> @@ -65,7 +65,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW303.xsl b/xslt-validatie/jw/3_0/JW303.xsl index 2c479fb88d51a54d7a208d00212c1d145d4c25a9..c7c1728cd05cd6a18fbbb7c0e7a52632aeefdde2 100644 --- a/xslt-validatie/jw/3_0/JW303.xsl +++ b/xslt-validatie/jw/3_0/JW303.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW303 (2020-10-09) --> + <!-- iJw 3.0 JW303 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD007.xsl" /> @@ -69,7 +69,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW304.xsl b/xslt-validatie/jw/3_0/JW304.xsl index bc8885158d892433986e82548adc914601253292..6c607d7d1a108f1a136c33c73e1ee70887964667 100644 --- a/xslt-validatie/jw/3_0/JW304.xsl +++ b/xslt-validatie/jw/3_0/JW304.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW304 (2020-10-09) --> + <!-- iJw 3.0 JW304 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD005.xsl" /> @@ -63,7 +63,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW305.xsl b/xslt-validatie/jw/3_0/JW305.xsl index c88e9c311bf5e66067abb134b8a5f7192dbf79e8..d186af24d68f7d5eebf74c6c199ce71d9489dbe8 100644 --- a/xslt-validatie/jw/3_0/JW305.xsl +++ b/xslt-validatie/jw/3_0/JW305.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW305 (2020-10-09) --> + <!-- iJw 3.0 JW305 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD007.xsl" /> @@ -33,7 +33,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW307.xsl b/xslt-validatie/jw/3_0/JW307.xsl index 4c89ab9f374a88d9961d1489e178c3567f31f5db..09ee56fd34ab8aa97dcee0ccf704b04634a8a557 100644 --- a/xslt-validatie/jw/3_0/JW307.xsl +++ b/xslt-validatie/jw/3_0/JW307.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW307 (2020-10-09) --> + <!-- iJw 3.0 JW307 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD007.xsl" /> @@ -35,7 +35,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW315.xsl b/xslt-validatie/jw/3_0/JW315.xsl index 4f6ae3cb76dbc249db0e4c4f586c7f2efb6baff4..85964d72b3c04ff02238ff4ad7d674a74d2104d9 100644 --- a/xslt-validatie/jw/3_0/JW315.xsl +++ b/xslt-validatie/jw/3_0/JW315.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW315 (2020-10-09) --> + <!-- iJw 3.0 JW315 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD007.xsl" /> @@ -53,7 +53,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW317.xsl b/xslt-validatie/jw/3_0/JW317.xsl index e9bd230a0726c504c8f02dd9f8061dcf33a37fd8..a2670c63e728c1fdd73c5b8e5e03f773c26e6ce4 100644 --- a/xslt-validatie/jw/3_0/JW317.xsl +++ b/xslt-validatie/jw/3_0/JW317.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW317 (2020-10-09) --> + <!-- iJw 3.0 JW317 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD075.xsl" /> @@ -47,7 +47,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW319.xsl b/xslt-validatie/jw/3_0/JW319.xsl index e8b4f9bf456f91b9e4157e4708c0cdd9dcffb281..2603335ef8503a9cf31fd9145a60c78e2e7ab203 100644 --- a/xslt-validatie/jw/3_0/JW319.xsl +++ b/xslt-validatie/jw/3_0/JW319.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW319 (2020-10-09) --> + <!-- iJw 3.0 JW319 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD085.xsl" /> @@ -27,7 +27,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW323.xsl b/xslt-validatie/jw/3_0/JW323.xsl index d72e5a4f326f04b621d79d6f2e2d65cb08089e5b..17a9574c38fe7673f0b2511a680a7d905aa619af 100644 --- a/xslt-validatie/jw/3_0/JW323.xsl +++ b/xslt-validatie/jw/3_0/JW323.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW323 (2020-10-09) --> + <!-- iJw 3.0 JW323 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD060.xsl" /> @@ -49,7 +49,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/JW325.xsl b/xslt-validatie/jw/3_0/JW325.xsl index 3febe94124684c810c13891d89fab03fe178ea30..02d993d16a2e3eb9219e5e00bae873f1c5e49f5d 100644 --- a/xslt-validatie/jw/3_0/JW325.xsl +++ b/xslt-validatie/jw/3_0/JW325.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 JW325 (2020-10-09) --> + <!-- iJw 3.0 JW325 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD060.xsl" /> @@ -31,7 +31,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/all.xsl b/xslt-validatie/jw/3_0/all.xsl index fe35653e0d171946aa29ef69d811d78fd0870b04..2bdab0a6775b0c118b403ddb44ff8b25045b6449 100644 --- a/xslt-validatie/jw/3_0/all.xsl +++ b/xslt-validatie/jw/3_0/all.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vr="http://www.istandaarden.nl/validatie/1_1/rapport/schema"> - <!-- iJw 3.0 (2020-10-09) --> + <!-- iJw 3.0 (2021-01-25) --> <xsl:import href="common/basis.xsl" /> <xsl:include href="condities/CD005.xsl" /> @@ -147,7 +147,7 @@ <vr:XSLTHeader> <vr:Standaard>ijw</vr:Standaard> <vr:StandaardRelease>3.0</vr:StandaardRelease> - <vr:XSLTVersie>2.1.8</vr:XSLTVersie> + <vr:XSLTVersie>2.2.8</vr:XSLTVersie> </vr:XSLTHeader> </xsl:variable> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/all_merged.xsl b/xslt-validatie/jw/3_0/all_merged.xsl index 14653d90348afa80a1d4dc620e10d47e2d0cd9b8..32a5a4b24c5f05e289986db4aa7c8a506ac26325 100644 --- a/xslt-validatie/jw/3_0/all_merged.xsl +++ b/xslt-validatie/jw/3_0/all_merged.xsl @@ -1 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?><stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:n0="http://www.istandaarden.nl/ijw/3_0/jw319/schema" xmlns:n1="http://www.istandaarden.nl/ijw/3_0/jw307/schema" xmlns:n2="http://www.istandaarden.nl/ijw/3_0/jw317/schema" xmlns:n3="http://www.istandaarden.nl/ijw/3_0/jw305/schema" xmlns:n4="http://www.istandaarden.nl/ijw/3_0/jw304/schema" xmlns:n5="http://www.istandaarden.nl/ijw/3_0/jw315/schema" xmlns:n6="http://www.istandaarden.nl/ijw/3_0/jw303/schema" xmlns:n7="http://www.istandaarden.nl/ijw/3_0/jw325/schema" xmlns:n8="http://www.istandaarden.nl/ijw/3_0/jw301/schema" xmlns:n9="http://www.istandaarden.nl/ijw/3_0/jw323/schema" xmlns:na="http://www.istandaarden.nl/validatie/1_1/rapport/schema" xmlns:nb="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:nc="http://www.istandaarden.nl/validatie/1_1/rapport/schema" exclude-result-prefixes="na nb n4 n1 n3 n5 n6 n8 n7 n9 n2 n0" version="1.0"><output encoding="UTF-8" indent="yes" method="xml" version="1.0"/><template name="printXPath"><param name="pElement" select="."/><if test="$pElement/ancestor::*"><call-template name="printXPath"><with-param name="pElement" select="$pElement/.."/></call-template><text>/</text></if><value-of select="local-name($pElement)"/><if test="($pElement/preceding-sibling::*|$pElement/following-sibling::*)[local-name()=local-name($pElement)]"><value-of select="concat('[',count($pElement/preceding-sibling::*[local-name()=local-name($pElement)])+1,']')"/></if></template><template name="evaluateXPath"><param name="pPath" select="."/><param name="pContext" select="/"/><choose><when test="string-length($pPath) > 0"><variable name="v0" select="substring($pPath,2)"/><variable name="v1"><choose><when test="not(contains($v0,'/'))"><value-of select="$v0"/></when><otherwise><value-of select="substring-before($v0,'/')"/></otherwise></choose></variable><variable name="v2"><choose><when test="not(contains($v1,'['))">1</when><otherwise><value-of select="substring-after(substring-before($v1,']'),'[')"/></otherwise></choose></variable><variable name="v3"><choose><when test="not(contains($v1,'['))"><value-of select="$v1"/></when><otherwise><value-of select="substring-before($v1,'[')"/></otherwise></choose></variable><call-template name="evaluateXPath"><with-param name="pPath" select="substring-after($pPath,$v1)"/><with-param name="pContext" select="$pContext/*[local-name()=$v3 and count(preceding-sibling::*[local-name()=$v3])=$v2 - 1]"/></call-template></when><otherwise><value-of select="normalize-space($pContext/text())"/></otherwise></choose></template><template name="addError"><param name="pRule">FOUT</param><param name="pElements" select="."/><param name="pCode" select="nonExistingNode"/><param name="pDetails" select="''"/><na:Fout><na:Code><value-of select="normalize-space($pRule)"/></na:Code><if test="$pCode"><na:Retourcode><value-of select="$pCode"/></na:Retourcode></if><for-each select="$pElements"><na:Locatie><text>/</text><call-template name="printXPath"><with-param name="pElement" select="."/></call-template></na:Locatie></for-each><choose><when test="$pDetails!=''"><na:Details><value-of select="$pDetails"/></na:Details></when><otherwise><variable name="v0"><apply-templates mode="getDetails" select="."><with-param name="pRule" select="normalize-space($pRule)"/></apply-templates></variable><if test="$v0!=''"><na:Details><value-of select="$v0"/></na:Details></if></otherwise></choose></na:Fout></template><template match="*" mode="getDetails" priority="0"><param name="pRule">FOUT</param></template><template name="checkGemeenteCode"><param name="pThis" select="."/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><apply-templates mode="validGemeente" select="."><with-param name="pGemeenteCode" select="1*normalize-space($pThis/text())"/></apply-templates></variable><if test="$v0!='true'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pExtra"/></call-template></if></template><template match="*" mode="validGemeente" priority="0"><param name="pGemeenteCode" select="."/><value-of select="true()"/></template><template match="*" mode="validAGBCode" priority="0"><param name="pAGBCode" select="."/><param name="pFrom"/><param name="pTo" select="0"/><value-of select="true()"/></template><template match="*" mode="validZorginstelling" priority="0"><param name="pInstelling"/><param name="pOntvanger"/><value-of select="true()"/></template><template name="check11proef"><param name="pElement" select="."/><param name="pRule">FOUT</param><variable name="v0" select="floor(number($pElement/text()) div 1) mod 10"/><variable name="v1" select="floor(number($pElement/text()) div 10) mod 10"/><variable name="v2" select="floor(number($pElement/text()) div 100) mod 10"/><variable name="v3" select="floor(number($pElement/text()) div 1000) mod 10"/><variable name="v4" select="floor(number($pElement/text()) div 10000) mod 10"/><variable name="v5" select="floor(number($pElement/text()) div 100000) mod 10"/><variable name="v6" select="floor(number($pElement/text()) div 1000000) mod 10"/><variable name="v7" select="floor(number($pElement/text()) div 10000000) mod 10"/><variable name="v8" select="floor(number($pElement/text()) div 100000000) mod 10"/><if test="((9*$v8+8*$v7+7*$v6+6*$v5+5*$v4+4*$v3+3*$v2+2*$v1 - 1*$v0) mod 11)!=0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pElement"/></call-template></if></template><template name="split"><param name="pElement" select="."/><param name="pValue"/><choose><when test="string-length(normalize-space($pValue)) > 0"><variable name="v0" select="normalize-space(substring-before(concat($pValue,','),','))"/><choose><when test="normalize-space($pElement/text())=$v0"><value-of select="true()"/></when><otherwise><call-template name="split"><with-param name="pElement" select="$pElement"/><with-param name="pValue" select="substring-after($pValue,',')"/></call-template></otherwise></choose></when><otherwise><value-of select="false()"/></otherwise></choose></template><template name="callrecursive"><param name="pT"/><param name="pValues"/><param name="pText"/><param name="pPattern"/><choose><when test="string-length($pT)=1 and string-length(translate($pT,$pValues,''))=0"><call-template name="patternmatch"><with-param name="pText" select="$pText"/><with-param name="pPattern" select="$pPattern"/></call-template></when><otherwise><value-of select="false()"/></otherwise></choose></template><template name="patternmatch"><param name="pText"/><param name="pPattern"/><choose><when test="(string-length($pText)=0 and string-length($pPattern)!=0) or (string-length($pText)!=0 and string-length($pPattern)=0)"><value-of select="false()"/></when><when test="string-length($pText)=0"><value-of select="true()"/></when><otherwise><variable name="v0" select="substring($pText,1,1)"/><variable name="v1" select="substring($pPattern,1,1)"/><variable name="v2" select="substring($pText,2)"/><variable name="v3" select="substring($pPattern,2)"/><choose><when test="$v1='.'"><call-template name="patternmatch"><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='\' and string-length($v3)!=0"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues" select="substring($v3,1,1)"/><with-param name="pText" select="$v2"/><with-param name="pPattern" select="substring($v3,2)"/></call-template></when><when test="$v1='1'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">123456789</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='0'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">0123456789</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='a'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">abcdefghijklmnopqrstuvwxyz</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='A'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">ABCDEFGHIJKLMNOPQRSTUVWXYZ</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='z' or $v1='Z'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v0=$v1"><call-template name="patternmatch"><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><otherwise><value-of select="false()"/></otherwise></choose></otherwise></choose></template><template name="testpattern"><param name="pElement" select="."/><param name="pPattern" select="''"/><variable name="v0" select="$pElement/text()"/><call-template name="patternmatch"><with-param name="pText" select="$v0"/><with-param name="pPattern" select="$pPattern"/></call-template></template><template name="testvalue"><param name="pElement" select="."/><param name="pValues" select="''"/><choose><when test="normalize-space($pValues)=''"><choose><when test="not($pElement/.)"><value-of select="true()"/></when><when test="normalize-space($pElement/text())=''"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="normalize-space($pValues)='*'"><choose><when test="normalize-space($pElement/text())!=''"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="normalize-space($pValues)='#'"><choose><when test="$pElement/."><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="string-length(normalize-space($pValues)) > 1 and substring(normalize-space($pValues),1,1)='#'"><call-template name="testpattern"><with-param name="pElement" select="$pElement"/><with-param name="pPattern" select="substring(normalize-space($pValues),2)"/></call-template></when><when test="string-length(normalize-space($pValues)) > 1 and substring(normalize-space($pValues),1,1)='!'"><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pElement"/><with-param name="pValues" select="substring(normalize-space($pValues),2)"/></call-template></variable><choose><when test="$v0='true'"><value-of select="false()"/></when><otherwise><value-of select="true()"/></otherwise></choose></when><otherwise><call-template name="split"><with-param name="pElement" select="$pElement"/><with-param name="pValue" select="$pValues"/></call-template></otherwise></choose></template><template name="checkRelation"><param name="pThis" select="."/><param name="pOther"/><param name="pRelation"/><param name="pExtra" select="node()"/><param name="pRule">FAIL</param><choose><when test="normalize-space($pRelation)='equals'"><call-template name="checkRelation"><with-param name="pThis" select="$pOther"/><with-param name="pOther" select="$pThis"/><with-param name="pRelation">equalsGt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template><call-template name="checkRelation"><with-param name="pThis" select="$pOther"/><with-param name="pOther" select="$pThis"/><with-param name="pRelation">equalsLt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template></when><when test="normalize-space($pRelation)='equalsGt' and $pThis < $pOther"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></when><when test="normalize-space($pRelation)='equalsLt'"><call-template name="checkRelation"><with-param name="pThis" select="$pOther"/><with-param name="pOther" select="$pThis"/><with-param name="pRelation">equalsGt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template></when></choose></template><template name="adjustDate"><param name="pDate"/><param name="pOverflow">carry</param><variable name="v0" select="$pDate mod 100"/><variable name="v1" select="floor($pDate div 100) mod 100"/><variable name="v2" select="floor($pDate div 10000) mod 10000"/><variable name="v3"><choose><when test="$v0 > 30 and ($v1=4 or $v1=6 or $v1=9 or $v1=11)"><choose><when test="$pOverflow='carry'"><value-of select="$pDate - 30+100"/></when><when test="$pOverflow='truncate'"><value-of select="$pDate - $v0+30"/></when></choose></when><when test="$v0 > 31 and ($v1=1 or $v1=3 or $v1=5 or $v1=7 or $v1=8 or $v1=10 or $v1=12)"><choose><when test="$pOverflow='carry'"><value-of select="$pDate - 31+100"/></when><when test="$pOverflow='truncate'"><value-of select="$pDate - $v0+31"/></when></choose></when><when test="$v0 > 29 and $v1=2 and ($v2 mod 4)=0"><choose><when test="$pOverflow='carry'"><value-of select="$pDate - 29+100"/></when><when test="$pOverflow='truncate'"><value-of select="$pDate - $v0+29"/></when></choose></when><when test="$v0 > 28 and $v1=2 and ($v2 mod 4)!=0"><choose><when test="$pOverflow='carry'"><value-of select="$pDate - 28+100"/></when><when test="$pOverflow='truncate'"><value-of select="$pDate - $v0+28"/></when></choose></when><otherwise><value-of select="0+$pDate"/></otherwise></choose></variable><variable name="v4"><choose><when test="floor($v3 div 100) mod 100 > 12"><value-of select="$v3 - 1200+10000"/></when><otherwise><value-of select="0+$v3"/></otherwise></choose></variable><choose><when test="$v4=$pDate"><value-of select="0+$pDate"/></when><otherwise><call-template name="adjustDate"><with-param name="pDate" select="$v4"/><with-param name="pOverflow" select="$pOverflow"/></call-template></otherwise></choose></template><template name="addDate"><param name="pDate"/><param name="pExtra"/><param name="pOverflow">carry</param><if test="normalize-space($pDate)!=''"><call-template name="adjustDate"><with-param name="pDate" select="translate($pDate,'-','')+$pExtra"/><with-param name="pOverflow" select="$pOverflow"/></call-template></if></template><template name="addMonths"><param name="pDate"/><param name="pExtra"/><param name="pOverflow">carry</param><choose><when test="$pExtra < 0"><call-template name="addMonths"><with-param name="pDate" select="translate($pDate,'-','') - 10000"/><with-param name="pExtra" select="$pExtra+12"/><with-param name="pOverflow" select="$pOverflow"/></call-template></when><when test="$pExtra > 12"><call-template name="addMonths"><with-param name="pDate" select="translate($pDate,'-','')+10000"/><with-param name="pExtra" select="$pExtra - 12"/><with-param name="pOverflow" select="$pOverflow"/></call-template></when><otherwise><call-template name="adjustDate"><with-param name="pDate" select="translate($pDate,'-','')+100*$pExtra"/><with-param name="pOverflow" select="$pOverflow"/></call-template></otherwise></choose></template><template name="checkDateRelation"><param name="pSource" select="."/><param name="pThis" select="$pSource/text()"/><param name="pDate">2018-01-01</param><param name="pRelation"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><choose><when test="not($pSource)"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource"/></call-template></when><when test="$pRelation='equals'"><call-template name="checkDateRelation"><with-param name="pThis" select="$pDate"/><with-param name="pDate" select="$pThis"/><with-param name="pRelation">equalsGt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template><call-template name="checkDateRelation"><with-param name="pThis" select="$pDate"/><with-param name="pDate" select="$pThis"/><with-param name="pRelation">equalsLt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template></when><when test="$pRelation='equalsGt' and translate($pThis,'-','') < translate($pDate,'-','')"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource|$pExtra"/></call-template></when><when test="$pRelation='equalsLt'"><call-template name="checkDateRelation"><with-param name="pThis" select="$pDate"/><with-param name="pDate" select="$pThis"/><with-param name="pRelation">equalsGt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template></when><when test="$pRelation='daysAfter'"><variable name="v0"><call-template name="addDate"><with-param name="pDate" select="$pDate"/><with-param name="pExtra" select="$pExtra"/></call-template></variable><if test="1*translate($pThis,'-','') <= 1*$v0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource|$pDate"/></call-template></if></when><when test="$pRelation='monthsBefore'"><variable name="v0"><call-template name="addMonths"><with-param name="pDate" select="$pDate"/><with-param name="pExtra" select="$pExtra"/><with-param name="pOverflow">truncate</with-param></call-template></variable><if test="1*translate($pThis,'-','') > 1*$v0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource|$pDate"/></call-template></if></when><when test="$pRelation='monthsAfter'"><variable name="v0"><call-template name="addMonths"><with-param name="pDate" select="$pDate"/><with-param name="pExtra" select="$pExtra"/><with-param name="pOverflow">truncate</with-param></call-template></variable><if test="1*translate($pThis,'-','') < 1*$v0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource|$pDate"/></call-template></if></when></choose></template><template name="checkempty"><param name="pThis" select="."/><param name="pOther" select="."/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/></call-template></variable><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="$pOther"/></call-template></variable><if test="$v0='false' and $v1='true'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checkafter"><param name="pThis" select="."/><param name="pOther" select="."/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><if test="not($pThis) or not($pOther) or translate($pOther/text(),'-','') > translate($pThis/text(),'-','')"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checkafterstrict"><param name="pThis" select="."/><param name="pOther" select="."/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><if test="not($pThis) or not($pOther) or translate($pOther/text(),'-','') >= translate($pThis/text(),'-','')"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checkYearsBetween"><param name="pDate1"/><param name="pDate2"/><param name="pYears"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">ERROR</param><variable name="v0" select="number(translate($pDate1,'-',''))"/><variable name="v1" select="number(translate($pDate2,'-',''))"/><variable name="v2" select="number($pYears)*10000"/><if test="($v1+$v2) < $v0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pDate1|$pDate2|$pExtra"/></call-template></if></template><template name="isPeriodOverlay"><param name="pThis"/><param name="pOther"/><choose><when test="$pThis/*[local-name()='Einddatum'] and $pOther/*[local-name()='Einddatum']"><choose><when test="translate($pThis/*[local-name()='Einddatum'],'-','') >= translate($pOther/*[local-name()='Ingangsdatum'],'-','') and translate($pThis/*[local-name()='Einddatum'],'-','') <= translate($pOther/*[local-name()='Einddatum'],'-','') or translate($pOther/*[local-name()='Einddatum'],'-','') >= translate($pThis/*[local-name()='Ingangsdatum'],'-','') and translate($pOther/*[local-name()='Einddatum'],'-','') <= translate($pThis/*[local-name()='Einddatum'],'-','')"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="$pThis/*[local-name()='Einddatum'] and not($pOther/*[local-name()='Einddatum'])"><choose><when test="translate($pThis/*[local-name()='Einddatum'],'-','') >= translate($pOther/*[local-name()='Ingangsdatum'],'-','') and translate($pThis/*[local-name()='Einddatum'],'-','') <= '99999999' or '99999999' >= translate($pThis/*[local-name()='Ingangsdatum'],'-','') and '99999999' <= translate($pThis/*[local-name()='Einddatum'],'-','')"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="$pOther/*[local-name()='Einddatum'] and not($pThis/*[local-name()='Einddatum'])"><choose><when test="'99999999' >= translate($pOther/*[local-name()='Ingangsdatum'],'-','') and '99999999' <= translate($pOther/*[local-name()='Einddatum'],'-','') or translate($pOther/*[local-name()='Einddatum'],'-','') >= translate($pThis/*[local-name()='Ingangsdatum'],'-','') and translate($pOther/*[local-name()='Einddatum'],'-','') <= '99999999'"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><otherwise><value-of select="true()"/></otherwise></choose></template><template name="checkvalue"><param name="pThis" select="."/><param name="pValues" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pCode" select="nonExistingNode"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValues"/></call-template></variable><if test="$v0='false'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pExtra"/><with-param name="pCode" select="$pCode"/></call-template></if></template><template name="checknvalue"><param name="pThis" select="."/><param name="pValues" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValues"/></call-template></variable><if test="$v0='true'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pExtra"/></call-template></if></template><template name="checkimplication"><param name="pThis" select="."/><param name="pValue1" select="''"/><param name="pOther" select="."/><param name="pValue2" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValue1"/></call-template></variable><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="$pOther"/><with-param name="pValues" select="$pValue2"/></call-template></variable><if test="$v0='true' and $v1='false'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checksame"><param name="pThis" select="."/><param name="pValue1" select="''"/><param name="pOther" select="."/><param name="pValue2" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValue1"/></call-template></variable><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="$pOther"/><with-param name="pValues" select="$pValue2"/></call-template></variable><if test="$v0!=$v1"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checkSingleCorrect"><param name="pThis" select="."/><param name="pValue1" select="''"/><param name="pOther" select="."/><param name="pValue2" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValue1"/></call-template></variable><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="$pOther"/><with-param name="pValues" select="$pValue2"/></call-template></variable><if test="$v0='false' and $v1='false'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="transformKeys"><param name="pElement" select="."/><param name="pKeys"/><for-each select="$pElement"><variable name="v0"><call-template name="evaluateXPath"><with-param name="pContext" select="current()"/><with-param name="pPath"><value-of select="substring-before(normalize-space($pKeys),',')"/></with-param></call-template></variable><text disable-output-escaping="yes"><</text><value-of select="$v0"/><text disable-output-escaping="yes">></text><if test="contains($pKeys,',') and substring-after(normalize-space($pKeys),',')"><call-template name="transformKeys"><with-param name="pElement" select="current()"/><with-param name="pKeys" select="substring-after(normalize-space($pKeys),',')"/></call-template></if></for-each></template><template name="checkDuplicateKeys"><param name="pElement" select="."/><param name="pKeys"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><for-each select="$pElement"><variable name="v0"><call-template name="transformKeys"><with-param name="pElement" select="current()"/><with-param name="pKeys" select="$pKeys"/></call-template></variable><variable name="v1" select="position()"/><for-each select="$pElement[position() > $v1]"><variable name="v2"><call-template name="transformKeys"><with-param name="pElement" select="current()"/><with-param name="pKeys" select="$pKeys"/></call-template></variable><if test="$v0=$v2 and $v0!='' and $v2!=''"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pElement[position()=$v1]|current()|$pExtra"/></call-template></if></for-each></for-each></template><template name="formatNumberInternal"><param name="pValue"/><if test="$pValue > 0"><call-template name="formatNumberInternal"><with-param name="pValue" select="floor(number($pValue) div 10)"/></call-template><value-of select="number($pValue) mod 10"/></if></template><template name="formatNumber"><param name="pValue"/><choose><when test="number($pValue) < 0">-<call-template name="formatNumberInternal"><with-param name="pValue" select="0 - number($pValue)"/></call-template></when><when test="number($pValue)=0">0</when><otherwise><call-template name="formatNumberInternal"><with-param name="pValue" select="number($pValue)"/></call-template></otherwise></choose></template><template match="*[local-name()='BerichtCode']" mode="header" priority="10"><na:BerichtCode><value-of select="text()"/></na:BerichtCode></template><template match="*[local-name()='BerichtVersie']" mode="header" priority="10"><na:BerichtVersie><value-of select="text()"/></na:BerichtVersie></template><template match="*[local-name()='BerichtSubversie']" mode="header" priority="10"><na:BerichtSubversie><value-of select="text()"/></na:BerichtSubversie></template><template match="*[local-name()='Identificatie'] | *[local-name()='DeclarantFactuurNummer']" mode="header" priority="10"><na:Identificatie><value-of select="normalize-space(text())"/></na:Identificatie></template><template match="*[local-name()='Dagtekening'] | *[local-name()='FactuurDagtekening']" mode="header" priority="10"><na:Dagtekening><value-of select="text()"/></na:Dagtekening></template><template match="*[local-name()='BerichtIdentificatie'] | *[local-name()='DeclaratieFactuurIdentificatie']" mode="header" priority="10"><na:BerichtIdentificatie><apply-templates mode="header" select="*"/></na:BerichtIdentificatie></template><template match="*[local-name()='DeclaratieIdentificatie']" mode="header" priority="10"/><variable name="v0">2.1.8</variable><template match="*|@*|text()" mode="check"/><template match="*|@*|text()" mode="header"><apply-templates mode="header" select="*"/></template><template match="*|@*|text()" mode="traverse"><apply-templates mode="traverse" select="*"/><apply-templates mode="check" select="."/></template><template match="*[local-name() = 'Bericht']"><na:Rapport><na:Header><apply-templates mode="header" select="//*[local-name()='Header']/*"/><choose><when test="contains($v0,'-SNAPSHOT')"><na:XSLTVersie>0.0.0</na:XSLTVersie></when><otherwise><na:XSLTVersie><value-of select="normalize-space($v0)"/></na:XSLTVersie></otherwise></choose></na:Header><na:Fouten><apply-templates mode="traverse" select="*"/></na:Fouten></na:Rapport></template><template match="*" mode="getDetails" priority="100"><param name="pRule">FOUT</param><choose><when test="$pRule='CD005'">Als Postcode gevuld is, dan verplicht vullen, anders leeg laten.</when><when test="$pRule='CD007'">Als Communicatie / Vorm de waarde 1 (tolk taal) heeft, dan verplicht vullen, anders leeglaten.</when><when test="$pRule='CD009'">Alleen als Soort adres de waarde 04 (tijdelijk adres) heeft, is vullen toegestaan.</when><when test="$pRule='CD025'">Als Adres / LandCode de waarde NL (Nederland) heeft, dan verplicht vullen.</when><when test="$pRule='CD034'">Als Soort adres de waarde 1 (BRP-adres) of 3 (verblijfadres) heeft, dan verplicht vullen.</when><when test="$pRule='CD041'">Indien Code in Product gevuld is, verplicht vullen.</when><when test="$pRule='CD043'">Indien Beschikkingnummer gevuld is, verplicht vullen, anders leeg laten.</when><when test="$pRule='CD055'">Verplicht vullen indien BtwVrijstellingIndicatie de waarde 2 (Geen btw-vrijstelling) bevat.</when><when test="$pRule='CD056'">Niet vullen indien BtwVrijstellingIndicatie de waarde 1 (Btw-vrijstelling) bevat.</when><when test="$pRule='CD058'">Verplicht vullen indien BetalingAanID de waarde 01 (= servicebureau) heeft.</when><when test="$pRule='CD059'">Verplicht vullen indien BerichtCode de waarde 448 of 450 (= Factuur Wmo-ondersteuning of Jw-ondersteuning) bevat.</when><when test="$pRule='CD060'">Verplicht vullen indien DebetCredit bij het ingediende bedrag de waarde C (credit) heeft, anders leeg laten.</when><when test="$pRule='CD062'">Niet vullen indien Eenheid is 83 (Euro’s).</when><when test="$pRule='CD066'">Als type verwijzer gelijk is aan 02, 03, 04 of 05 en ZorgverlenerCode is gevuld, dan is Naamverwijzer leeg.</when><when test="$pRule='CD067'">Als type verwijzer gelijk is aan 02, 03, 04 of 05 en ZorgverlenerCode is leeg, dan is Naamverwijzer gevuld.</when><when test="$pRule='CD068'">Als type verwijzer ongelijk is aan 02, 03, 04 of 05, dan is ZorgverlenerCode leeg.</when><when test="$pRule='CD075'">Verplicht vullen indien Budget gevuld is</when><when test="$pRule='CD076'">Verplicht vullen indien Frequentie waarde 2 (per week) of 6 (totaal binnen geldigheid toewijzing) heeft.</when><when test="$pRule='CD077'">Indien Budget gevuld is, dan leeg laten</when><when test="$pRule='CD078'">Indien Omvang gevuld is, dan leeg laten</when><when test="$pRule='CD079'">Indien Budget leeg is, dan verplicht vullen</when><when test="$pRule='CD080'">Indien Code in Product leeg is en Einddatum van het ToegewezenProduct groter dan 31-12-2020 of leeg is, dan leeg laten</when><when test="$pRule='CD081'">Indien eenheid de waarde 14, 16, 83 of 84 heeft en Einddatum van het ToegewezenProduct groter dan 31-12-2020 of leeg is, dan Frequentie vullen met de waarde 2 , 4 of 6</when><when test="$pRule='CD085'">Als VerzoekAntwoord de waarde 1 (Verzoek afgewezen) heeft, dan vullen</when><when test="$pRule='CD086'">Als VerzoekAntwoord de waarde 2 (Aanvraag in onderzoek) heeft, dan leeg laten</when><when test="$pRule='CD087'">Als eenheid ongelijk is aan 83 (euro's) dan verplicht vullen, anders leeg laten.</when><when test="$pRule='CD088'">Als RedenAfwijzingVerzoek ongelijk is aan 8 (Woonplaatsbeginsel), dan leeg laten.</when><when test="$pRule='CS002'">De waarde moet voldoen aan de 11-proef.</when><when test="$pRule='CS003'">Indien van toepassing vullen met een waarde die groter is dan, of gelijk is aan de Begindatum (of Ingangsdatum) van de aangeduide periode.</when><when test="$pRule='CS004'">Aaneengesloten vullen (zonder punten of spaties).</when><when test="$pRule='CS005'">Aaneengesloten vullen met cijfers.</when><when test="$pRule='CS015'">BerichtSubversie vullen met 0.</when><when test="$pRule='CS023'">Vullen met een bestaande datum die niet groter is dan de Dagtekening van het bericht.</when><when test="$pRule='CS025'">BerichtVersie vullen met 3.</when><when test="$pRule='CS050'">Als Partnernaam gevuld is, dan NaamGebruik vullen met waarde 1, 2, 3 of 4. Anders waarde 1 of 6 vullen.</when><when test="$pRule='CS058'">1 (eerste aanlevering) of 3 (verwijderen aanlevering) vullen.</when><when test="$pRule='CS064'">Vullen met een bestaande datum die niet in de toekomst ligt.</when><when test="$pRule='CS089'">Als LandCode de waarde NL (Nederland) heeft, dan moet het formaat overeenkomen met dat van een Nederlandse postcode.</when><when test="$pRule='CS100'">Datum is groter dan of gelijk aan 01-01-2021</when><when test="$pRule='CS102'">Datum is groter dan de dagtekening van het bericht.</when><when test="$pRule='CS103'">De gehele periode ligt voor 01-01-2021.</when><when test="$pRule='CS104'">3 (per 4 weken) en 5 (per jaar) niet vullen indien de Einddatum van het ToegewezenProduct leeg is of groter is dan 31-12-2020.</when><when test="$pRule='CS108'">Vullen met een waarde die groter is dan, of gelijk is aan de Begindatum van de aangeduide periode én die niet groter is dan de Dagtekening van het bericht.</when><when test="$pRule='CS126'">Vullen met BerichtCode volgens de specificatie</when><when test="$pRule='CS128'">Vullen met een versienummer bestaande uit drie gehele getallen, gescheiden met punten.</when><when test="$pRule='CS300'">Vullen met een bestaande gemeentecode uit het overzicht van CBS.</when><when test="$pRule='CS318'">NaamGebruik 6 (Niet-natuurlijk persoon) niet vullen.</when><when test="$pRule='CS319'">Aaneengesloten vullen met cijfers en/of letters</when><when test="$pRule='CS320'">Vullen met een geldig btw-nummer</when><when test="$pRule='CS321'">Vullen met een geldige AGB-code van een servicebureau ( zie https://www.agbcode.nl)</when><when test="$pRule='CS322'">Vullen met een percentage kleiner dan 100.</when><when test="$pRule='CS323'">Bedrag vullen met een waarde kleiner dan of gelijk aan Bedrag in BerekendBedrag</when><when test="$pRule='CS324'">Vullen met een waarde die groter is dan, of gelijk is aan de DagtekeningFactuur.</when><when test="$pRule='CS325'">Indien (Totaal)Bedrag de waarde 0 heeft, dan DebetCredit vullen met D (Debet).</when><when test="$pRule='CS327'">DebetCredit vullen met een waarde die gelijk is aan DebetCredit in DeclaratieFactuurBedrag.</when><when test="$pRule='CS328'">Begindatum vullen met een datum die groter dan of gelijk is aan 2015-01-01.</when><when test="$pRule='CS329'">ProductCode vullen met met een code die, volgens de gehanteerde productcodelijst, past bij de ProductCategorie.</when><when test="$pRule='CS330'">21 (Week) en 81 (Benodigde tijdsduur of tijdsonafhankelijk) niet vullen.</when><when test="$pRule='CS331'">21 (Week) en 81 (Benodigde tijdsduur of tijdsonafhankelijk) niet vullen indien de ProductPeriode Begindatum op of na de implementatiedatum van release 2.3 ligt.</when><when test="$pRule='TR002'">Geboortedatum mag niet meer dan 120 jaar voor de Dagtekening liggen, tenzij Geboortedatum onbekend is.</when><when test="$pRule='TR006'">De berichtklasse Contact moet een berichtelement Telefoon, en/of de combinatie Huis en Postcode bevatten.</when><when test="$pRule='TR018'">Einddatum moet groter dan of gelijk zijn aan Begindatum.</when><when test="$pRule='TR019'">Bij een output- of inspanningsgerichte werkwijze moet de melding van de start of de stop van de ondersteuning gerelateerd zijn aan een toewijzing op basis van het toewijzingnummer</when><when test="$pRule='TR056'">Identificatie moet per berichtsoort uniek zijn voor de verzendende partij.</when><when test="$pRule='TR061'">Bij een Client moet minimaal één Adres voorkomen waarvan Soort de waarde '01' (BRP-adres), '02' (Correspondentie-adres) of '03' (Verblijfadres) heeft.</when><when test="$pRule='TR063'">Indien StatusAanlevering de waarde 3 (aanlevering verwijderen) bevat, dan moet voor de betreffende Client een eerdere aanlevering met dezelfde logische sleutel verstuurd zijn.</when><when test="$pRule='TR069'">De sleutelelementen uit het startbericht moeten in het stopbericht, waarin wordt aangegeven dat de betreffende levering (tijdelijk) beeindigd wordt, ongewijzigd worden overgenomen.</when><when test="$pRule='TR071'">StatusAanlevering mag niet de waarde '3' bevatten als er voor de betreffende melding start zorg al een stop zorg is verstuurd.</when><when test="$pRule='TR074'">Indien StatusAanlevering de waarde '1' bevat, dan moet de sleutel van de betreffende aanlevering niet alleen uniek zijn binnen het bericht zelf, maar ook in combinatie met alle reeds ontvangen berichten.</when><when test="$pRule='TR097'">Voor Geboortedatum geldt dat DatumGebruik en Datum met elkaar in overeenstemming moeten zijn.</when><when test="$pRule='TR101'">Binnen een bericht zijn dubbele regels niet toegestaan.</when><when test="$pRule='TR300'">Indien de toewijzing wordt gestuurd naar aanleiding van het honoreren van een verzoek om toewijzing bericht, moet ReferentieAanbieder worden overgenomen van het betreffende verzoek om toewijzing bericht (315).</when><when test="$pRule='TR302'">Een product mag alleen vaker in een toewijzing voorkomen indien de zorgperiodes elkaar niet overlappen</when><when test="$pRule='TR303'">Iedere prestatie in een declaratie- of factuurbericht is gerelateerd aan een toegewezen product op basis van het toewijzingnummer.</when><when test="$pRule='TR304'">Bsn moet overeenkomen met Bsn van een Client.</when><when test="$pRule='TR305'">ProductCategorie in de Prestatie moet gelijk zijn aan ProductCategorie in het ToegewezenProduct.</when><when test="$pRule='TR306'">ProductCode in de Prestatie moet gelijk zijn aan ProductCode in het ToegewezenProduct, indien deze opgenomen is.</when><when test="$pRule='TR307'">Begindatum in de Prestatie moet groter dan of gelijk zijn aan Ingangsdatum in het ToegewezenProduct.</when><when test="$pRule='TR308'">Einddatum in de Prestatie moet kleiner dan of gelijk zijn aan Einddatum in het ToegewezenProduct, indien die gevuld is.</when><when test="$pRule='TR309'">Eenheid in de Prestatie moet passen bij Eenheid in het ToegewezenProduct.</when><when test="$pRule='TR311'">De indiener van het declaratie- of factuurbericht is de aanbieder of de administratieve eenheid die namens de aanbieder declareert of factureert.</when><when test="$pRule='TR312'">De waarde van TotaalBedrag in DeclaratieFactuurTotaalBedrag moet gelijk zijn aan de SOM van de waarden van Bedrag in DeclaratieFactuurBedrag, rekening houdend met indicatie debet/credit.</when><when test="$pRule='TR313'">De waarde van TotaalBedrag in BtwTotaalBedrag moet gelijk zijn aan de SOM van de waarden van Bedrag in BtwBedrag, rekening houdend met indicatie debet/credit.</when><when test="$pRule='TR314'">ReferentieNummer van de Prestatie moet uniek zijn voor de aanbieder binnen het wettelijk domein waarop de Prestatie betrekking heeft, zowel binnen één bericht als berichtoverstijgend.</when><when test="$pRule='TR315'">VorigReferentieNummer van de Prestatie moet uniek zijn in het bericht.</when><when test="$pRule='TR316'">Debetregels mogen niet in hetzelfde bericht gecrediteerd worden.</when><when test="$pRule='TR317'">Indien gevuld moet BerekendBedrag gelijk zijn aan GeleverdVolume vermenigvuldigd met ProductTarief.</when><when test="$pRule='TR318'">Indien iedere DeclaratiePeriode zorg is geleverd, moet DeclaratiePeriode BeginDatum van de volgende declaratie-/factuurperiode precies één dag na de DeclaratiePeriode EindDatum van de voorgaande declaratie-/factuurperiode liggen.</when><when test="$pRule='TR319'">Een declaratie- of factuurbericht bevat alleen prestaties waarvan de ProductPeriode valt binnen de huidige, of een voorgaande declaratie- of factuurperiode.</when><when test="$pRule='TR320'">Alle deels toegekende en/of afgewezen prestaties dienen meegestuurd te worden in het retourbericht op een declaratie/factuur.</when><when test="$pRule='TR321'">Indien in het ToegewezenProduct een Omvang is meegegeven, moet GeleverdVolume in de Prestatie passen binnen Volume in het ToegewezenProduct.</when><when test="$pRule='TR322'">Indien in het ToegewezenProduct een Omvang is meegegeven, moet de som van GeleverdVolume in alle ingediende Prestaties die betrekking hebben op dat ToegewezenProduct passen binnen de toegewezen Omvang.</when><when test="$pRule='TR323'">Een credit Prestatie moet gerelateerd zijn aan een eerder verzonden debet Prestatie op basis van sleutelvelden.</when><when test="$pRule='TR324'">Factuurnummer moet uniek zijn voor de verzendende partij.</when><when test="$pRule='TR326'">Een Startbericht mag pas verstuurd worden als er géén actueel Startbericht bij ToegewezenProduct is.</when><when test="$pRule='TR332'">Ieder ToegewezenProduct binnen één gemeente heeft een uniek nummer per wettelijk domein.</when><when test="$pRule='TR333'">DeclaratieNummer van de Declaratie moet uniek zijn voor de aanbieder binnen het wettelijk domein waarop de Declaratie betrekking heeft.</when><when test="$pRule='TR335'">Einddatum mag niet meer dan 5 jaar voor DeclaratieDagtekening liggen.</when><when test="$pRule='TR337'">De DeclaratieIdentificatie dient overeen te komen met de BerichtIdentificatie van een eerder ontvangen Declaratiebericht.</when><when test="$pRule='TR338'">Iedere Prestatie in een declaratiebericht is gerelateerd aan een ToegewezenProduct op basis van het toewijzingnummer.</when><when test="$pRule='TR339'">ProductCategorie in Prestatie moet gelijk zijn aan ProductCategorie in het ToegewezenProduct indien deze opgenomen is.</when><when test="$pRule='TR340'">ProductCode in Prestatie moet gelijk zijn aan ProductCode in het ToegewezenProduct, indien deze opgenomen is.</when><when test="$pRule='TR341'">Eenheid in Prestatie moet passen bij Eenheid in het ToegewezenProduct.</when><when test="$pRule='TR342'">Alle afgewezen Prestaties dienen meegestuurd te worden in het declaratie-antwoordbericht op een declaratie.</when><when test="$pRule='TR345'">Indien Eenheid de waarde 83 (euro's) heeft, moet IngediendBedrag gelijk zijn aan GeleverdVolume.</when><when test="$pRule='TR346'">Indien Eenheid ongelijk is aan waarde 83 (Euro's), moet IngediendBedrag gelijk zijn aan GeleverdVolume vermenigvuldigd met (het onafgeronde) ProductTarief.</when><when test="$pRule='TR347'">ReferentieAanbieder is uniek voor de aanbieder binnen het wettelijk domein</when><when test="$pRule='TR349'">Het verzoek om wijziging bericht bevat alle actuele ToegewezenProducten van de client</when><when test="$pRule='TR350'">Ieder OngewijzigdProduct in een verzoek om wijziging bericht is gerelateerd aan een actueel toegewezen product op basis van het ToewijzingNummer.</when><when test="$pRule='TR351'">Ieder TeWijzigenProduct in een verzoek om wijziging is gerelateerd aan een actueel ToegewezenProduct op basis van ToewijzingNummer.</when><when test="$pRule='TR352'">Bij een verzoek om wijziging komt minstens 1 OngewijzigdProduct of TeWijzigenProduct voor.</when><when test="$pRule='TR353'">Bij een verzoek komt minstens 1 TeWijzigenProduct of NieuwProduct voor.</when><when test="$pRule='TR355'">ReferentieAanbieder in het antwoordbericht komt voor in een eerder verzoek om toewijzing of verzoek om wijziging</when><when test="$pRule='TR357'">Als GewensteIngangsdatum kleiner dan of gelijk is aan de dagtekening, dan is GewensteIngangsdatum gelijk aan ingangsdatum van het originele ToegewezenProduct.</when><when test="$pRule='TR358'">De waarde van TotaalBedrag in TotaalIngediendBedrag moet gelijk zijn aan de SOM van de waarden van Bedrag in Ingediendbedrag in alle onderliggende Prestaties, rekening houdend met indicatie debet/credit.</when><when test="$pRule='TR359'">Als een antwoordbericht wordt verstuurd, mag er niet al eerder een toewijzingsbericht gestuurd zijn met dezelfde ReferentieAanbieder</when><when test="$pRule='TR360'">Een antwoordbericht met in VerzoekAntwoord de waarde 2 (Aanvraag in onderzoek), mag alleen gestuurd worden indien er nog geen antwoordbericht is met deze ReferentieAanbieder</when><when test="$pRule='TR361'">Een product mag alleen vaker in verzoek om wijziging voorkomen als de zorgperiodes elkaar niet overlappen</when><when test="$pRule='TR362'">Als een toewijzingsbericht niet wordt gestuurd naar aanleiding van het honoreren van een verzoek om toewijzing of een verzoek om wijziging dan wordt ReferentieAanbieder leeg gelaten.</when><when test="$pRule='TR363'">Als een toewijzingsbericht wordt gestuurd als honorering van een verzoek om wijziging, wordt ReferentieAanbieder overgenomen</when><when test="$pRule='TR364'">ReferentieAanbieder in een ToegewezenProduct komt voor in een eerder verzoek om toewijzing of verzoek om wijziging</when><when test="$pRule='TR365'">Als er al een antwoordbericht is met dezelfde ReferentieAanbieder dan moet VerzoekAntwoord daar de waarde 2 (Aanvraag in onderzoek) hebben.</when><when test="$pRule='TR366'">Iedere Prestatie in een declaratieantwoord is gerelateerd aan een declaratiebericht op basis van ProductReferentie.</when><when test="$pRule='TR367'">Waarde moet overeenkomen met waarde uit het declaratiebericht dat gerelateerd is op basis van ProductReferentie</when><when test="$pRule='TR368'">De periode is exact gelijk aan 1 hele kalendermaand</when><when test="$pRule='TR369'">Indien in het ToegewezenProduct een Budget is meegegeven, moet de som van GeleverdVolume in alle ingediende Prestaties die betrekking hebben op dat ToegewezenProduct passen binnen het toegewezen Budget.</when><when test="$pRule='TR371'">Waarde moet overeenkomen met waarde van XsdVersie uit het declaratiebericht dat gerelateerd is op basis van DeclaratieIdentificatie.</when><when test="$pRule='TR373'">Indien in een TeWijzigenProduct het Budget of het totaal over toewijzingsperiode wordt gewijzigd, dient GewensteIngangsdatum gelijk te zijn aan de actuele toewijzing</when><when test="$pRule='TR374'">Een verzoek mag alleen worden verstuurd als er geen onderhanden verzoek is voor de betreffende client van dezelfde aanbieder.</when><when test="$pRule='TR375'">Indien Product in de toewijzing met ToewijzingNummer leeg is en Einddatum groter dan 31-12-2020 of leeg is, dan leeg laten.</when><when test="$pRule='TR376'">Het DeclaratieNummer dient overeen te komen met het DeclaratieNummer van een eerder ontvangen Declaratie.</when></choose></template><template match="*" mode="CD005"/><template match="nb:Postcode" mode="CD005"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkempty"><with-param name="pOther" select="../nb:LandCode"/><with-param name="pRule">CD005</with-param></call-template></if></template><template match="nb:LandCode" mode="CD005"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkempty"><with-param name="pOther" select="../nb:Postcode"/><with-param name="pRule">CD005</with-param></call-template></if></template><template match="*" mode="CD007"/><template match="*[nb:Taal | nb:Vorm]" mode="check"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checksame"><with-param name="pThis" select="nb:Taal"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="nb:Vorm"/><with-param name="pValue2">1</with-param><with-param name="pRule">CD007</with-param></call-template></if></template><template match="*" mode="CD009"/><template match="n8:Contact/n8:Periode" mode="CD009"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="../n8:Soort"/><with-param name="pValue2">04</with-param><with-param name="pRule">CD009</with-param></call-template></template><template match="*" mode="CD025"/><template match="nb:LandCode" mode="CD025"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkimplication"><with-param name="pValue1">NL</with-param><with-param name="pOther" select="../nb:Huis/nb:Huisnummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD025</with-param></call-template></if></template><template match="*" mode="CD034"/><template match="n8:Contact" mode="CD034"><call-template name="checkimplication"><with-param name="pThis" select="n8:Soort"/><with-param name="pValue1">01,03</with-param><with-param name="pOther" select="n8:Adres/nb:Postcode"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD034</with-param></call-template></template><template match="*" mode="CD041"/><template match="n8:ToegewezenProduct" mode="CD041"><call-template name="checkimplication"><with-param name="pThis" select="n8:Product/nb:Code"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="n8:Omvang"/><with-param name="pValue2">#</with-param><with-param name="pRule">CD041</with-param></call-template></template><template match="n5:AangevraagdProduct" mode="CD041"><call-template name="checkimplication"><with-param name="pThis" select="n5:Product/nb:Code"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="n5:Omvang"/><with-param name="pValue2">#</with-param><with-param name="pRule">CD041</with-param></call-template></template><template match="*" mode="CD043"/><template match="n5:AangevraagdProduct" mode="CD043"><call-template name="checksame"><with-param name="pThis" select="n5:BeschikkingNummer"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="n5:BeschikkingIngangsdatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD043</with-param></call-template></template><template match="*" mode="CD055"/><template match="n6:IngediendeBedragPrestatie" mode="CD055"><if test="normalize-space(nb:BtwVrijstellingIndicatie/text())='2'"><call-template name="checkvalue"><with-param name="pThis" select="nb:BtwPercentage"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="nb:BtwBedrag/nb:Bedrag"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header//nb:BtwIDNummer"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header//nb:BtwTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template></if></template><template match="n4:IngediendeBedragPrestatie" mode="CD055"><if test="normalize-space(nb:BtwVrijstellingIndicatie/text())='2'"><call-template name="checkvalue"><with-param name="pThis" select="nb:BtwPercentage"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="nb:BtwBedrag/nb:Bedrag"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n4:Bericht/n4:Header//nb:BtwIDNummer"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template></if></template><template match="*" mode="CD056"/><template match="n6:IngediendeBedragPrestatie" mode="CD056"><if test="normalize-space(nb:BtwVrijstellingIndicatie/text())='1'"><call-template name="checkempty"><with-param name="pThis" select="nb:BtwPercentage"/><with-param name="pRule">CD056</with-param></call-template><call-template name="checkempty"><with-param name="pThis" select="nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">CD056</with-param></call-template></if></template><template match="n4:IngediendeBedragPrestatie" mode="CD056"><if test="normalize-space(nb:BtwVrijstellingIndicatie/text())='1'"><call-template name="checkempty"><with-param name="pThis" select="nb:BtwPercentage"/><with-param name="pRule">CD056</with-param></call-template><call-template name="checkempty"><with-param name="pThis" select="nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">CD056</with-param></call-template></if></template><template match="*" mode="CD058"/><template match="n6:BetalingAanID" mode="CD058"><call-template name="checkimplication"><with-param name="pValue1">01</with-param><with-param name="pOther" select="../n6:Servicebureau"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD058</with-param></call-template></template><template match="n4:BetalingAanID" mode="CD058"><call-template name="checkimplication"><with-param name="pValue1">01</with-param><with-param name="pOther" select="../n4:Servicebureau"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD058</with-param></call-template></template><template match="*" mode="CD059"/><template match="n6:Prestatie" mode="CD059"><call-template name="checkimplication"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header/n6:BerichtCode"/><with-param name="pValue1">448, 450</with-param><with-param name="pOther" select="n6:IngediendeBedragPrestatie/nb:BtwVrijstellingIndicatie"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD059</with-param></call-template></template><template match="n4:Prestatie" mode="CD059"><call-template name="checkimplication"><with-param name="pThis" select="ancestor-or-self::n4:Bericht/n4:Header/n4:BerichtCode"/><with-param name="pValue1">449, 451</with-param><with-param name="pOther" select="n4:IngediendeBedragPrestatie/nb:BtwVrijstellingIndicatie"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD059</with-param></call-template></template><template match="*" mode="CD060"/><template match="n6:Prestatie" mode="CD060"><call-template name="checksame"><with-param name="pThis" select="n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="n6:ProductReferentie/nb:VorigReferentieNummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD060</with-param></call-template></template><template match="n4:Prestatie" mode="CD060"><call-template name="checksame"><with-param name="pThis" select="n4:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="n4:ProductReferentie/nb:VorigReferentieNummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD060</with-param></call-template></template><template match="n9:Prestatie" mode="CD060"><call-template name="checksame"><with-param name="pThis" select="n9:IngediendBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="n9:ProductReferentie/nb:VorigReferentieNummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD060</with-param></call-template></template><template match="n7:Prestatie" mode="CD060"><call-template name="checksame"><with-param name="pThis" select="n7:IngediendBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="n7:ProductReferentie/nb:VorigReferentieNummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD060</with-param></call-template></template><template match="*" mode="CD062"/><template match="n6:IngediendeBedragPrestatie | n4:IngediendeBedragPrestatie" mode="CD062"><call-template name="checkimplication"><with-param name="pThis" select="nb:Eenheid"/><with-param name="pValue1">83</with-param><with-param name="pOther" select="nb:ProductTarief"/><with-param name="pValue2"/><with-param name="pRule">CD062</with-param></call-template></template><template match="*" mode="CD066"/><template match="n5:Verwijzer" mode="CD066"><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="nb:Type"/><with-param name="pValues">02,03,04,05</with-param></call-template></variable><choose><when test="$v1='true'"><call-template name="checkimplication"><with-param name="pThis" select="nb:ZorgverlenerCode"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="nb:Naam"/><with-param name="pValue2"/><with-param name="pExtra" select="nb:Type"/><with-param name="pRule">CD066</with-param></call-template></when></choose></template><template match="*" mode="CD067"/><template match="n5:Verwijzer" mode="CD067"><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="nb:Type"/><with-param name="pValues">02,03,04,05</with-param></call-template></variable><choose><when test="$v1='true'"><call-template name="checkimplication"><with-param name="pThis" select="nb:ZorgverlenerCode"/><with-param name="pValue1"/><with-param name="pOther" select="nb:Naam"/><with-param name="pValue2">*</with-param><with-param name="pExtra" select="nb:Type"/><with-param name="pRule">CD067</with-param></call-template></when></choose></template><template match="*" mode="CD068"/><template match="n5:Verwijzer" mode="CD068"><call-template name="checkimplication"><with-param name="pThis" select="nb:Type"/><with-param name="pValue1">!02,03,04,05</with-param><with-param name="pOther" select="nb:ZorgverlenerCode"/><with-param name="pValue2"/><with-param name="pRule">CD068</with-param></call-template></template><template match="*" mode="CD075"/><template match="n8:ToegewezenProduct//n8:Budget" mode="CD075"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD075</with-param></call-template></template><template match="n2:TeWijzigenProduct//n2:Budget" mode="CD075"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD075</with-param></call-template></template><template match="n2:NieuwProduct//n2:Budget" mode="CD075"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD075</with-param></call-template></template><template match="*" mode="CD076"/><template match="n8:ToegewezenProduct//nb:Frequentie" mode="CD076"><call-template name="checkimplication"><with-param name="pValue1">2,6</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD076</with-param></call-template></template><template match="n5:AangevraagdProduct//nb:Frequentie" mode="CD076"><call-template name="checkimplication"><with-param name="pValue1">2,6</with-param><with-param name="pOther" select="ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD076</with-param></call-template></template><template match="n2:TeWijzigenProduct//nb:Frequentie" mode="CD076"><call-template name="checkimplication"><with-param name="pValue1">2,6</with-param><with-param name="pOther" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD076</with-param></call-template></template><template match="n2:NieuwProduct//nb:Frequentie" mode="CD076"><call-template name="checkimplication"><with-param name="pValue1">2,6</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD076</with-param></call-template></template><template match="*" mode="CD077"/><template match="n8:ToegewezenProduct//n8:Budget" mode="CD077"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Omvang"/><with-param name="pValue2">!#</with-param><with-param name="pRule">CD077</with-param></call-template></template><template match="n2:TeWijzigenProduct//n2:Budget" mode="CD077"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Omvang"/><with-param name="pValue2">!#</with-param><with-param name="pRule">CD077</with-param></call-template></template><template match="n2:NieuwProduct//n2:Budget" mode="CD077"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Omvang"/><with-param name="pValue2">!#</with-param><with-param name="pRule">CD077</with-param></call-template></template><template match="*" mode="CD078"/><template match="n8:ToegewezenProduct//n8:Omvang" mode="CD078"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Budget"/><with-param name="pValue2"/><with-param name="pRule">CD078</with-param></call-template></template><template match="n2:TeWijzigenProduct//n2:Omvang" mode="CD078"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Budget"/><with-param name="pValue2"/><with-param name="pRule">CD078</with-param></call-template></template><template match="n2:NieuwProduct//n2:Omvang" mode="CD078"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Budget"/><with-param name="pValue2"/><with-param name="pRule">CD078</with-param></call-template></template><template match="*" mode="CD079"/><template match="n8:ToegewezenProduct" mode="CD079"><call-template name="checkimplication"><with-param name="pThis" select="n8:Budget"/><with-param name="pValue1"/><with-param name="pOther" select="n8:Product"/><with-param name="pValue2">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">CD079</with-param></call-template></template><template match="n2:NieuwProduct" mode="CD079"><call-template name="checkimplication"><with-param name="pThis" select="n2:Budget"/><with-param name="pValue1"/><with-param name="pOther" select="n2:Product"/><with-param name="pValue2">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">CD079</with-param></call-template></template><template match="*" mode="CD080"/><template match="n8:ToegewezenProduct//n8:Omvang" mode="CD080"><if test="not(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum) or number(translate(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Product/nb:Code"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD080</with-param><with-param name="pExtra" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/></call-template></if></template><template match="n5:AangevraagdProduct//n5:Omvang" mode="CD080"><if test="not(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum) or number(translate(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n5:AangevraagdProduct/n5:Product/nb:Code"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD080</with-param><with-param name="pExtra" select="ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum"/></call-template></if></template><template match="n2:NieuwProduct//n2:Omvang" mode="CD080"><if test="not(ancestor-or-self::n2:NieuwProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:NieuwProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Product/nb:Code"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD080</with-param><with-param name="pExtra" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/></call-template></if></template><template match="*" mode="CD081"/><template match="n8:ToegewezenProduct//n8:Omvang/nb:Eenheid" mode="CD081"><if test="not(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum) or number(translate(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">14,16,83,84</with-param><with-param name="pOther" select="../nb:Frequentie"/><with-param name="pValue2">2,4,6</with-param><with-param name="pRule">CD081</with-param><with-param name="pExtra" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/></call-template></if></template><template match="n5:AangevraagdProduct//n5:Omvang/nb:Eenheid" mode="CD081"><if test="not(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum) or number(translate(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">14,16,83,84</with-param><with-param name="pOther" select="../nb:Frequentie"/><with-param name="pValue2">2,4,6</with-param><with-param name="pRule">CD081</with-param><with-param name="pExtra" select="ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum"/></call-template></if></template><template match="n2:TeWijzigenProduct//n2:Omvang/nb:Eenheid" mode="CD081"><if test="not(ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">14,16,83,84</with-param><with-param name="pOther" select="../nb:Frequentie"/><with-param name="pValue2">2,4,6</with-param><with-param name="pRule">CD081</with-param><with-param name="pExtra" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum"/></call-template></if></template><template match="n2:NieuwProduct//n2:Omvang/nb:Eenheid" mode="CD081"><if test="not(ancestor-or-self::n2:NieuwProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:NieuwProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">14,16,83,84</with-param><with-param name="pOther" select="../nb:Frequentie"/><with-param name="pValue2">2,4,6</with-param><with-param name="pRule">CD081</with-param><with-param name="pExtra" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/></call-template></if></template><template match="*" mode="CD085"/><template match="n0:VerzoekAntwoord" mode="CD085"><call-template name="checkimplication"><with-param name="pValue1">1</with-param><with-param name="pOther" select="../n0:RedenAfwijzingVerzoek"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD085</with-param></call-template></template><template match="*" mode="CD086"/><template match="n0:VerzoekAntwoord" mode="CD086"><call-template name="checkimplication"><with-param name="pValue1">2</with-param><with-param name="pOther" select="../n0:RedenAfwijzingVerzoek"/><with-param name="pValue2"/><with-param name="pRule">CD086</with-param></call-template></template><template match="*" mode="CD087"/><template match="n9:Eenheid" mode="CD087"><call-template name="checksame"><with-param name="pValue1">!83</with-param><with-param name="pOther" select="../n9:ProductTarief"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD087</with-param></call-template></template><template match="*" mode="CD088"/><template match="n0:RedenAfwijzingVerzoek" mode="CD088"><call-template name="checkimplication"><with-param name="pValue1">!8</with-param><with-param name="pOther" select="../n0:Woonplaatsbeginsel"/><with-param name="pValue2">!#</with-param><with-param name="pRule">CD088</with-param></call-template></template><template match="*" mode="CS002"/><template match="*[local-name() = 'Bsn']" mode="CS002"><call-template name="check11proef"><with-param name="pRule">CS002</with-param></call-template></template><template match="*" mode="CS003"/><template match="n8:Beschikking/n8:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n8:Ingangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n8:ToegewezenProduct/n8:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n8:Ingangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n8:Contact/n8:Periode/nb:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../nb:Begindatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n5:AangevraagdProduct/n5:ToewijzingEinddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n5:ToewijzingIngangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n2:TeWijzigenProduct/n2:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n2:GewensteIngangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n2:NieuwProduct/n2:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n2:GewensteIngangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="*" mode="CS023"/><template match="n8:Beschikking/n8:Afgiftedatum" mode="CS023"><call-template name="cs023"/></template><template match="n8:Client/n8:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n8:Relatie/n8:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n8:ToegewezenProduct/n8:Toewijzingsdatum" mode="CS023"><call-template name="cs023"/></template><template match="nb:DeclaratiePeriode/nb:Begindatum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n6:Client/n6:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode/nb:Begindatum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n6:Prestatie/n6:ProductPeriode/nb:Begindatum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n4:Client/n4:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n4:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode/nb:Begindatum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n4:Prestatie/n4:ProductPeriode/nb:Begindatum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n3:Client/n3:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n3:StartProduct/n3:Begindatum" mode="CS023"><call-template name="cs023"/></template><template match="n1:Client/n1:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n1:StopProduct/n1:Einddatum" mode="CS023"><call-template name="cs023"/></template><template match="n5:Client/n5:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n9:DeclaratiePeriode/nb:Begindatum" mode="CS023"><call-template name="cs023"/></template><template match="n9:ProductPeriode/nb:Begindatum" mode="CS023"><call-template name="cs023"/></template><template match="n7:ProductPeriode/nb:Begindatum" mode="CS023"><call-template name="cs023"/></template><template name="cs023"><param name="pThis" select="."/><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='BerichtIdentificatie']/*[local-name()='Dagtekening']"/><with-param name="pOther" select="$pThis"/><with-param name="pRule">CS023</with-param></call-template></template><template name="cs023declaratie"><param name="pThis" select="."/><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='DeclaratieFactuurIdentificatie']/*[local-name()='FactuurDagtekening']"/><with-param name="pOther" select="$pThis"/><with-param name="pRule">CS023</with-param></call-template></template><template match="*" mode="CS050"/><template match="nb:NaamGebruik" mode="CS050"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkimplication"><with-param name="pThis" select="../nb:Partnernaam"/><with-param name="pValue1">#</with-param><with-param name="pOther" select="."/><with-param name="pValue2">1,2,3,4</with-param><with-param name="pRule">CS050</with-param></call-template><call-template name="checkimplication"><with-param name="pThis" select="../nb:Partnernaam"/><with-param name="pValue1">!#</with-param><with-param name="pOther" select="."/><with-param name="pValue2">1,6</with-param><with-param name="pRule">CS050</with-param></call-template></if></template><template match="*" mode="CS058"/><template match="n3:StartProduct/n3:StatusAanlevering" mode="CS058"><call-template name="checkvalue"><with-param name="pValues">1,3</with-param><with-param name="pRule">CS058</with-param></call-template></template><template match="n1:StopProduct/n1:StatusAanlevering" mode="CS058"><call-template name="checkvalue"><with-param name="pValues">1,3</with-param><with-param name="pRule">CS058</with-param></call-template></template><template match="*" mode="CS089"/><template match="nb:LandCode" mode="CS089"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkimplication"><with-param name="pValue1">NL</with-param><with-param name="pOther" select="../nb:Postcode"/><with-param name="pValue2">#1000ZZ</with-param><with-param name="pRule">CS089</with-param></call-template></if></template><template match="*" mode="CS100"/><template match="n9:ProductPeriode/nb:Begindatum" mode="CS100"><if test="translate(text(),'-','') < 20210101"><call-template name="addError"><with-param name="pRule">CS100</with-param></call-template></if></template><template match="n9:DeclaratiePeriode/nb:Begindatum" mode="CS100"><if test="translate(text(),'-','') < 20210101"><call-template name="addError"><with-param name="pRule">CS100</with-param></call-template></if></template><template match="*" mode="CS102"/><template match="n2:NieuwProduct/n2:GewensteIngangsdatum" mode="CS102"><call-template name="checkafterstrict"><with-param name="pOther" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='BerichtIdentificatie']/*[local-name()='Dagtekening']"/><with-param name="pRule">CS102</with-param></call-template></template><template match="*" mode="CS103"/><template match="n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode" mode="CS103"><if test="translate(nb:Einddatum/text(),'-','') >= 20210101"><call-template name="addError"><with-param name="pRule">CS103</with-param></call-template></if></template><template match="n6:ProductPeriode" mode="CS103"><if test="translate(nb:Einddatum/text(),'-','') >= 20210101"><call-template name="addError"><with-param name="pRule">CS103</with-param></call-template></if></template><template match="n4:ProductPeriode" mode="CS103"><if test="translate(nb:Einddatum/text(),'-','') >= 20210101"><call-template name="addError"><with-param name="pRule">CS103</with-param></call-template></if></template><template match="*" mode="CS104"/><template match="n8:ToegewezenProduct//n8:Omvang/nb:Frequentie" mode="CS104"><if test="not(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum) or number(translate(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum/text(),'-','')) > 20201231"><call-template name="checkvalue"><with-param name="pValues">!3,5</with-param><with-param name="pExtra" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/><with-param name="pRule">CS104</with-param></call-template></if></template><template match="n5:AangevraagdProduct//n5:Omvang/nb:Frequentie" mode="CS104"><if test="not(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum) or number(translate(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum/text(),'-','')) > 20201231"><call-template name="checkvalue"><with-param name="pValues">!3,5</with-param><with-param name="pExtra" select="ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum"/><with-param name="pRule">CS104</with-param></call-template></if></template><template match="n2:TeWijzigenProduct//n2:Omvang/nb:Frequentie" mode="CS104"><if test="not(ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkvalue"><with-param name="pValues">!3,5</with-param><with-param name="pExtra" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum"/><with-param name="pRule">CS104</with-param></call-template></if></template><template match="n2:NieuwProduct//n2:Omvang/nb:Frequentie" mode="CS104"><if test="not(ancestor-or-self::n2:NieuwProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:NieuwProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkvalue"><with-param name="pValues">!3,5</with-param><with-param name="pExtra" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/><with-param name="pRule">CS104</with-param></call-template></if></template><template match="*" mode="CS108"/><template match="n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode" mode="CS108"><call-template name="cs108"/></template><template match="n6:ProductPeriode" mode="CS108"><call-template name="cs108"/></template><template match="n4:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode" mode="CS108"><call-template name="cs108"/></template><template match="n4:ProductPeriode" mode="CS108"><call-template name="cs108"/></template><template match="n9:DeclaratiePeriode" mode="CS108"><call-template name="cs108"/></template><template match="n9:ProductPeriode" mode="CS108"><call-template name="cs108"/></template><template match="n7:ProductPeriode" mode="CS108"><call-template name="cs108"/></template><template name="cs108"><call-template name="checkafter"><with-param name="pThis" select="nb:Einddatum"/><with-param name="pOther" select="nb:Begindatum"/><with-param name="pRule">CS108</with-param></call-template><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='DeclaratieFactuurIdentificatie']/*[local-name()='FactuurDagtekening']|ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='BerichtIdentificatie']/*[local-name()='Dagtekening']"/><with-param name="pOther" select="nb:Einddatum"/><with-param name="pRule">CS108</with-param></call-template></template><template match="*" mode="CS300"/><template match="n8:Afzender" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n6:Gemeente" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n4:Gemeente" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n3:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n1:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n5:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n2:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n0:Afzender" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n0:Gemeente" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n9:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n7:Afzender" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="*" mode="CS318"/><template match="n8:Client/n8:Naam/nb:NaamGebruik" mode="CS318"><call-template name="checknvalue"><with-param name="pValues">6</with-param><with-param name="pRule">CS318</with-param></call-template></template><template match="*" mode="CS323"/><template match="nb:DeclaratieFactuurBedrag/nb:Bedrag" mode="CS323"><call-template name="checkRelation"><with-param name="pOther" select="../../nb:BerekendBedrag/nb:Bedrag"/><with-param name="pRelation">equalsLt</with-param><with-param name="pRule">CS323</with-param></call-template></template><template match="*" mode="CS324"/><template match="n4:DeclaratieFactuurIdentificatie/nb:FactuurDagtekening" mode="CS324"><call-template name="checkafter"><with-param name="pThis" select="../../n4:RetourHeader/nb:RetourDagtekening"/><with-param name="pRule">CS324</with-param></call-template></template><template match="*" mode="CS325"/><template match="*[local-name() = 'DeclaratieFactuurTotaalBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'BtwTotaalBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'BerekendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'BtwBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'DeclaratieFactuurBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'IngediendTotaalBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'ToegekendTotaalBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'GemeenteBerekendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'ToegekendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'TotaalIngediendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'IngediendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'TotaalToegekendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template name="cs325"><param name="bedrag"/><param name="debetCredit" select="./nb:DebetCredit"/><if test="$bedrag=0 and (normalize-space($debetCredit)='c' or normalize-space($debetCredit)='C')"><call-template name="addError"><with-param name="pElements" select="$bedrag|$debetCredit"/><with-param name="pRule">CS325</with-param></call-template></if></template><template match="*" mode="CS327"/><template match="n6:IngediendeBedragPrestatie/nb:BerekendBedrag" mode="CS327"><call-template name="cs327"/></template><template match="n6:IngediendeBedragPrestatie/nb:BtwBedrag" mode="CS327"><call-template name="cs327"/></template><template match="n4:IngediendeBedragPrestatie/nb:BerekendBedrag" mode="CS327"><call-template name="cs327"/></template><template match="n4:IngediendeBedragPrestatie/nb:BtwBedrag" mode="CS327"><call-template name="cs327"/></template><template name="cs327"><if test="not(normalize-space(nb:DebetCredit/text())=normalize-space(../nb:DeclaratieFactuurBedrag/nb:DebetCredit/text()))"><call-template name="addError"><with-param name="pRule">CS327</with-param><with-param name="pElements" select="nb:DebetCredit|../nb:DeclaratieFactuurBedrag/nb:DebetCredit"/></call-template></if></template><template match="*" mode="CS328"/><template match="n6:ProductPeriode/nb:Begindatum" mode="CS328"><if test="translate(text(),'-','') < 20150101"><call-template name="addError"><with-param name="pRule">CS328</with-param></call-template></if></template><template match="n4:ProductPeriode/nb:Begindatum" mode="CS328"><if test="translate(text(),'-','') < 20150101"><call-template name="addError"><with-param name="pRule">CS328</with-param></call-template></if></template><template match="*" mode="CS330"/><template match="n8:Omvang/nb:Eenheid" mode="CS330"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS330</with-param></call-template></template><template match="n5:Omvang/nb:Eenheid" mode="CS330"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS330</with-param></call-template></template><template match="n2:TeWijzigenProduct/n2:Omvang/nb:Eenheid | n2:NieuwProduct/n2:Omvang/nb:Eenheid" mode="CS330"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS330</with-param></call-template></template><template match="n9:Prestatie/n9:Eenheid" mode="CS330"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS330</with-param></call-template></template><template match="*" mode="CS331"/><template match="n6:IngediendeBedragPrestatie/nb:Eenheid" mode="CS331"><if test="translate(../../n6:ProductPeriode/nb:Begindatum/text(),'-','') >= 20190401"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS331</with-param></call-template></if></template><template match="n4:IngediendeBedragPrestatie/nb:Eenheid" mode="CS331"><if test="translate(../../n4:ProductPeriode/nb:Begindatum/text(),'-','') >= 20190401"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS331</with-param></call-template></if></template><template match="*" mode="TR002"/><template match="*[local-name() = 'Geboortedatum']/nb:Datum" mode="TR002"><if test="not(../nb:DatumGebruik/text()='3' and text()='1900-01-01')"><variable name="v1" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']"/><call-template name="checkYearsBetween"><with-param name="pDate1" select="$v1/*[local-name()='BerichtIdentificatie']/*[local-name()='Dagtekening']|$v1/*[local-name()='DeclaratieFactuurIdentificatie']/*[local-name()='FactuurDagtekening']"/><with-param name="pDate2" select="."/><with-param name="pYears">120</with-param><with-param name="pRule">TR002</with-param></call-template></if></template><template match="*" mode="TR006"/><template match="n8:Contact" mode="TR006"><call-template name="checkSingleCorrect"><with-param name="pThis" select="n8:Telefoon"/><with-param name="pValue1">#</with-param><with-param name="pOther" select="n8:Adres/nb:Huis"/><with-param name="pValue2">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">TR006</with-param></call-template><call-template name="checkSingleCorrect"><with-param name="pThis" select="n8:Telefoon"/><with-param name="pValue1">#</with-param><with-param name="pOther" select="n8:Adres/nb:Postcode"/><with-param name="pValue2">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">TR006</with-param></call-template></template><template match="*" mode="TR018"/><template match="n1:StopProduct/n1:Einddatum" mode="TR018"><call-template name="checkafter"><with-param name="pOther" select="../n1:Begindatum"/><with-param name="pRule">TR018</with-param></call-template></template><template match="*" mode="TR061"/><template match="n8:Client/n8:Contactgegevens" mode="TR061"><if test="not(./n8:Contact/n8:Soort[text()='01' or text()='02' or text()='03'])"><call-template name="addError"><with-param name="pElements" select="n8:Contact"/><with-param name="pRule">TR061</with-param></call-template></if></template><template match="*" mode="TR097"/><template match="*[nb:Datum and nb:DatumGebruik]" mode="TR097"><choose><when test="nb:DatumGebruik='3' and nb:Datum!='1900-01-01'"><call-template name="addError"><with-param name="pElements" select="nb:Datum|nb:DatumGebruik"/><with-param name="pRule">TR097</with-param></call-template></when><when test="nb:DatumGebruik='2' and substring-after(nb:Datum,'-')!='01-01'"><call-template name="addError"><with-param name="pElements" select="nb:Datum|nb:DatumGebruik"/><with-param name="pRule">TR097</with-param></call-template></when><when test="nb:DatumGebruik='1' and substring-after(substring-after(nb:Datum,'-'),'-')!='01'"><call-template name="addError"><with-param name="pElements" select="nb:Datum|nb:DatumGebruik"/><with-param name="pRule">TR097</with-param></call-template></when></choose></template><template match="*" mode="TR101"/><template match="*[n8:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n8:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n8:Contact]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n8:Contact"/><with-param name="pKeys">/Soort,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n8:Relatie]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n8:Relatie"/><with-param name="pKeys">/Contact/Soort,/Nummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n8:ToegewezenProduct]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n8:ToegewezenProduct"/><with-param name="pKeys">/ToewijzingNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n6:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n6:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n6:Prestatie]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n6:Prestatie"/><with-param name="pKeys">/ProductCategorie,/ProductCode,/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n4:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n4:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n4:Prestatie]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n4:Prestatie"/><with-param name="pKeys">/ProductCategorie,/ProductCode,/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n3:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n3:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n3:StartProduct]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n3:StartProduct"/><with-param name="pKeys">/Begindatum,/Product/Categorie,/Product/Code,/ToewijzingNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n1:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n1:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n1:StopProduct]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n1:StopProduct"/><with-param name="pKeys">/Begindatum,/Einddatum,/Product/Categorie,/Product/Code,/ToewijzingNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n5:AangevraagdProduct]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n5:AangevraagdProduct"/><with-param name="pKeys">/Product/Categorie,/Product/Code,/ToewijzingIngangsdatum,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n5:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n5:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n2:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n2:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n2:NieuwProduct]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n2:NieuwProduct"/><with-param name="pKeys">/GewensteIngangsdatum,/Product/Categorie,/Product/Code,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n2:OngewijzigdProduct]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n2:OngewijzigdProduct"/><with-param name="pKeys">/ToewijzingNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n2:TeWijzigenProduct]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n2:TeWijzigenProduct"/><with-param name="pKeys">/ToewijzingNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n2:Verzoek]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n2:Verzoek"/><with-param name="pKeys">/ReferentieAanbieder,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n0:Antwoord]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n0:Antwoord"/><with-param name="pKeys">/ReferentieAanbieder,/VerzoekAntwoord,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n0:Woonplaatsbeginsel]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n0:Woonplaatsbeginsel"/><with-param name="pKeys">/Gemeente,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n9:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n9:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n9:Declaratie]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n9:Declaratie"/><with-param name="pKeys">/DeclaratieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n9:Prestatie]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n9:Prestatie"/><with-param name="pKeys">/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n7:Client]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n7:Client"/><with-param name="pKeys">/Bsn,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n7:DeclaratieAntwoord]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n7:DeclaratieAntwoord"/><with-param name="pKeys">/DeclaratieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n7:Prestatie]" mode="TR101"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n7:Prestatie"/><with-param name="pKeys">/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*" mode="TR302"/><template match="n8:ToegewezenProduct" mode="TR302"><call-template name="tr302"/></template><template name="tr302"><param name="pThis" select="."/><param name="pList" select="preceding-sibling::*"/><for-each select="$pList"><if test="(($pThis/n8:Product/nb:Code and current()/n8:Product/nb:Code and $pThis/n8:Product/nb:Code=current()/n8:Product/nb:Code) and ($pThis/n8:Product/nb:Categorie and current()/n8:Product/nb:Categorie and $pThis/n8:Product/nb:Categorie=current()/n8:Product/nb:Categorie)) or ((not($pThis/n8:Product/nb:Code) or not(current()/n8:Product/nb:Code)) and ($pThis/n8:Product/nb:Categorie and current()/n8:Product/nb:Categorie and $pThis/n8:Product/nb:Categorie=current()/n8:Product/nb:Categorie)) or ((not($pThis/n8:Product/nb:Code) and not($pThis/n8:Product/nb:Categorie)) or (not(current()/n8:Product/nb:Code) and not(current()/n8:Product/nb:Categorie)))"><variable name="v1"><call-template name="isPeriodOverlay"><with-param name="pThis" select="$pThis"/><with-param name="pOther" select="current()"/></call-template></variable><if test="$v1='true'"><call-template name="addError"><with-param name="pElements" select="$pThis|current()"/><with-param name="pRule">TR302</with-param></call-template></if></if></for-each></template><template match="*" mode="TR312"/><template match="n6:DeclaratieFactuurBedragen" mode="TR312"><variable name="v1" select="sum(ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag[nb:DebetCredit/text()='D']/nb:Bedrag)"/><variable name="v2" select="sum(ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag[nb:DebetCredit/text()='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><call-template name="checkimplication"><with-param name="pThis" select="nb:DeclaratieFactuurTotaalBedrag/nb:DebetCredit"/><with-param name="pValue1">D</with-param><with-param name="pOther" select="nb:DeclaratieFactuurTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag/nb:Bedrag"/><with-param name="pRule">TR312</with-param></call-template><call-template name="checkimplication"><with-param name="pThis" select="nb:DeclaratieFactuurTotaalBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="nb:DeclaratieFactuurTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="0 - 1*$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag/nb:Bedrag"/><with-param name="pRule">TR312</with-param></call-template></template><template match="*" mode="TR313"/><template match="n6:DeclaratieFactuurBedragen" mode="TR313"><variable name="v1" select="sum(ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag[nb:DebetCredit='D']/nb:Bedrag)"/><variable name="v2" select="sum(ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag[nb:DebetCredit='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><call-template name="checkimplication"><with-param name="pThis" select="nb:BtwTotaalBedrag/nb:DebetCredit"/><with-param name="pValue1">D</with-param><with-param name="pOther" select="nb:BtwTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">TR313</with-param></call-template><call-template name="checkimplication"><with-param name="pThis" select="nb:BtwTotaalBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="nb:BtwTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="0 - 1*$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">TR313</with-param></call-template><if test="$v3!='0' and not(nb:BtwTotaalBedrag/nb:DebetCredit)"><call-template name="addError"><with-param name="pElements" select=".|ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">TR313</with-param></call-template></if></template><template match="*" mode="TR314"/><template match="n6:ProductReferentie" mode="TR314"><variable name="v1" select="normalize-space(nb:ReferentieNummer/text())"/><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Prestatie/preceding-sibling::n6:Prestatie//nb:ReferentieNummer[text()=$v1]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR314</with-param><with-param name="pCode">8021</with-param><with-param name="pExtra" select="nb:ReferentieNummer"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Client/preceding-sibling::n6:Client//nb:ReferentieNummer[text()=$v1]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR314</with-param><with-param name="pCode">8021</with-param><with-param name="pExtra" select="nb:ReferentieNummer"/></call-template></template><template match="*" mode="TR315"/><template match="n6:ProductReferentie" mode="TR315"><variable name="v1" select="normalize-space(nb:VorigReferentieNummer/text())"/><variable name="v2" select="nb:VorigReferentieNummer"/><for-each select="ancestor-or-self::n6:Prestatie/preceding-sibling::n6:Prestatie//nb:VorigReferentieNummer[text()=$v1]|ancestor-or-self::n6:Client/preceding-sibling::n6:Client//nb:VorigReferentieNummer[text()=$v1]"><call-template name="checkvalue"><with-param name="pValues">!#</with-param><with-param name="pRule">TR315</with-param><with-param name="pExtra" select="$v2"/></call-template></for-each></template><template match="n9:ProductReferentie" mode="TR315"><variable name="v1" select="normalize-space(nb:VorigReferentieNummer/text())"/><variable name="v2" select="nb:VorigReferentieNummer"/><for-each select="ancestor-or-self::n9:Prestatie/preceding-sibling::n9:Prestatie//nb:VorigReferentieNummer[text()=$v1]|ancestor-or-self::n9:Client/preceding-sibling::n9:Client//nb:VorigReferentieNummer[text()=$v1]"><call-template name="checkvalue"><with-param name="pValues">!#</with-param><with-param name="pRule">TR315</with-param><with-param name="pExtra" select="$v2"/></call-template></for-each></template><template match="*" mode="TR316"/><template match="n6:ProductReferentie" mode="TR316"><variable name="v1" select="normalize-space(nb:ReferentieNummer/text())"/><variable name="v2" select="normalize-space(nb:VorigReferentieNummer/text())"/><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Prestatie/preceding-sibling::n6:Prestatie//nb:ReferentieNummer[text()=$v2]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="nb:VorigReferentieNummer"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Client/preceding-sibling::n6:Client//nb:ReferentieNummer[text()=$v2]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="nb:VorigReferentieNummer"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Prestatie/preceding-sibling::n6:Prestatie//nb:VorigReferentieNummer[text()=$v1]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="nb:ReferentieNummer"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Client/preceding-sibling::n6:Client//nb:VorigReferentieNummer[text()=$v1]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="nb:ReferentieNummer"/></call-template><if test="$v1=$v2"><call-template name="addError"><with-param name="pRule">TR316</with-param><with-param name="pElements" select="nb:ReferentieNummer|nb:VorigReferentieNummer"/></call-template></if></template><template match="n9:ProductReferentie" mode="TR316"><variable name="v1" select="normalize-space(nb:ReferentieNummer/text())"/><variable name="v2" select="normalize-space(nb:VorigReferentieNummer/text())"/><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n9:Prestatie/preceding-sibling::n9:Prestatie//nb:ReferentieNummer[text()=$v2]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="nb:VorigReferentieNummer"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n9:Client/preceding-sibling::n9:Client//nb:ReferentieNummer[text()=$v2]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="nb:VorigReferentieNummer"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n9:Prestatie/preceding-sibling::n9:Prestatie//nb:VorigReferentieNummer[text()=$v1]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="nb:ReferentieNummer"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n9:Client/preceding-sibling::n9:Client//nb:VorigReferentieNummer[text()=$v1]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="nb:ReferentieNummer"/></call-template><if test="$v1=$v2"><call-template name="addError"><with-param name="pRule">TR316</with-param><with-param name="pElements" select="nb:ReferentieNummer|nb:VorigReferentieNummer"/></call-template></if></template><template match="*" mode="TR317"/><template match="n6:IngediendeBedragPrestatie | n4:IngediendeBedragPrestatie" mode="TR317"><variable name="v1" select="normalize-space(nb:GeleverdVolume)*normalize-space(nb:ProductTarief)"/><call-template name="checkimplication"><with-param name="pThis" select="nb:BerekendBedrag/nb:Bedrag"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="nb:BerekendBedrag/nb:Bedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="$v1"/></call-template></with-param><with-param name="pExtra" select="nb:GeleverdVolume|nb:ProductTarief"/><with-param name="pRule">TR317</with-param></call-template></template><template match="*" mode="TR319"/><template match="n6:Prestatie" mode="TR319"><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header/n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode/nb:Einddatum"/><with-param name="pOther" select="n6:ProductPeriode/nb:Begindatum"/><with-param name="pRule">TR319</with-param></call-template><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header/n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode/nb:Einddatum"/><with-param name="pOther" select="n6:ProductPeriode/nb:Einddatum"/><with-param name="pRule">TR319</with-param></call-template></template><template match="n9:Prestatie" mode="TR319"><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::n9:Declaratie/n9:DeclaratiePeriode/nb:Einddatum"/><with-param name="pOther" select="n9:ProductPeriode/nb:Begindatum"/><with-param name="pRule">TR319</with-param></call-template><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::n9:Declaratie/n9:DeclaratiePeriode/nb:Einddatum"/><with-param name="pOther" select="n9:ProductPeriode/nb:Einddatum"/><with-param name="pRule">TR319</with-param></call-template></template><template match="*" mode="TR320"/><template match="n4:RetourBedragen" mode="TR320"><variable name="v1" select="sum(ancestor-or-self::n4:Bericht/n4:Clienten/n4:Client/n4:Prestaties/n4:Prestatie/n4:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag[nb:DebetCredit='D']/nb:Bedrag)"/><variable name="v2" select="sum(ancestor-or-self::n4:Bericht/n4:Clienten/n4:Client/n4:Prestaties/n4:Prestatie/n4:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag[nb:DebetCredit='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><variable name="v4" select="sum(ancestor-or-self::n4:Bericht/n4:Clienten/n4:Client/n4:Prestaties/n4:Prestatie/n4:ToegekendeBedragPrestatie/nb:ToegekendBedrag[nb:DebetCredit='D']/nb:Bedrag)"/><variable name="v5" select="sum(ancestor-or-self::n4:Bericht/n4:Clienten/n4:Client/n4:Prestaties/n4:Prestatie/n4:ToegekendeBedragPrestatie/nb:ToegekendBedrag[nb:DebetCredit='C']/nb:Bedrag)"/><variable name="v6" select="$v4 - $v5"/><variable name="v7" select="$v3 - $v6"/><variable name="v8"><choose><when test="./nb:ToegekendTotaalBedrag/nb:DebetCredit/text()='C'"><value-of select="./nb:ToegekendTotaalBedrag/nb:TotaalBedrag/text()*-1"/></when><otherwise><value-of select="./nb:ToegekendTotaalBedrag/nb:TotaalBedrag/text()"/></otherwise></choose></variable><variable name="v9"><choose><when test="./nb:IngediendTotaalBedrag/nb:DebetCredit/text()='C'"><value-of select="./nb:IngediendTotaalBedrag/nb:TotaalBedrag/text()*-1"/></when><otherwise><value-of select="./nb:IngediendTotaalBedrag/nb:TotaalBedrag/text()"/></otherwise></choose></variable><variable name="va" select="$v9 - $v8"/><if test="count(ancestor-or-self::n4:Bericht/n4:Header/n4:RetourCodes/*[local-name()='RetourCode'][text()!='0200' and text()!='8001'])=0 and normalize-space($v7)!=normalize-space($va)"><call-template name="addError"><with-param name="pRule">TR320</with-param><with-param name="pCode">0001</with-param><with-param name="pElements" select="nb:IngediendTotaalBedrag/nb:TotaalBedrag|nb:IngediendTotaalBedrag/nb:DebetCredit|nb:ToegekendTotaalBedrag/nb:TotaalBedrag|nb:ToegekendTotaalBedrag/nb:DebetCredit"/></call-template></if></template><template match="*" mode="TR335"/><template match="n9:Prestatie/n9:ProductPeriode/nb:Einddatum" mode="TR335"><call-template name="checkDateRelation"><with-param name="pDate" select="ancestor-or-self::n9:Declaratie/n9:DeclaratieDagtekening"/><with-param name="pRelation">monthsAfter</with-param><with-param name="pExtra">-60</with-param><with-param name="pRule">TR335</with-param></call-template></template><template match="*" mode="TR342"/><template match="n7:DeclaratieAntwoord" mode="TR342"><variable name="v1" select="sum(./n7:Clienten/n7:Client/n7:Prestaties/n7:Prestatie/n7:IngediendBedrag[./nb:DebetCredit/text()='D']/nb:Bedrag)"/><variable name="v2" select="sum(./n7:Clienten/n7:Client/n7:Prestaties/n7:Prestatie/n7:IngediendBedrag[./nb:DebetCredit/text()='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><variable name="v4"><choose><when test="./n7:TotaalToegekendBedrag/nb:DebetCredit/text()='C'"><value-of select="number(./n7:TotaalToegekendBedrag/nb:TotaalBedrag/text())*-1"/></when><otherwise><value-of select="number(./n7:TotaalToegekendBedrag/nb:TotaalBedrag/text())"/></otherwise></choose></variable><variable name="v5"><choose><when test="./n7:TotaalIngediendBedrag/nb:DebetCredit/text()='C'"><value-of select="number(./n7:TotaalIngediendBedrag/nb:TotaalBedrag/text())*-1"/></when><otherwise><value-of select="number(./n7:TotaalIngediendBedrag/nb:TotaalBedrag/text())"/></otherwise></choose></variable><variable name="v6" select="$v5 - $v4"/><choose><when test="count(ancestor-or-self::n7:DeclaratieAntwoord/n7:RetourCodes/*[local-name()='RetourCode'][text()!='0200' and text()!='8001'])=0"><if test="normalize-space($v3)!=normalize-space($v6)"><call-template name="addError"><with-param name="pRule">TR342</with-param><with-param name="pCode">0001</with-param><with-param name="pElements" select="n7:TotaalToegekendBedrag|n7:TotaalIngediendBedrag"/></call-template></if></when><otherwise><if test="$v4!=0"><call-template name="addError"><with-param name="pRule">TR342</with-param><with-param name="pCode">0001</with-param><with-param name="pElements" select="n7:TotaalToegekendBedrag"/></call-template></if></otherwise></choose></template><template match="*" mode="TR345"/><template match="n9:Prestatie[n9:Eenheid/text() = '83']" mode="TR345"><call-template name="checkRelation"><with-param name="pThis" select="n9:GeleverdVolume"/><with-param name="pOther" select="n9:IngediendBedrag/nb:Bedrag"/><with-param name="pExtra" select="nonExistantNode"/><with-param name="pRelation">equals</with-param><with-param name="pRule">TR345</with-param></call-template></template><template match="*" mode="TR352"/><template match="n2:Verzoek" mode="TR352"><call-template name="checkvalue"><with-param name="pThis" select="n2:OngewijzigdeProducten/n2:OngewijzigdProduct|n2:TeWijzigenProducten/n2:TeWijzigenProduct"/><with-param name="pValues">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">TR352</with-param></call-template></template><template match="*" mode="TR353"/><template match="n2:Verzoek" mode="TR353"><call-template name="checkvalue"><with-param name="pThis" select="n2:TeWijzigenProducten/n2:TeWijzigenProduct|n2:NieuweProducten/n2:NieuwProduct"/><with-param name="pValues">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">TR353</with-param></call-template></template><template match="*" mode="TR358"/><template match="n9:TotaalIngediendBedrag" mode="TR358"><variable name="v1" select="sum(ancestor-or-self::n9:Declaratie/n9:Clienten/n9:Client/n9:Prestaties/n9:Prestatie/n9:IngediendBedrag[nb:DebetCredit/text()='D']/nb:Bedrag)"/><variable name="v2" select="sum(ancestor-or-self::n9:Declaratie/n9:Clienten/n9:Client/n9:Prestaties/n9:Prestatie/n9:IngediendBedrag[nb:DebetCredit/text()='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><call-template name="checkimplication"><with-param name="pThis" select="nb:DebetCredit"/><with-param name="pValue1">D</with-param><with-param name="pOther" select="nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n9:Declaratie/n9:Clienten/n9:Client/n9:Prestaties/n9:Prestatie/n9:IngediendBedrag"/><with-param name="pRule">TR358</with-param></call-template><call-template name="checkimplication"><with-param name="pThis" select="nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="0 - 1*$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n9:Declaratie/n9:Clienten/n9:Client/n9:Prestaties/n9:Prestatie/n9:IngediendBedrag"/><with-param name="pRule">TR358</with-param></call-template></template><template match="*" mode="TR368"/><template match="n9:DeclaratiePeriode" mode="TR368"><if test="substring-after(substring-after(nb:Begindatum,'-'),'-')!='01'"><call-template name="addError"><with-param name="pElements" select="nb:Begindatum"/><with-param name="pRule">TR368</with-param></call-template></if><variable name="v1"><call-template name="addDate"><with-param name="pDate" select="nb:Einddatum/text()"/><with-param name="pExtra">1</with-param></call-template></variable><variable name="v2"><call-template name="addMonths"><with-param name="pDate" select="nb:Begindatum/text()"/><with-param name="pExtra">1</with-param></call-template></variable><if test="$v1!=$v2"><call-template name="addError"><with-param name="pElements" select="nb:Begindatum|nb:Einddatum"/><with-param name="pRule">TR368</with-param></call-template></if></template><template match="*" mode="check" priority="0"><apply-templates mode="CD005" select="."/><apply-templates mode="CD007" select="."/><apply-templates mode="CD009" select="."/><apply-templates mode="CD025" select="."/><apply-templates mode="CD034" select="."/><apply-templates mode="CD041" select="."/><apply-templates mode="CD043" select="."/><apply-templates mode="CD055" select="."/><apply-templates mode="CD056" select="."/><apply-templates mode="CD058" select="."/><apply-templates mode="CD059" select="."/><apply-templates mode="CD060" select="."/><apply-templates mode="CD062" select="."/><apply-templates mode="CD066" select="."/><apply-templates mode="CD067" select="."/><apply-templates mode="CD068" select="."/><apply-templates mode="CD075" select="."/><apply-templates mode="CD076" select="."/><apply-templates mode="CD077" select="."/><apply-templates mode="CD078" select="."/><apply-templates mode="CD079" select="."/><apply-templates mode="CD080" select="."/><apply-templates mode="CD081" select="."/><apply-templates mode="CD085" select="."/><apply-templates mode="CD086" select="."/><apply-templates mode="CD087" select="."/><apply-templates mode="CD088" select="."/><apply-templates mode="CS002" select="."/><apply-templates mode="CS003" select="."/><apply-templates mode="CS023" select="."/><apply-templates mode="CS050" select="."/><apply-templates mode="CS058" select="."/><apply-templates mode="CS089" select="."/><apply-templates mode="CS100" select="."/><apply-templates mode="CS102" select="."/><apply-templates mode="CS103" select="."/><apply-templates mode="CS104" select="."/><apply-templates mode="CS108" select="."/><apply-templates mode="CS300" select="."/><apply-templates mode="CS318" select="."/><apply-templates mode="CS323" select="."/><apply-templates mode="CS324" select="."/><apply-templates mode="CS325" select="."/><apply-templates mode="CS327" select="."/><apply-templates mode="CS328" select="."/><apply-templates mode="CS330" select="."/><apply-templates mode="CS331" select="."/><apply-templates mode="TR002" select="."/><apply-templates mode="TR006" select="."/><apply-templates mode="TR018" select="."/><apply-templates mode="TR061" select="."/><apply-templates mode="TR097" select="."/><apply-templates mode="TR101" select="."/><apply-templates mode="TR302" select="."/><apply-templates mode="TR312" select="."/><apply-templates mode="TR313" select="."/><apply-templates mode="TR314" select="."/><apply-templates mode="TR315" select="."/><apply-templates mode="TR316" select="."/><apply-templates mode="TR317" select="."/><apply-templates mode="TR319" select="."/><apply-templates mode="TR320" select="."/><apply-templates mode="TR335" select="."/><apply-templates mode="TR342" select="."/><apply-templates mode="TR345" select="."/><apply-templates mode="TR352" select="."/><apply-templates mode="TR353" select="."/><apply-templates mode="TR358" select="."/><apply-templates mode="TR368" select="."/></template><variable name="v1"><nc:XSLTHeader><nc:Standaard>ijw</nc:Standaard><nc:StandaardRelease>3.0</nc:StandaardRelease><nc:XSLTVersie>2.1.8</nc:XSLTVersie></nc:XSLTHeader></variable></stylesheet> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8" standalone="no"?><stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:n0="http://www.istandaarden.nl/ijw/3_0/jw319/schema" xmlns:n1="http://www.istandaarden.nl/ijw/3_0/jw307/schema" xmlns:n2="http://www.istandaarden.nl/ijw/3_0/jw317/schema" xmlns:n3="http://www.istandaarden.nl/ijw/3_0/jw305/schema" xmlns:n4="http://www.istandaarden.nl/ijw/3_0/jw304/schema" xmlns:n5="http://www.istandaarden.nl/ijw/3_0/jw315/schema" xmlns:n6="http://www.istandaarden.nl/ijw/3_0/jw303/schema" xmlns:n7="http://www.istandaarden.nl/ijw/3_0/jw325/schema" xmlns:n8="http://www.istandaarden.nl/ijw/3_0/jw301/schema" xmlns:n9="http://www.istandaarden.nl/ijw/3_0/jw323/schema" xmlns:na="http://www.istandaarden.nl/validatie/1_1/rapport/schema" xmlns:nb="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:nc="http://www.istandaarden.nl/validatie/1_1/rapport/schema" exclude-result-prefixes="na nb n4 n1 n3 n5 n6 n8 n7 n9 n2 n0" version="1.0"><output encoding="UTF-8" indent="yes" method="xml" version="1.0"/><template name="printXPath"><param name="pElement" select="."/><if test="$pElement/ancestor::*"><call-template name="printXPath"><with-param name="pElement" select="$pElement/.."/></call-template><text>/</text></if><value-of select="local-name($pElement)"/><if test="($pElement/preceding-sibling::*|$pElement/following-sibling::*)[local-name()=local-name($pElement)]"><value-of select="concat('[',count($pElement/preceding-sibling::*[local-name()=local-name($pElement)])+1,']')"/></if></template><template name="evaluateXPath"><param name="pPath" select="."/><param name="pContext" select="/"/><choose><when test="string-length($pPath) > 0"><variable name="v0" select="substring($pPath,2)"/><variable name="v1"><choose><when test="not(contains($v0,'/'))"><value-of select="$v0"/></when><otherwise><value-of select="substring-before($v0,'/')"/></otherwise></choose></variable><variable name="v2"><choose><when test="not(contains($v1,'['))">1</when><otherwise><value-of select="substring-after(substring-before($v1,']'),'[')"/></otherwise></choose></variable><variable name="v3"><choose><when test="not(contains($v1,'['))"><value-of select="$v1"/></when><otherwise><value-of select="substring-before($v1,'[')"/></otherwise></choose></variable><call-template name="evaluateXPath"><with-param name="pPath" select="substring-after($pPath,$v1)"/><with-param name="pContext" select="$pContext/*[local-name()=$v3 and count(preceding-sibling::*[local-name()=$v3])=$v2 - 1]"/></call-template></when><otherwise><value-of select="normalize-space($pContext/text())"/></otherwise></choose></template><template name="addError"><param name="pRule">FOUT</param><param name="pElements" select="."/><param name="pCode" select="nonExistingNode"/><param name="pDetails" select="''"/><na:Fout><na:Code><value-of select="normalize-space($pRule)"/></na:Code><if test="$pCode"><na:Retourcode><value-of select="$pCode"/></na:Retourcode></if><for-each select="$pElements"><na:Locatie><text>/</text><call-template name="printXPath"><with-param name="pElement" select="."/></call-template></na:Locatie></for-each><choose><when test="$pDetails!=''"><na:Details><value-of select="$pDetails"/></na:Details></when><otherwise><variable name="v0"><apply-templates mode="getDetails" select="."><with-param name="pRule" select="normalize-space($pRule)"/></apply-templates></variable><if test="$v0!=''"><na:Details><value-of select="$v0"/></na:Details></if></otherwise></choose></na:Fout></template><template match="*" mode="getDetails" priority="0"><param name="pRule">FOUT</param></template><template name="checkGemeenteCode"><param name="pThis" select="."/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><apply-templates mode="validGemeente" select="."><with-param name="pGemeenteCode" select="1*normalize-space($pThis/text())"/></apply-templates></variable><if test="$v0!='true'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pExtra"/></call-template></if></template><template match="*" mode="validGemeente" priority="0"><param name="pGemeenteCode" select="."/><value-of select="true()"/></template><template match="*" mode="validAGBCode" priority="0"><param name="pAGBCode" select="."/><param name="pFrom"/><param name="pTo" select="0"/><value-of select="true()"/></template><template match="*" mode="validZorginstelling" priority="0"><param name="pInstelling"/><param name="pOntvanger"/><value-of select="true()"/></template><template name="check11proef"><param name="pElement" select="."/><param name="pRule">FOUT</param><variable name="v0" select="floor(number($pElement/text()) div 1) mod 10"/><variable name="v1" select="floor(number($pElement/text()) div 10) mod 10"/><variable name="v2" select="floor(number($pElement/text()) div 100) mod 10"/><variable name="v3" select="floor(number($pElement/text()) div 1000) mod 10"/><variable name="v4" select="floor(number($pElement/text()) div 10000) mod 10"/><variable name="v5" select="floor(number($pElement/text()) div 100000) mod 10"/><variable name="v6" select="floor(number($pElement/text()) div 1000000) mod 10"/><variable name="v7" select="floor(number($pElement/text()) div 10000000) mod 10"/><variable name="v8" select="floor(number($pElement/text()) div 100000000) mod 10"/><if test="((9*$v8+8*$v7+7*$v6+6*$v5+5*$v4+4*$v3+3*$v2+2*$v1 - 1*$v0) mod 11)!=0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pElement"/></call-template></if></template><template name="split"><param name="pElement" select="."/><param name="pValue"/><choose><when test="string-length(normalize-space($pValue)) > 0"><variable name="v0" select="normalize-space(substring-before(concat($pValue,','),','))"/><choose><when test="normalize-space($pElement/text())=$v0"><value-of select="true()"/></when><otherwise><call-template name="split"><with-param name="pElement" select="$pElement"/><with-param name="pValue" select="substring-after($pValue,',')"/></call-template></otherwise></choose></when><otherwise><value-of select="false()"/></otherwise></choose></template><template name="callrecursive"><param name="pT"/><param name="pValues"/><param name="pText"/><param name="pPattern"/><choose><when test="string-length($pT)=1 and string-length(translate($pT,$pValues,''))=0"><call-template name="patternmatch"><with-param name="pText" select="$pText"/><with-param name="pPattern" select="$pPattern"/></call-template></when><otherwise><value-of select="false()"/></otherwise></choose></template><template name="patternmatch"><param name="pText"/><param name="pPattern"/><choose><when test="(string-length($pText)=0 and string-length($pPattern)!=0) or (string-length($pText)!=0 and string-length($pPattern)=0)"><value-of select="false()"/></when><when test="string-length($pText)=0"><value-of select="true()"/></when><otherwise><variable name="v0" select="substring($pText,1,1)"/><variable name="v1" select="substring($pPattern,1,1)"/><variable name="v2" select="substring($pText,2)"/><variable name="v3" select="substring($pPattern,2)"/><choose><when test="$v1='.'"><call-template name="patternmatch"><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='\' and string-length($v3)!=0"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues" select="substring($v3,1,1)"/><with-param name="pText" select="$v2"/><with-param name="pPattern" select="substring($v3,2)"/></call-template></when><when test="$v1='1'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">123456789</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='0'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">0123456789</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='a'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">abcdefghijklmnopqrstuvwxyz</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='A'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">ABCDEFGHIJKLMNOPQRSTUVWXYZ</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v1='z' or $v1='Z'"><call-template name="callrecursive"><with-param name="pT" select="$v0"/><with-param name="pValues">abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ</with-param><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><when test="$v0=$v1"><call-template name="patternmatch"><with-param name="pText" select="$v2"/><with-param name="pPattern" select="$v3"/></call-template></when><otherwise><value-of select="false()"/></otherwise></choose></otherwise></choose></template><template name="testpattern"><param name="pElement" select="."/><param name="pPattern" select="''"/><variable name="v0" select="$pElement/text()"/><call-template name="patternmatch"><with-param name="pText" select="$v0"/><with-param name="pPattern" select="$pPattern"/></call-template></template><template name="testvalue"><param name="pElement" select="."/><param name="pValues" select="''"/><choose><when test="normalize-space($pValues)=''"><choose><when test="not($pElement/.)"><value-of select="true()"/></when><when test="normalize-space($pElement/text())=''"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="normalize-space($pValues)='*'"><choose><when test="normalize-space($pElement/text())!=''"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="normalize-space($pValues)='#'"><choose><when test="$pElement/."><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="string-length(normalize-space($pValues)) > 1 and substring(normalize-space($pValues),1,1)='#'"><call-template name="testpattern"><with-param name="pElement" select="$pElement"/><with-param name="pPattern" select="substring(normalize-space($pValues),2)"/></call-template></when><when test="string-length(normalize-space($pValues)) > 1 and substring(normalize-space($pValues),1,1)='!'"><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pElement"/><with-param name="pValues" select="substring(normalize-space($pValues),2)"/></call-template></variable><choose><when test="$v0='true'"><value-of select="false()"/></when><otherwise><value-of select="true()"/></otherwise></choose></when><otherwise><call-template name="split"><with-param name="pElement" select="$pElement"/><with-param name="pValue" select="$pValues"/></call-template></otherwise></choose></template><template name="checkRelation"><param name="pThis" select="."/><param name="pOther"/><param name="pRelation"/><param name="pExtra" select="node()"/><param name="pRule">FAIL</param><choose><when test="normalize-space($pRelation)='equals'"><call-template name="checkRelation"><with-param name="pThis" select="$pOther"/><with-param name="pOther" select="$pThis"/><with-param name="pRelation">equalsGt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template><call-template name="checkRelation"><with-param name="pThis" select="$pOther"/><with-param name="pOther" select="$pThis"/><with-param name="pRelation">equalsLt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template></when><when test="normalize-space($pRelation)='equalsGt' and $pThis < $pOther"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></when><when test="normalize-space($pRelation)='equalsLt'"><call-template name="checkRelation"><with-param name="pThis" select="$pOther"/><with-param name="pOther" select="$pThis"/><with-param name="pRelation">equalsGt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template></when></choose></template><template name="adjustDate"><param name="pDate"/><param name="pOverflow">carry</param><variable name="v0" select="$pDate mod 100"/><variable name="v1" select="floor($pDate div 100) mod 100"/><variable name="v2" select="floor($pDate div 10000) mod 10000"/><variable name="v3"><choose><when test="$v0 > 30 and ($v1=4 or $v1=6 or $v1=9 or $v1=11)"><choose><when test="$pOverflow='carry'"><value-of select="$pDate - 30+100"/></when><when test="$pOverflow='truncate'"><value-of select="$pDate - $v0+30"/></when></choose></when><when test="$v0 > 31 and ($v1=1 or $v1=3 or $v1=5 or $v1=7 or $v1=8 or $v1=10 or $v1=12)"><choose><when test="$pOverflow='carry'"><value-of select="$pDate - 31+100"/></when><when test="$pOverflow='truncate'"><value-of select="$pDate - $v0+31"/></when></choose></when><when test="$v0 > 29 and $v1=2 and ($v2 mod 4)=0"><choose><when test="$pOverflow='carry'"><value-of select="$pDate - 29+100"/></when><when test="$pOverflow='truncate'"><value-of select="$pDate - $v0+29"/></when></choose></when><when test="$v0 > 28 and $v1=2 and ($v2 mod 4)!=0"><choose><when test="$pOverflow='carry'"><value-of select="$pDate - 28+100"/></when><when test="$pOverflow='truncate'"><value-of select="$pDate - $v0+28"/></when></choose></when><otherwise><value-of select="0+$pDate"/></otherwise></choose></variable><variable name="v4"><choose><when test="floor($v3 div 100) mod 100 > 12"><value-of select="$v3 - 1200+10000"/></when><otherwise><value-of select="0+$v3"/></otherwise></choose></variable><choose><when test="$v4=$pDate"><value-of select="0+$pDate"/></when><otherwise><call-template name="adjustDate"><with-param name="pDate" select="$v4"/><with-param name="pOverflow" select="$pOverflow"/></call-template></otherwise></choose></template><template name="addDate"><param name="pDate"/><param name="pExtra"/><param name="pOverflow">carry</param><if test="normalize-space($pDate)!=''"><call-template name="adjustDate"><with-param name="pDate" select="translate($pDate,'-','')+$pExtra"/><with-param name="pOverflow" select="$pOverflow"/></call-template></if></template><template name="addMonths"><param name="pDate"/><param name="pExtra"/><param name="pOverflow">carry</param><choose><when test="$pExtra < 0"><call-template name="addMonths"><with-param name="pDate" select="translate($pDate,'-','') - 10000"/><with-param name="pExtra" select="$pExtra+12"/><with-param name="pOverflow" select="$pOverflow"/></call-template></when><when test="$pExtra > 12"><call-template name="addMonths"><with-param name="pDate" select="translate($pDate,'-','')+10000"/><with-param name="pExtra" select="$pExtra - 12"/><with-param name="pOverflow" select="$pOverflow"/></call-template></when><otherwise><call-template name="adjustDate"><with-param name="pDate" select="translate($pDate,'-','')+100*$pExtra"/><with-param name="pOverflow" select="$pOverflow"/></call-template></otherwise></choose></template><template name="checkDateRelation"><param name="pSource" select="."/><param name="pThis" select="$pSource/text()"/><param name="pDate">2018-01-01</param><param name="pRelation"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><choose><when test="not($pSource)"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource"/></call-template></when><when test="$pRelation='equals'"><call-template name="checkDateRelation"><with-param name="pThis" select="$pDate"/><with-param name="pDate" select="$pThis"/><with-param name="pRelation">equalsGt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template><call-template name="checkDateRelation"><with-param name="pThis" select="$pDate"/><with-param name="pDate" select="$pThis"/><with-param name="pRelation">equalsLt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template></when><when test="$pRelation='equalsGt' and translate($pThis,'-','') < translate($pDate,'-','')"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource|$pExtra"/></call-template></when><when test="$pRelation='equalsLt'"><call-template name="checkDateRelation"><with-param name="pThis" select="$pDate"/><with-param name="pDate" select="$pThis"/><with-param name="pRelation">equalsGt</with-param><with-param name="pExtra" select="$pExtra"/><with-param name="pRule" select="$pRule"/></call-template></when><when test="$pRelation='daysAfter'"><variable name="v0"><call-template name="addDate"><with-param name="pDate" select="$pDate"/><with-param name="pExtra" select="$pExtra"/></call-template></variable><if test="1*translate($pThis,'-','') <= 1*$v0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource|$pDate"/></call-template></if></when><when test="$pRelation='monthsBefore'"><variable name="v0"><call-template name="addMonths"><with-param name="pDate" select="$pDate"/><with-param name="pExtra" select="$pExtra"/><with-param name="pOverflow">truncate</with-param></call-template></variable><if test="1*translate($pThis,'-','') > 1*$v0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource|$pDate"/></call-template></if></when><when test="$pRelation='monthsAfter'"><variable name="v0"><call-template name="addMonths"><with-param name="pDate" select="$pDate"/><with-param name="pExtra" select="$pExtra"/><with-param name="pOverflow">truncate</with-param></call-template></variable><if test="1*translate($pThis,'-','') < 1*$v0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pSource|$pDate"/></call-template></if></when></choose></template><template name="checkempty"><param name="pThis" select="."/><param name="pOther" select="."/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/></call-template></variable><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="$pOther"/></call-template></variable><if test="$v0='false' and $v1='true'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checkafter"><param name="pThis" select="."/><param name="pOther" select="."/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><if test="not($pThis) or not($pOther) or translate($pOther/text(),'-','') > translate(substring($pThis/text(),1,10),'-','')"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checkafterstrict"><param name="pThis" select="."/><param name="pOther" select="."/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><if test="not($pThis) or not($pOther) or translate($pOther/text(),'-','') >= translate($pThis/text(),'-','')"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checkYearsBetween"><param name="pDate1"/><param name="pDate2"/><param name="pYears"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">ERROR</param><variable name="v0" select="number(translate(substring($pDate1,1,10),'-',''))"/><variable name="v1" select="number(translate($pDate2,'-',''))"/><variable name="v2" select="number($pYears)*10000"/><if test="($v1+$v2) < $v0"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pDate1|$pDate2|$pExtra"/></call-template></if></template><template name="isPeriodOverlay"><param name="pThis"/><param name="pOther"/><choose><when test="$pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'] and $pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum']"><choose><when test="translate($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') >= translate($pOther/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and translate($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') <= translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') or translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') >= translate($pThis/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') <= translate($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','')"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="$pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'] and not($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'])"><choose><when test="translate($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') >= translate($pOther/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and translate($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') <= '99999999' or '99999999' >= translate($pThis/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and '99999999' <= translate($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','')"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><when test="$pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'] and not($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'])"><choose><when test="'99999999' >= translate($pOther/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and '99999999' <= translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') or translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') >= translate($pThis/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') <= '99999999'"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><otherwise><value-of select="true()"/></otherwise></choose></template><template name="checkvalue"><param name="pThis" select="."/><param name="pValues" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pCode" select="nonExistingNode"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValues"/></call-template></variable><if test="$v0='false'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pExtra"/><with-param name="pCode" select="$pCode"/></call-template></if></template><template name="checknvalue"><param name="pThis" select="."/><param name="pValues" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValues"/></call-template></variable><if test="$v0='true'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pExtra"/></call-template></if></template><template name="checkimplication"><param name="pThis" select="."/><param name="pValue1" select="''"/><param name="pOther" select="."/><param name="pValue2" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValue1"/></call-template></variable><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="$pOther"/><with-param name="pValues" select="$pValue2"/></call-template></variable><if test="$v0='true' and $v1='false'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checksame"><param name="pThis" select="."/><param name="pValue1" select="''"/><param name="pOther" select="."/><param name="pValue2" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValue1"/></call-template></variable><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="$pOther"/><with-param name="pValues" select="$pValue2"/></call-template></variable><if test="$v0!=$v1"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="checkSingleCorrect"><param name="pThis" select="."/><param name="pValue1" select="''"/><param name="pOther" select="."/><param name="pValue2" select="''"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><variable name="v0"><call-template name="testvalue"><with-param name="pElement" select="$pThis"/><with-param name="pValues" select="$pValue1"/></call-template></variable><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="$pOther"/><with-param name="pValues" select="$pValue2"/></call-template></variable><if test="$v0='false' and $v1='false'"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pThis|$pOther|$pExtra"/></call-template></if></template><template name="transformKeys"><param name="pElement" select="."/><param name="pKeys"/><for-each select="$pElement"><variable name="v0"><call-template name="evaluateXPath"><with-param name="pContext" select="current()"/><with-param name="pPath"><value-of select="substring-before(normalize-space($pKeys),',')"/></with-param></call-template></variable><text disable-output-escaping="yes"><</text><value-of select="$v0"/><text disable-output-escaping="yes">></text><if test="contains($pKeys,',') and substring-after(normalize-space($pKeys),',')"><call-template name="transformKeys"><with-param name="pElement" select="current()"/><with-param name="pKeys" select="substring-after(normalize-space($pKeys),',')"/></call-template></if></for-each></template><template name="checkDuplicateKeys"><param name="pElement" select="."/><param name="pKeys"/><param name="pExtra" select="emptyNodeSet"/><param name="pRule">FAIL</param><for-each select="$pElement"><variable name="v0"><call-template name="transformKeys"><with-param name="pElement" select="current()"/><with-param name="pKeys" select="$pKeys"/></call-template></variable><variable name="v1" select="position()"/><for-each select="$pElement[position() > $v1]"><variable name="v2"><call-template name="transformKeys"><with-param name="pElement" select="current()"/><with-param name="pKeys" select="$pKeys"/></call-template></variable><if test="$v0=$v2 and $v0!='' and $v2!=''"><call-template name="addError"><with-param name="pRule" select="$pRule"/><with-param name="pElements" select="$pElement[position()=$v1]|current()|$pExtra"/></call-template></if></for-each></for-each></template><template name="formatNumberInternal"><param name="pValue"/><if test="$pValue > 0"><call-template name="formatNumberInternal"><with-param name="pValue" select="floor(number($pValue) div 10)"/></call-template><value-of select="number($pValue) mod 10"/></if></template><template name="formatNumber"><param name="pValue"/><choose><when test="number($pValue) < 0">-<call-template name="formatNumberInternal"><with-param name="pValue" select="0 - number($pValue)"/></call-template></when><when test="number($pValue)=0">0</when><otherwise><call-template name="formatNumberInternal"><with-param name="pValue" select="number($pValue)"/></call-template></otherwise></choose></template><template match="*[local-name()='Afzender']" mode="header" priority="10"/><template match="*[local-name()='Ontvanger']" mode="header" priority="10"/><template match="*[local-name()='BerichtCode']" mode="header" priority="10"><na:BerichtCode><value-of select="text()"/></na:BerichtCode></template><template match="*[local-name()='BerichtType']" mode="header" priority="10"><na:BerichtCode><value-of select="text()"/></na:BerichtCode></template><template match="*[local-name()='BerichtVersie']" mode="header" priority="10"><na:BerichtVersie><value-of select="text()"/></na:BerichtVersie></template><template match="*[local-name()='BerichtSubversie']" mode="header" priority="10"><na:BerichtSubversie><value-of select="text()"/></na:BerichtSubversie></template><template match="*[local-name()='Identificatie'] | *[local-name()='DeclarantFactuurNummer']" mode="header" priority="10"><na:Identificatie><value-of select="normalize-space(text())"/></na:Identificatie></template><template match="*[local-name()='Dagtekening'] | *[local-name()='FactuurDagtekening']" mode="header" priority="10"><na:Dagtekening><value-of select="substring(text(),1,10)"/></na:Dagtekening></template><template match="*[local-name()='BerichtIdentificatie'] | *[local-name()='DeclaratieFactuurIdentificatie']" mode="header" priority="10"><na:BerichtIdentificatie><apply-templates mode="header" select="*"/></na:BerichtIdentificatie></template><template match="*[local-name()='DeclaratieIdentificatie']" mode="header" priority="10"/><variable name="v0">2.2.8</variable><template match="*|@*|text()" mode="check"/><template match="*|@*|text()" mode="header"><apply-templates mode="header" select="*"/></template><template match="*|@*|text()" mode="traverse"><apply-templates mode="traverse" select="*"/><apply-templates mode="check" select="."/></template><template match="*[local-name() = 'Bericht']"><na:Rapport><na:Header><apply-templates mode="header" select="//*[local-name()='Header']/*"/><choose><when test="contains($v0,'-SNAPSHOT')"><na:XSLTVersie>0.0.0</na:XSLTVersie></when><otherwise><na:XSLTVersie><value-of select="normalize-space($v0)"/></na:XSLTVersie></otherwise></choose></na:Header><na:Fouten><apply-templates mode="traverse" select="*"/></na:Fouten></na:Rapport></template><template match="*" mode="getDetails" priority="100"><param name="pRule">FOUT</param><choose><when test="$pRule='CD005'">Als Postcode gevuld is, dan verplicht vullen, anders leeg laten.</when><when test="$pRule='CD007'">Als Communicatie / Vorm de waarde 1 (tolk taal) heeft, dan verplicht vullen, anders leeglaten.</when><when test="$pRule='CD009'">Alleen als Soort adres de waarde 04 (tijdelijk adres) heeft, is vullen toegestaan.</when><when test="$pRule='CD025'">Als Adres / LandCode de waarde NL (Nederland) heeft, dan verplicht vullen.</when><when test="$pRule='CD034'">Als Soort adres de waarde 1 (BRP-adres) of 3 (verblijfadres) heeft, dan verplicht vullen.</when><when test="$pRule='CD041'">Indien Code in Product gevuld is, verplicht vullen.</when><when test="$pRule='CD043'">Indien Beschikkingnummer gevuld is, verplicht vullen, anders leeg laten.</when><when test="$pRule='CD055'">Verplicht vullen indien BtwVrijstellingIndicatie de waarde 2 (Geen btw-vrijstelling) bevat.</when><when test="$pRule='CD056'">Niet vullen indien BtwVrijstellingIndicatie de waarde 1 (Btw-vrijstelling) bevat.</when><when test="$pRule='CD058'">Verplicht vullen indien BetalingAanID de waarde 01 (= servicebureau) heeft.</when><when test="$pRule='CD059'">Verplicht vullen indien BerichtCode de waarde 448 of 450 (= Factuur Wmo-ondersteuning of Jw-ondersteuning) bevat.</when><when test="$pRule='CD060'">Verplicht vullen indien DebetCredit bij het ingediende bedrag de waarde C (credit) heeft, anders leeg laten.</when><when test="$pRule='CD062'">Niet vullen indien Eenheid is 83 (Euro’s).</when><when test="$pRule='CD066'">Als type verwijzer gelijk is aan 02, 03, 04 of 05 en ZorgverlenerCode is gevuld, dan is Naamverwijzer leeg.</when><when test="$pRule='CD067'">Als type verwijzer gelijk is aan 02, 03, 04 of 05 en ZorgverlenerCode is leeg, dan is Naamverwijzer gevuld.</when><when test="$pRule='CD068'">Als type verwijzer ongelijk is aan 02, 03, 04 of 05, dan is ZorgverlenerCode leeg.</when><when test="$pRule='CD075'">Verplicht vullen indien Budget gevuld is</when><when test="$pRule='CD076'">Verplicht vullen indien Frequentie waarde 2 (per week) of 6 (totaal binnen geldigheid toewijzing) heeft.</when><when test="$pRule='CD077'">Indien Budget gevuld is, dan leeg laten</when><when test="$pRule='CD078'">Indien Omvang gevuld is, dan leeg laten</when><when test="$pRule='CD079'">Indien Budget leeg is, dan verplicht vullen</when><when test="$pRule='CD080'">Indien Code in Product leeg is en Einddatum van het ToegewezenProduct groter dan 31-12-2020 of leeg is, dan leeg laten</when><when test="$pRule='CD081'">Indien eenheid de waarde 14, 16, 83 of 84 heeft en Einddatum van het ToegewezenProduct groter dan 31-12-2020 of leeg is, dan Frequentie vullen met de waarde 2 , 4 of 6</when><when test="$pRule='CD085'">Als VerzoekAntwoord de waarde 1 (Verzoek afgewezen) heeft, dan vullen</when><when test="$pRule='CD086'">Als VerzoekAntwoord de waarde 2 (Aanvraag in onderzoek) heeft, dan leeg laten</when><when test="$pRule='CD087'">Als eenheid ongelijk is aan 83 (euro's) dan verplicht vullen, anders leeg laten.</when><when test="$pRule='CD088'">Als RedenAfwijzingVerzoek ongelijk is aan 8 (Woonplaatsbeginsel), dan leeg laten.</when><when test="$pRule='CS002'">De waarde moet voldoen aan de 11-proef.</when><when test="$pRule='CS003'">Indien van toepassing vullen met een waarde die groter is dan, of gelijk is aan de Begindatum (of Ingangsdatum) van de aangeduide periode.</when><when test="$pRule='CS004'">Aaneengesloten vullen (zonder punten of spaties).</when><when test="$pRule='CS005'">Aaneengesloten vullen met cijfers.</when><when test="$pRule='CS015'">BerichtSubversie vullen met 0.</when><when test="$pRule='CS023'">Vullen met een bestaande datum die niet groter is dan de Dagtekening van het bericht.</when><when test="$pRule='CS025'">BerichtVersie vullen met 3.</when><when test="$pRule='CS050'">Als Partnernaam gevuld is, dan NaamGebruik vullen met waarde 1, 2, 3 of 4. Anders waarde 1 of 6 vullen.</when><when test="$pRule='CS058'">1 (eerste aanlevering) of 3 (verwijderen aanlevering) vullen.</when><when test="$pRule='CS064'">Vullen met een bestaande datum die niet in de toekomst ligt.</when><when test="$pRule='CS089'">Als LandCode de waarde NL (Nederland) heeft, dan moet het formaat overeenkomen met dat van een Nederlandse postcode.</when><when test="$pRule='CS100'">Datum is groter dan of gelijk aan 01-01-2021</when><when test="$pRule='CS102'">Datum is groter dan de dagtekening van het bericht.</when><when test="$pRule='CS103'">De gehele periode ligt voor 01-01-2021.</when><when test="$pRule='CS104'">3 (per 4 weken) en 5 (per jaar) niet vullen indien de Einddatum van het ToegewezenProduct leeg is of groter is dan 31-12-2020.</when><when test="$pRule='CS108'">Vullen met een waarde die groter is dan, of gelijk is aan de Begindatum van de aangeduide periode én die niet groter is dan de Dagtekening van het bericht.</when><when test="$pRule='CS126'">Vullen met BerichtCode volgens de specificatie</when><when test="$pRule='CS128'">Vullen met een versienummer bestaande uit drie gehele getallen, gescheiden met punten.</when><when test="$pRule='CS300'">Vullen met een bestaande gemeentecode uit het overzicht van CBS.</when><when test="$pRule='CS318'">NaamGebruik 6 (Niet-natuurlijk persoon) niet vullen.</when><when test="$pRule='CS319'">Aaneengesloten vullen met cijfers en/of letters</when><when test="$pRule='CS320'">Vullen met een geldig btw-nummer</when><when test="$pRule='CS321'">Vullen met een geldige AGB-code van een servicebureau ( zie https://www.agbcode.nl)</when><when test="$pRule='CS322'">Vullen met een percentage kleiner dan 100.</when><when test="$pRule='CS323'">Bedrag vullen met een waarde kleiner dan of gelijk aan Bedrag in BerekendBedrag</when><when test="$pRule='CS324'">Vullen met een waarde die groter is dan, of gelijk is aan de DagtekeningFactuur.</when><when test="$pRule='CS325'">Indien (Totaal)Bedrag de waarde 0 heeft, dan DebetCredit vullen met D (Debet).</when><when test="$pRule='CS327'">DebetCredit vullen met een waarde die gelijk is aan DebetCredit in DeclaratieFactuurBedrag.</when><when test="$pRule='CS328'">Begindatum vullen met een datum die groter dan of gelijk is aan 2015-01-01.</when><when test="$pRule='CS329'">ProductCode vullen met met een code die, volgens de gehanteerde productcodelijst, past bij de ProductCategorie.</when><when test="$pRule='CS330'">21 (Week) en 81 (Benodigde tijdsduur of tijdsonafhankelijk) niet vullen.</when><when test="$pRule='CS331'">21 (Week) en 81 (Benodigde tijdsduur of tijdsonafhankelijk) niet vullen indien de ProductPeriode Begindatum op of na de implementatiedatum van release 2.3 ligt.</when><when test="$pRule='TR002'">Geboortedatum mag niet meer dan 120 jaar voor de Dagtekening liggen, tenzij Geboortedatum onbekend is.</when><when test="$pRule='TR006'">De berichtklasse Contact moet een berichtelement Telefoon, en/of de combinatie Huis en Postcode bevatten.</when><when test="$pRule='TR018'">Einddatum moet groter dan of gelijk zijn aan Begindatum.</when><when test="$pRule='TR019'">Bij een output- of inspanningsgerichte werkwijze moet de melding van de start of de stop van de ondersteuning gerelateerd zijn aan een toewijzing op basis van het toewijzingnummer</when><when test="$pRule='TR056'">Identificatie moet per berichtsoort uniek zijn voor de verzendende partij.</when><when test="$pRule='TR061'">Bij een Client moet minimaal één Adres voorkomen waarvan Soort de waarde '01' (BRP-adres), '02' (Correspondentie-adres) of '03' (Verblijfadres) heeft.</when><when test="$pRule='TR063'">Indien StatusAanlevering de waarde 3 (aanlevering verwijderen) bevat, dan moet voor de betreffende Client een eerdere aanlevering met dezelfde logische sleutel verstuurd zijn.</when><when test="$pRule='TR069'">De sleutelelementen uit het startbericht moeten in het stopbericht, waarin wordt aangegeven dat de betreffende levering (tijdelijk) beeindigd wordt, ongewijzigd worden overgenomen.</when><when test="$pRule='TR071'">StatusAanlevering mag niet de waarde '3' bevatten als er voor de betreffende melding start zorg al een stop zorg is verstuurd.</when><when test="$pRule='TR074'">Indien StatusAanlevering de waarde '1' bevat, dan moet de sleutel van de betreffende aanlevering niet alleen uniek zijn binnen het bericht zelf, maar ook in combinatie met alle reeds ontvangen berichten.</when><when test="$pRule='TR097'">Voor Geboortedatum geldt dat DatumGebruik en Datum met elkaar in overeenstemming moeten zijn.</when><when test="$pRule='TR101'">Binnen een bericht zijn dubbele regels niet toegestaan.</when><when test="$pRule='TR300'">Indien de toewijzing wordt gestuurd naar aanleiding van het honoreren van een verzoek om toewijzing bericht, moet ReferentieAanbieder worden overgenomen van het betreffende verzoek om toewijzing bericht (315).</when><when test="$pRule='TR302'">Een product mag alleen vaker in een toewijzing voorkomen indien de zorgperiodes elkaar niet overlappen</when><when test="$pRule='TR303'">Iedere prestatie in een declaratie- of factuurbericht is gerelateerd aan een toegewezen product op basis van het toewijzingnummer.</when><when test="$pRule='TR304'">Bsn moet overeenkomen met Bsn van een Client.</when><when test="$pRule='TR305'">ProductCategorie in de Prestatie moet gelijk zijn aan ProductCategorie in het ToegewezenProduct.</when><when test="$pRule='TR306'">ProductCode in de Prestatie moet gelijk zijn aan ProductCode in het ToegewezenProduct, indien deze opgenomen is.</when><when test="$pRule='TR307'">Begindatum in de Prestatie moet groter dan of gelijk zijn aan Ingangsdatum in het ToegewezenProduct.</when><when test="$pRule='TR308'">Einddatum in de Prestatie moet kleiner dan of gelijk zijn aan Einddatum in het ToegewezenProduct, indien die gevuld is.</when><when test="$pRule='TR309'">Eenheid in de Prestatie moet passen bij Eenheid in het ToegewezenProduct.</when><when test="$pRule='TR311'">De indiener van het declaratie- of factuurbericht is de aanbieder of de administratieve eenheid die namens de aanbieder declareert of factureert.</when><when test="$pRule='TR312'">De waarde van TotaalBedrag in DeclaratieFactuurTotaalBedrag moet gelijk zijn aan de SOM van de waarden van Bedrag in DeclaratieFactuurBedrag, rekening houdend met indicatie debet/credit.</when><when test="$pRule='TR313'">De waarde van TotaalBedrag in BtwTotaalBedrag moet gelijk zijn aan de SOM van de waarden van Bedrag in BtwBedrag, rekening houdend met indicatie debet/credit.</when><when test="$pRule='TR314'">ReferentieNummer van de Prestatie moet uniek zijn voor de aanbieder binnen het wettelijk domein waarop de Prestatie betrekking heeft, zowel binnen één bericht als berichtoverstijgend.</when><when test="$pRule='TR315'">VorigReferentieNummer van de Prestatie moet uniek zijn in het bericht.</when><when test="$pRule='TR316'">Debetregels mogen niet in hetzelfde bericht gecrediteerd worden.</when><when test="$pRule='TR317'">Indien gevuld moet BerekendBedrag gelijk zijn aan GeleverdVolume vermenigvuldigd met ProductTarief.</when><when test="$pRule='TR318'">Indien iedere DeclaratiePeriode zorg is geleverd, moet DeclaratiePeriode BeginDatum van de volgende declaratie-/factuurperiode precies één dag na de DeclaratiePeriode EindDatum van de voorgaande declaratie-/factuurperiode liggen.</when><when test="$pRule='TR319'">Een declaratie- of factuurbericht bevat alleen prestaties waarvan de ProductPeriode valt binnen de huidige, of een voorgaande declaratie- of factuurperiode.</when><when test="$pRule='TR320'">Alle deels toegekende en/of afgewezen prestaties dienen meegestuurd te worden in het retourbericht op een declaratie/factuur.</when><when test="$pRule='TR321'">Indien in het ToegewezenProduct een Omvang is meegegeven, moet GeleverdVolume in de Prestatie passen binnen Volume in het ToegewezenProduct.</when><when test="$pRule='TR322'">Indien in het ToegewezenProduct een Omvang is meegegeven, moet de som van GeleverdVolume in alle ingediende Prestaties die betrekking hebben op dat ToegewezenProduct passen binnen de toegewezen Omvang.</when><when test="$pRule='TR323'">Een credit Prestatie moet gerelateerd zijn aan een eerder verzonden debet Prestatie op basis van sleutelvelden.</when><when test="$pRule='TR324'">Factuurnummer moet uniek zijn voor de verzendende partij.</when><when test="$pRule='TR326'">Een Startbericht mag pas verstuurd worden als er géén actueel Startbericht bij ToegewezenProduct is.</when><when test="$pRule='TR332'">Ieder ToegewezenProduct binnen één gemeente heeft een uniek nummer per wettelijk domein.</when><when test="$pRule='TR333'">DeclaratieNummer van de Declaratie moet uniek zijn voor de aanbieder binnen het wettelijk domein waarop de Declaratie betrekking heeft.</when><when test="$pRule='TR335'">Einddatum mag niet meer dan 5 jaar voor DeclaratieDagtekening liggen.</when><when test="$pRule='TR337'">De DeclaratieIdentificatie dient overeen te komen met de BerichtIdentificatie van een eerder ontvangen Declaratiebericht.</when><when test="$pRule='TR338'">Iedere Prestatie in een declaratiebericht is gerelateerd aan een ToegewezenProduct op basis van het toewijzingnummer.</when><when test="$pRule='TR339'">ProductCategorie in Prestatie moet gelijk zijn aan ProductCategorie in het ToegewezenProduct indien deze opgenomen is.</when><when test="$pRule='TR340'">ProductCode in Prestatie moet gelijk zijn aan ProductCode in het ToegewezenProduct, indien deze opgenomen is.</when><when test="$pRule='TR341'">Eenheid in Prestatie moet passen bij Eenheid in het ToegewezenProduct.</when><when test="$pRule='TR342'">Alle afgewezen Prestaties dienen meegestuurd te worden in het declaratie-antwoordbericht op een declaratie.</when><when test="$pRule='TR345'">Indien Eenheid de waarde 83 (euro's) heeft, moet IngediendBedrag gelijk zijn aan GeleverdVolume.</when><when test="$pRule='TR346'">Indien Eenheid ongelijk is aan waarde 83 (Euro's), moet IngediendBedrag gelijk zijn aan GeleverdVolume vermenigvuldigd met (het onafgeronde) ProductTarief.</when><when test="$pRule='TR347'">ReferentieAanbieder is uniek voor de aanbieder binnen het wettelijk domein</when><when test="$pRule='TR349'">Het verzoek om wijziging bericht bevat alle actuele ToegewezenProducten van de client</when><when test="$pRule='TR350'">Ieder OngewijzigdProduct in een verzoek om wijziging bericht is gerelateerd aan een actueel toegewezen product op basis van het ToewijzingNummer.</when><when test="$pRule='TR351'">Ieder TeWijzigenProduct in een verzoek om wijziging is gerelateerd aan een actueel ToegewezenProduct op basis van ToewijzingNummer.</when><when test="$pRule='TR352'">Bij een verzoek om wijziging komt minstens 1 OngewijzigdProduct of TeWijzigenProduct voor.</when><when test="$pRule='TR353'">Bij een verzoek komt minstens 1 TeWijzigenProduct of NieuwProduct voor.</when><when test="$pRule='TR355'">ReferentieAanbieder in het antwoordbericht komt voor in een eerder verzoek om toewijzing of verzoek om wijziging</when><when test="$pRule='TR357'">Als GewensteIngangsdatum kleiner dan of gelijk is aan de dagtekening, dan is GewensteIngangsdatum gelijk aan ingangsdatum van het originele ToegewezenProduct.</when><when test="$pRule='TR358'">De waarde van TotaalBedrag in TotaalIngediendBedrag moet gelijk zijn aan de SOM van de waarden van Bedrag in Ingediendbedrag in alle onderliggende Prestaties, rekening houdend met indicatie debet/credit.</when><when test="$pRule='TR359'">Als een antwoordbericht wordt verstuurd, mag er niet al eerder een toewijzingsbericht gestuurd zijn met dezelfde ReferentieAanbieder</when><when test="$pRule='TR360'">Een antwoordbericht met in VerzoekAntwoord de waarde 2 (Aanvraag in onderzoek), mag alleen gestuurd worden indien er nog geen antwoordbericht is met deze ReferentieAanbieder</when><when test="$pRule='TR361'">Een product mag alleen vaker in verzoek om wijziging voorkomen als de zorgperiodes elkaar niet overlappen</when><when test="$pRule='TR362'">Als een toewijzingsbericht niet wordt gestuurd naar aanleiding van het honoreren van een verzoek om toewijzing of een verzoek om wijziging dan wordt ReferentieAanbieder leeg gelaten.</when><when test="$pRule='TR363'">Als een toewijzingsbericht wordt gestuurd als honorering van een verzoek om wijziging, wordt ReferentieAanbieder overgenomen</when><when test="$pRule='TR364'">ReferentieAanbieder in een ToegewezenProduct komt voor in een eerder verzoek om toewijzing of verzoek om wijziging</when><when test="$pRule='TR365'">Als er al een antwoordbericht is met dezelfde ReferentieAanbieder dan moet VerzoekAntwoord daar de waarde 2 (Aanvraag in onderzoek) hebben.</when><when test="$pRule='TR366'">Iedere Prestatie in een declaratieantwoord is gerelateerd aan een declaratiebericht op basis van ProductReferentie.</when><when test="$pRule='TR367'">Waarde moet overeenkomen met waarde uit het declaratiebericht dat gerelateerd is op basis van ProductReferentie</when><when test="$pRule='TR368'">De periode is exact gelijk aan 1 hele kalendermaand</when><when test="$pRule='TR369'">Indien in het ToegewezenProduct een Budget is meegegeven, moet de som van GeleverdVolume in alle ingediende Prestaties die betrekking hebben op dat ToegewezenProduct passen binnen het toegewezen Budget.</when><when test="$pRule='TR371'">Waarde moet overeenkomen met waarde van XsdVersie uit het declaratiebericht dat gerelateerd is op basis van DeclaratieIdentificatie.</when><when test="$pRule='TR373'">Indien in een TeWijzigenProduct het Budget of het totaal over toewijzingsperiode wordt gewijzigd, dient GewensteIngangsdatum gelijk te zijn aan de actuele toewijzing</when><when test="$pRule='TR374'">Een verzoek mag alleen worden verstuurd als er geen onderhanden verzoek is voor de betreffende client van dezelfde aanbieder.</when><when test="$pRule='TR375'">Indien Product in de toewijzing met ToewijzingNummer leeg is en Einddatum groter dan 31-12-2020 of leeg is, dan leeg laten.</when><when test="$pRule='TR376'">Het DeclaratieNummer dient overeen te komen met het DeclaratieNummer van een eerder ontvangen Declaratie.</when></choose></template><template match="*" mode="CD005"/><template match="nb:Postcode" mode="CD005"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkempty"><with-param name="pOther" select="../nb:LandCode"/><with-param name="pRule">CD005</with-param></call-template></if></template><template match="nb:LandCode" mode="CD005"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkempty"><with-param name="pOther" select="../nb:Postcode"/><with-param name="pRule">CD005</with-param></call-template></if></template><template match="*" mode="CD007"/><template match="*[nb:Taal | nb:Vorm]" mode="check"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checksame"><with-param name="pThis" select="nb:Taal"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="nb:Vorm"/><with-param name="pValue2">1</with-param><with-param name="pRule">CD007</with-param></call-template></if></template><template match="*" mode="CD009"/><template match="n8:Contact/n8:Periode" mode="CD009"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="../n8:Soort"/><with-param name="pValue2">04</with-param><with-param name="pRule">CD009</with-param></call-template></template><template match="*" mode="CD025"/><template match="nb:LandCode" mode="CD025"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkimplication"><with-param name="pValue1">NL</with-param><with-param name="pOther" select="../nb:Huis/nb:Huisnummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD025</with-param></call-template></if></template><template match="*" mode="CD034"/><template match="n8:Contact" mode="CD034"><call-template name="checkimplication"><with-param name="pThis" select="n8:Soort"/><with-param name="pValue1">01,03</with-param><with-param name="pOther" select="n8:Adres/nb:Postcode"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD034</with-param></call-template></template><template match="*" mode="CD041"/><template match="n8:ToegewezenProduct" mode="CD041"><call-template name="checkimplication"><with-param name="pThis" select="n8:Product/nb:Code"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="n8:Omvang"/><with-param name="pValue2">#</with-param><with-param name="pRule">CD041</with-param></call-template></template><template match="n5:AangevraagdProduct" mode="CD041"><call-template name="checkimplication"><with-param name="pThis" select="n5:Product/nb:Code"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="n5:Omvang"/><with-param name="pValue2">#</with-param><with-param name="pRule">CD041</with-param></call-template></template><template match="*" mode="CD043"/><template match="n5:AangevraagdProduct" mode="CD043"><call-template name="checksame"><with-param name="pThis" select="n5:BeschikkingNummer"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="n5:BeschikkingIngangsdatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD043</with-param></call-template></template><template match="*" mode="CD055"/><template match="n6:IngediendeBedragPrestatie" mode="CD055"><if test="normalize-space(nb:BtwVrijstellingIndicatie/text())='2'"><call-template name="checkvalue"><with-param name="pThis" select="nb:BtwPercentage"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="nb:BtwBedrag/nb:Bedrag"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header//nb:BtwIDNummer"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header//nb:BtwTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template></if></template><template match="n4:IngediendeBedragPrestatie" mode="CD055"><if test="normalize-space(nb:BtwVrijstellingIndicatie/text())='2'"><call-template name="checkvalue"><with-param name="pThis" select="nb:BtwPercentage"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="nb:BtwBedrag/nb:Bedrag"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n4:Bericht/n4:Header//nb:BtwIDNummer"/><with-param name="pValues">*</with-param><with-param name="pRule">CD055</with-param><with-param name="pExtra" select="nb:BtwVrijstellingIndicatie"/></call-template></if></template><template match="*" mode="CD056"/><template match="n6:IngediendeBedragPrestatie" mode="CD056"><if test="normalize-space(nb:BtwVrijstellingIndicatie/text())='1'"><call-template name="checkempty"><with-param name="pThis" select="nb:BtwPercentage"/><with-param name="pRule">CD056</with-param></call-template><call-template name="checkempty"><with-param name="pThis" select="nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">CD056</with-param></call-template></if></template><template match="n4:IngediendeBedragPrestatie" mode="CD056"><if test="normalize-space(nb:BtwVrijstellingIndicatie/text())='1'"><call-template name="checkempty"><with-param name="pThis" select="nb:BtwPercentage"/><with-param name="pRule">CD056</with-param></call-template><call-template name="checkempty"><with-param name="pThis" select="nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">CD056</with-param></call-template></if></template><template match="*" mode="CD058"/><template match="n6:BetalingAanID" mode="CD058"><call-template name="checkimplication"><with-param name="pValue1">01</with-param><with-param name="pOther" select="../n6:Servicebureau"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD058</with-param></call-template></template><template match="n4:BetalingAanID" mode="CD058"><call-template name="checkimplication"><with-param name="pValue1">01</with-param><with-param name="pOther" select="../n4:Servicebureau"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD058</with-param></call-template></template><template match="*" mode="CD059"/><template match="n6:Prestatie" mode="CD059"><call-template name="checkimplication"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header/n6:BerichtCode"/><with-param name="pValue1">448, 450</with-param><with-param name="pOther" select="n6:IngediendeBedragPrestatie/nb:BtwVrijstellingIndicatie"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD059</with-param></call-template></template><template match="n4:Prestatie" mode="CD059"><call-template name="checkimplication"><with-param name="pThis" select="ancestor-or-self::n4:Bericht/n4:Header/n4:BerichtCode"/><with-param name="pValue1">449, 451</with-param><with-param name="pOther" select="n4:IngediendeBedragPrestatie/nb:BtwVrijstellingIndicatie"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD059</with-param></call-template></template><template match="*" mode="CD060"/><template match="n6:Prestatie" mode="CD060"><call-template name="checksame"><with-param name="pThis" select="n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="n6:ProductReferentie/nb:VorigReferentieNummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD060</with-param></call-template></template><template match="n4:Prestatie" mode="CD060"><call-template name="checksame"><with-param name="pThis" select="n4:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="n4:ProductReferentie/nb:VorigReferentieNummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD060</with-param></call-template></template><template match="n9:Prestatie" mode="CD060"><call-template name="checksame"><with-param name="pThis" select="n9:IngediendBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="n9:ProductReferentie/nb:VorigReferentieNummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD060</with-param></call-template></template><template match="n7:Prestatie" mode="CD060"><call-template name="checksame"><with-param name="pThis" select="n7:IngediendBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="n7:ProductReferentie/nb:VorigReferentieNummer"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD060</with-param></call-template></template><template match="*" mode="CD062"/><template match="n6:IngediendeBedragPrestatie | n4:IngediendeBedragPrestatie" mode="CD062"><call-template name="checkimplication"><with-param name="pThis" select="nb:Eenheid"/><with-param name="pValue1">83</with-param><with-param name="pOther" select="nb:ProductTarief"/><with-param name="pValue2"/><with-param name="pRule">CD062</with-param></call-template></template><template match="*" mode="CD066"/><template match="n5:Verwijzer" mode="CD066"><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="nb:Type"/><with-param name="pValues">02,03,04,05</with-param></call-template></variable><choose><when test="$v1='true'"><call-template name="checkimplication"><with-param name="pThis" select="nb:ZorgverlenerCode"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="nb:Naam"/><with-param name="pValue2"/><with-param name="pExtra" select="nb:Type"/><with-param name="pRule">CD066</with-param></call-template></when></choose></template><template match="*" mode="CD067"/><template match="n5:Verwijzer" mode="CD067"><variable name="v1"><call-template name="testvalue"><with-param name="pElement" select="nb:Type"/><with-param name="pValues">02,03,04,05</with-param></call-template></variable><choose><when test="$v1='true'"><call-template name="checkimplication"><with-param name="pThis" select="nb:ZorgverlenerCode"/><with-param name="pValue1"/><with-param name="pOther" select="nb:Naam"/><with-param name="pValue2">*</with-param><with-param name="pExtra" select="nb:Type"/><with-param name="pRule">CD067</with-param></call-template></when></choose></template><template match="*" mode="CD068"/><template match="n5:Verwijzer" mode="CD068"><call-template name="checkimplication"><with-param name="pThis" select="nb:Type"/><with-param name="pValue1">!02,03,04,05</with-param><with-param name="pOther" select="nb:ZorgverlenerCode"/><with-param name="pValue2"/><with-param name="pRule">CD068</with-param></call-template></template><template match="*" mode="CD075"/><template match="n8:ToegewezenProduct//n8:Budget" mode="CD075"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD075</with-param></call-template></template><template match="n2:TeWijzigenProduct//n2:Budget" mode="CD075"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD075</with-param></call-template></template><template match="n2:NieuwProduct//n2:Budget" mode="CD075"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD075</with-param></call-template></template><template match="*" mode="CD076"/><template match="n8:ToegewezenProduct//nb:Frequentie" mode="CD076"><call-template name="checkimplication"><with-param name="pValue1">2,6</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD076</with-param></call-template></template><template match="n5:AangevraagdProduct//nb:Frequentie" mode="CD076"><call-template name="checkimplication"><with-param name="pValue1">2,6</with-param><with-param name="pOther" select="ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD076</with-param></call-template></template><template match="n2:TeWijzigenProduct//nb:Frequentie" mode="CD076"><call-template name="checkimplication"><with-param name="pValue1">2,6</with-param><with-param name="pOther" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD076</with-param></call-template></template><template match="n2:NieuwProduct//nb:Frequentie" mode="CD076"><call-template name="checkimplication"><with-param name="pValue1">2,6</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD076</with-param></call-template></template><template match="*" mode="CD077"/><template match="n8:ToegewezenProduct//n8:Budget" mode="CD077"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Omvang"/><with-param name="pValue2">!#</with-param><with-param name="pRule">CD077</with-param></call-template></template><template match="n2:TeWijzigenProduct//n2:Budget" mode="CD077"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Omvang"/><with-param name="pValue2">!#</with-param><with-param name="pRule">CD077</with-param></call-template></template><template match="n2:NieuwProduct//n2:Budget" mode="CD077"><call-template name="checkimplication"><with-param name="pValue1">*</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Omvang"/><with-param name="pValue2">!#</with-param><with-param name="pRule">CD077</with-param></call-template></template><template match="*" mode="CD078"/><template match="n8:ToegewezenProduct//n8:Omvang" mode="CD078"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Budget"/><with-param name="pValue2"/><with-param name="pRule">CD078</with-param></call-template></template><template match="n2:TeWijzigenProduct//n2:Omvang" mode="CD078"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Budget"/><with-param name="pValue2"/><with-param name="pRule">CD078</with-param></call-template></template><template match="n2:NieuwProduct//n2:Omvang" mode="CD078"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Budget"/><with-param name="pValue2"/><with-param name="pRule">CD078</with-param></call-template></template><template match="*" mode="CD079"/><template match="n8:ToegewezenProduct" mode="CD079"><call-template name="checkimplication"><with-param name="pThis" select="n8:Budget"/><with-param name="pValue1"/><with-param name="pOther" select="n8:Product"/><with-param name="pValue2">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">CD079</with-param></call-template></template><template match="n2:NieuwProduct" mode="CD079"><call-template name="checkimplication"><with-param name="pThis" select="n2:Budget"/><with-param name="pValue1"/><with-param name="pOther" select="n2:Product"/><with-param name="pValue2">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">CD079</with-param></call-template></template><template match="*" mode="CD080"/><template match="n8:ToegewezenProduct//n8:Omvang" mode="CD080"><if test="not(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum) or number(translate(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n8:ToegewezenProduct/n8:Product/nb:Code"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD080</with-param><with-param name="pExtra" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/></call-template></if></template><template match="n5:AangevraagdProduct//n5:Omvang" mode="CD080"><if test="not(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum) or number(translate(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n5:AangevraagdProduct/n5:Product/nb:Code"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD080</with-param><with-param name="pExtra" select="ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum"/></call-template></if></template><template match="n2:NieuwProduct//n2:Omvang" mode="CD080"><if test="not(ancestor-or-self::n2:NieuwProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:NieuwProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">#</with-param><with-param name="pOther" select="ancestor-or-self::n2:NieuwProduct/n2:Product/nb:Code"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD080</with-param><with-param name="pExtra" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/></call-template></if></template><template match="*" mode="CD081"/><template match="n8:ToegewezenProduct//n8:Omvang/nb:Eenheid" mode="CD081"><if test="not(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum) or number(translate(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">14,16,83,84</with-param><with-param name="pOther" select="../nb:Frequentie"/><with-param name="pValue2">2,4,6</with-param><with-param name="pRule">CD081</with-param><with-param name="pExtra" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/></call-template></if></template><template match="n5:AangevraagdProduct//n5:Omvang/nb:Eenheid" mode="CD081"><if test="not(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum) or number(translate(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">14,16,83,84</with-param><with-param name="pOther" select="../nb:Frequentie"/><with-param name="pValue2">2,4,6</with-param><with-param name="pRule">CD081</with-param><with-param name="pExtra" select="ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum"/></call-template></if></template><template match="n2:TeWijzigenProduct//n2:Omvang/nb:Eenheid" mode="CD081"><if test="not(ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">14,16,83,84</with-param><with-param name="pOther" select="../nb:Frequentie"/><with-param name="pValue2">2,4,6</with-param><with-param name="pRule">CD081</with-param><with-param name="pExtra" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum"/></call-template></if></template><template match="n2:NieuwProduct//n2:Omvang/nb:Eenheid" mode="CD081"><if test="not(ancestor-or-self::n2:NieuwProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:NieuwProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkimplication"><with-param name="pValue1">14,16,83,84</with-param><with-param name="pOther" select="../nb:Frequentie"/><with-param name="pValue2">2,4,6</with-param><with-param name="pRule">CD081</with-param><with-param name="pExtra" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/></call-template></if></template><template match="*" mode="CD085"/><template match="n0:VerzoekAntwoord" mode="CD085"><call-template name="checkimplication"><with-param name="pValue1">1</with-param><with-param name="pOther" select="../n0:RedenAfwijzingVerzoek"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD085</with-param></call-template></template><template match="*" mode="CD086"/><template match="n0:VerzoekAntwoord" mode="CD086"><call-template name="checkimplication"><with-param name="pValue1">2</with-param><with-param name="pOther" select="../n0:RedenAfwijzingVerzoek"/><with-param name="pValue2"/><with-param name="pRule">CD086</with-param></call-template></template><template match="*" mode="CD087"/><template match="n9:Eenheid" mode="CD087"><call-template name="checksame"><with-param name="pValue1">!83</with-param><with-param name="pOther" select="../n9:ProductTarief"/><with-param name="pValue2">*</with-param><with-param name="pRule">CD087</with-param></call-template></template><template match="*" mode="CD088"/><template match="n0:RedenAfwijzingVerzoek" mode="CD088"><call-template name="checkimplication"><with-param name="pValue1">!8</with-param><with-param name="pOther" select="../n0:Woonplaatsbeginsel"/><with-param name="pValue2">!#</with-param><with-param name="pRule">CD088</with-param></call-template></template><template match="*" mode="CS002"/><template match="*[local-name() = 'Bsn']" mode="CS002"><call-template name="check11proef"><with-param name="pRule">CS002</with-param></call-template></template><template match="*" mode="CS003"/><template match="n8:Beschikking/n8:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n8:Ingangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n8:ToegewezenProduct/n8:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n8:Ingangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n8:Contact/n8:Periode/nb:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../nb:Begindatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n5:AangevraagdProduct/n5:ToewijzingEinddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n5:ToewijzingIngangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n2:TeWijzigenProduct/n2:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n2:GewensteIngangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="n2:NieuwProduct/n2:Einddatum" mode="CS003"><call-template name="checkafter"><with-param name="pOther" select="../n2:GewensteIngangsdatum"/><with-param name="pRule">CS003</with-param></call-template></template><template match="*" mode="CS023"/><template match="n8:Beschikking/n8:Afgiftedatum" mode="CS023"><call-template name="cs023"/></template><template match="n8:Client/n8:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n8:Relatie/n8:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n8:ToegewezenProduct/n8:Toewijzingsdatum" mode="CS023"><call-template name="cs023"/></template><template match="nb:DeclaratiePeriode/nb:Begindatum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n6:Client/n6:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n6:Prestatie/n6:ProductPeriode/nb:Begindatum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n4:Client/n4:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n4:Prestatie/n4:ProductPeriode/nb:Begindatum" mode="CS023"><call-template name="cs023declaratie"/></template><template match="n3:Client/n3:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n3:StartProduct/n3:Begindatum" mode="CS023"><call-template name="cs023"/></template><template match="n1:Client/n1:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n1:StopProduct/n1:Einddatum" mode="CS023"><call-template name="cs023"/></template><template match="n5:Client/n5:Geboortedatum/nb:Datum" mode="CS023"><call-template name="cs023"/></template><template match="n9:DeclaratiePeriode/nb:Begindatum" mode="CS023"><call-template name="cs023"/></template><template match="n9:ProductPeriode/nb:Begindatum" mode="CS023"><call-template name="cs023"/></template><template match="n7:ProductPeriode/nb:Begindatum" mode="CS023"><call-template name="cs023"/></template><template name="cs023"><param name="pThis" select="."/><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='BerichtIdentificatie']/*[local-name()='Dagtekening']"/><with-param name="pOther" select="$pThis"/><with-param name="pRule">CS023</with-param></call-template></template><template name="cs023declaratie"><param name="pThis" select="."/><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='DeclaratieFactuurIdentificatie']/*[local-name()='FactuurDagtekening']"/><with-param name="pOther" select="$pThis"/><with-param name="pRule">CS023</with-param></call-template></template><template match="*" mode="CS050"/><template match="nb:NaamGebruik" mode="CS050"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkimplication"><with-param name="pThis" select="../nb:Partnernaam"/><with-param name="pValue1">#</with-param><with-param name="pOther" select="."/><with-param name="pValue2">1,2,3,4</with-param><with-param name="pRule">CS050</with-param></call-template><call-template name="checkimplication"><with-param name="pThis" select="../nb:Partnernaam"/><with-param name="pValue1">!#</with-param><with-param name="pOther" select="."/><with-param name="pValue2">1,6</with-param><with-param name="pRule">CS050</with-param></call-template></if></template><template match="*" mode="CS058"/><template match="n3:StartProduct/n3:StatusAanlevering" mode="CS058"><call-template name="checkvalue"><with-param name="pValues">1,3</with-param><with-param name="pRule">CS058</with-param></call-template></template><template match="n1:StopProduct/n1:StatusAanlevering" mode="CS058"><call-template name="checkvalue"><with-param name="pValues">1,3</with-param><with-param name="pRule">CS058</with-param></call-template></template><template match="*" mode="CS089"/><template match="nb:LandCode" mode="CS089"><if test="not (ancestor-or-self::n4:Bericht)"><call-template name="checkimplication"><with-param name="pValue1">NL</with-param><with-param name="pOther" select="../nb:Postcode"/><with-param name="pValue2">#1000ZZ</with-param><with-param name="pRule">CS089</with-param></call-template></if></template><template match="*" mode="CS100"/><template match="n9:ProductPeriode/nb:Begindatum" mode="CS100"><if test="translate(text(),'-','') < 20210101"><call-template name="addError"><with-param name="pRule">CS100</with-param></call-template></if></template><template match="n9:DeclaratiePeriode/nb:Begindatum" mode="CS100"><if test="translate(text(),'-','') < 20210101"><call-template name="addError"><with-param name="pRule">CS100</with-param></call-template></if></template><template match="*" mode="CS102"/><template match="n2:NieuwProduct/n2:GewensteIngangsdatum" mode="CS102"><call-template name="checkafterstrict"><with-param name="pOther" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='BerichtIdentificatie']/*[local-name()='Dagtekening']"/><with-param name="pRule">CS102</with-param></call-template></template><template match="*" mode="CS103"/><template match="n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode" mode="CS103"><if test="translate(nb:Einddatum/text(),'-','') >= 20210101"><call-template name="addError"><with-param name="pRule">CS103</with-param></call-template></if></template><template match="n6:ProductPeriode" mode="CS103"><if test="translate(nb:Einddatum/text(),'-','') >= 20210101"><call-template name="addError"><with-param name="pRule">CS103</with-param></call-template></if></template><template match="n4:ProductPeriode" mode="CS103"><if test="translate(nb:Einddatum/text(),'-','') >= 20210101"><call-template name="addError"><with-param name="pRule">CS103</with-param></call-template></if></template><template match="*" mode="CS104"/><template match="n8:ToegewezenProduct//n8:Omvang/nb:Frequentie" mode="CS104"><if test="not(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum) or number(translate(ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum/text(),'-','')) > 20201231"><call-template name="checkvalue"><with-param name="pValues">!3,5</with-param><with-param name="pExtra" select="ancestor-or-self::n8:ToegewezenProduct/n8:Einddatum"/><with-param name="pRule">CS104</with-param></call-template></if></template><template match="n5:AangevraagdProduct//n5:Omvang/nb:Frequentie" mode="CS104"><if test="not(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum) or number(translate(ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum/text(),'-','')) > 20201231"><call-template name="checkvalue"><with-param name="pValues">!3,5</with-param><with-param name="pExtra" select="ancestor-or-self::n5:AangevraagdProduct/n5:ToewijzingEinddatum"/><with-param name="pRule">CS104</with-param></call-template></if></template><template match="n2:TeWijzigenProduct//n2:Omvang/nb:Frequentie" mode="CS104"><if test="not(ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkvalue"><with-param name="pValues">!3,5</with-param><with-param name="pExtra" select="ancestor-or-self::n2:TeWijzigenProduct/n2:Einddatum"/><with-param name="pRule">CS104</with-param></call-template></if></template><template match="n2:NieuwProduct//n2:Omvang/nb:Frequentie" mode="CS104"><if test="not(ancestor-or-self::n2:NieuwProduct/n2:Einddatum) or number(translate(ancestor-or-self::n2:NieuwProduct/n2:Einddatum/text(),'-','')) > 20201231"><call-template name="checkvalue"><with-param name="pValues">!3,5</with-param><with-param name="pExtra" select="ancestor-or-self::n2:NieuwProduct/n2:Einddatum"/><with-param name="pRule">CS104</with-param></call-template></if></template><template match="*" mode="CS108"/><template match="n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode" mode="CS108"><call-template name="cs108"/></template><template match="n6:ProductPeriode" mode="CS108"><call-template name="cs108"/></template><template match="n4:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode" mode="CS108"><call-template name="cs108"/></template><template match="n4:ProductPeriode" mode="CS108"><call-template name="cs108"/></template><template match="n9:DeclaratiePeriode" mode="CS108"><call-template name="cs108"/></template><template match="n9:ProductPeriode" mode="CS108"><call-template name="cs108"/></template><template match="n7:ProductPeriode" mode="CS108"><call-template name="cs108"/></template><template name="cs108"><call-template name="checkafter"><with-param name="pThis" select="nb:Einddatum"/><with-param name="pOther" select="nb:Begindatum"/><with-param name="pRule">CS108</with-param></call-template><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='DeclaratieFactuurIdentificatie']/*[local-name()='FactuurDagtekening']|ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']/*[local-name()='BerichtIdentificatie']/*[local-name()='Dagtekening']"/><with-param name="pOther" select="nb:Einddatum"/><with-param name="pRule">CS108</with-param></call-template></template><template match="*" mode="CS300"/><template match="n8:Afzender" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n6:Gemeente" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n4:Gemeente" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n3:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n1:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n5:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n2:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n0:Afzender" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n0:Gemeente" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n9:Ontvanger" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="n7:Afzender" mode="CS300"><call-template name="checkGemeenteCode"><with-param name="pRule">CS300</with-param></call-template></template><template match="*" mode="CS318"/><template match="n8:Client/n8:Naam/nb:NaamGebruik" mode="CS318"><call-template name="checknvalue"><with-param name="pValues">6</with-param><with-param name="pRule">CS318</with-param></call-template></template><template match="*" mode="CS323"/><template match="nb:DeclaratieFactuurBedrag/nb:Bedrag" mode="CS323"><call-template name="checkRelation"><with-param name="pOther" select="../../nb:BerekendBedrag/nb:Bedrag"/><with-param name="pRelation">equalsLt</with-param><with-param name="pRule">CS323</with-param></call-template></template><template match="*" mode="CS324"/><template match="n4:DeclaratieFactuurIdentificatie/nb:FactuurDagtekening" mode="CS324"><call-template name="checkafter"><with-param name="pThis" select="../../n4:RetourHeader/nb:RetourDagtekening"/><with-param name="pRule">CS324</with-param></call-template></template><template match="*" mode="CS325"/><template match="*[local-name() = 'DeclaratieFactuurTotaalBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'BtwTotaalBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'BerekendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'BtwBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'DeclaratieFactuurBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'IngediendTotaalBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'ToegekendTotaalBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'GemeenteBerekendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'ToegekendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'TotaalIngediendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template match="*[local-name() = 'IngediendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:Bedrag"/></call-template></template><template match="*[local-name() = 'TotaalToegekendBedrag']" mode="CS325"><call-template name="cs325"><with-param name="bedrag" select="nb:TotaalBedrag"/></call-template></template><template name="cs325"><param name="bedrag"/><param name="debetCredit" select="./nb:DebetCredit"/><if test="$bedrag=0 and (normalize-space($debetCredit)='c' or normalize-space($debetCredit)='C')"><call-template name="addError"><with-param name="pElements" select="$bedrag|$debetCredit"/><with-param name="pRule">CS325</with-param></call-template></if></template><template match="*" mode="CS327"/><template match="n6:IngediendeBedragPrestatie/nb:BerekendBedrag" mode="CS327"><call-template name="cs327"/></template><template match="n6:IngediendeBedragPrestatie/nb:BtwBedrag" mode="CS327"><call-template name="cs327"/></template><template match="n4:IngediendeBedragPrestatie/nb:BerekendBedrag" mode="CS327"><call-template name="cs327"/></template><template match="n4:IngediendeBedragPrestatie/nb:BtwBedrag" mode="CS327"><call-template name="cs327"/></template><template name="cs327"><if test="not(normalize-space(nb:DebetCredit/text())=normalize-space(../nb:DeclaratieFactuurBedrag/nb:DebetCredit/text()))"><call-template name="addError"><with-param name="pRule">CS327</with-param><with-param name="pElements" select="nb:DebetCredit|../nb:DeclaratieFactuurBedrag/nb:DebetCredit"/></call-template></if></template><template match="*" mode="CS328"/><template match="n6:ProductPeriode/nb:Begindatum" mode="CS328"><if test="translate(text(),'-','') < 20150101"><call-template name="addError"><with-param name="pRule">CS328</with-param></call-template></if></template><template match="n4:ProductPeriode/nb:Begindatum" mode="CS328"><if test="translate(text(),'-','') < 20150101"><call-template name="addError"><with-param name="pRule">CS328</with-param></call-template></if></template><template match="*" mode="CS330"/><template match="n8:Omvang/nb:Eenheid" mode="CS330"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS330</with-param></call-template></template><template match="n5:Omvang/nb:Eenheid" mode="CS330"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS330</with-param></call-template></template><template match="n2:TeWijzigenProduct/n2:Omvang/nb:Eenheid | n2:NieuwProduct/n2:Omvang/nb:Eenheid" mode="CS330"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS330</with-param></call-template></template><template match="n9:Prestatie/n9:Eenheid" mode="CS330"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS330</with-param></call-template></template><template match="*" mode="CS331"/><template match="n6:IngediendeBedragPrestatie/nb:Eenheid" mode="CS331"><if test="translate(../../n6:ProductPeriode/nb:Begindatum/text(),'-','') >= 20190401"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS331</with-param></call-template></if></template><template match="n4:IngediendeBedragPrestatie/nb:Eenheid" mode="CS331"><if test="translate(../../n4:ProductPeriode/nb:Begindatum/text(),'-','') >= 20190401"><call-template name="checknvalue"><with-param name="pValues">21,81</with-param><with-param name="pRule">CS331</with-param></call-template></if></template><template match="*" mode="TR002"/><template match="*[local-name() = 'Geboortedatum']/nb:Datum" mode="TR002"><if test="not(../nb:DatumGebruik/text()='3' and text()='1900-01-01')"><variable name="v1" select="ancestor-or-self::*[local-name()='Bericht']/*[local-name()='Header']"/><call-template name="checkYearsBetween"><with-param name="pDate1" select="$v1/*[local-name()='BerichtIdentificatie']/*[local-name()='Dagtekening']|$v1/*[local-name()='DeclaratieFactuurIdentificatie']/*[local-name()='FactuurDagtekening']"/><with-param name="pDate2" select="."/><with-param name="pYears">120</with-param><with-param name="pRule">TR002</with-param></call-template></if></template><template match="*" mode="TR006"/><template match="n8:Contact" mode="TR006"><call-template name="checkSingleCorrect"><with-param name="pThis" select="n8:Telefoon"/><with-param name="pValue1">#</with-param><with-param name="pOther" select="n8:Adres/nb:Huis"/><with-param name="pValue2">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">TR006</with-param></call-template><call-template name="checkSingleCorrect"><with-param name="pThis" select="n8:Telefoon"/><with-param name="pValue1">#</with-param><with-param name="pOther" select="n8:Adres/nb:Postcode"/><with-param name="pValue2">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">TR006</with-param></call-template></template><template match="*" mode="TR018"/><template match="n1:StopProduct/n1:Einddatum" mode="TR018"><call-template name="checkafter"><with-param name="pOther" select="../n1:Begindatum"/><with-param name="pRule">TR018</with-param></call-template></template><template match="*" mode="TR061"/><template match="n8:Client/n8:Contactgegevens" mode="TR061"><if test="not(./n8:Contact/n8:Soort[text()='01' or text()='02' or text()='03'])"><call-template name="addError"><with-param name="pElements" select="n8:Contact"/><with-param name="pRule">TR061</with-param></call-template></if></template><template match="*" mode="TR097"/><template match="*[nb:Datum and nb:DatumGebruik]" mode="TR097"><choose><when test="nb:DatumGebruik='3' and nb:Datum!='1900-01-01'"><call-template name="addError"><with-param name="pElements" select="nb:Datum|nb:DatumGebruik"/><with-param name="pRule">TR097</with-param></call-template></when><when test="nb:DatumGebruik='2' and substring-after(nb:Datum,'-')!='01-01'"><call-template name="addError"><with-param name="pElements" select="nb:Datum|nb:DatumGebruik"/><with-param name="pRule">TR097</with-param></call-template></when><when test="nb:DatumGebruik='1' and substring-after(substring-after(nb:Datum,'-'),'-')!='01'"><call-template name="addError"><with-param name="pElements" select="nb:Datum|nb:DatumGebruik"/><with-param name="pRule">TR097</with-param></call-template></when></choose></template><template match="*" mode="TR101simple"/><template match="*" mode="TR101generic"/><template match="*" mode="TR101"><apply-templates mode="TR101simple" select="*"/><apply-templates mode="TR101generic" select="*"/></template><template match="n8:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n8:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="n8:Contact" mode="TR101simple"><variable name="v1" select="*[local-name()='Soort']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n8:Contact[*[local-name()='Soort']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n8:Relatie]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n8:Relatie"/><with-param name="pKeys">/Contact/Soort,/Nummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="n8:ToegewezenProduct" mode="TR101simple"><variable name="v1" select="*[local-name()='ToewijzingNummer']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n8:ToegewezenProduct[*[local-name()='ToewijzingNummer']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="n6:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n6:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n6:Prestatie]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n6:Prestatie"/><with-param name="pKeys">/ProductCategorie,/ProductCode,/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="n4:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n4:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n4:Prestatie]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n4:Prestatie"/><with-param name="pKeys">/ProductCategorie,/ProductCode,/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="n3:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n3:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n3:StartProduct]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n3:StartProduct"/><with-param name="pKeys">/Begindatum,/Product/Categorie,/Product/Code,/ToewijzingNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="n1:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n1:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n1:StopProduct]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n1:StopProduct"/><with-param name="pKeys">/Begindatum,/Einddatum,/Product/Categorie,/Product/Code,/ToewijzingNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*[n5:AangevraagdProduct]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n5:AangevraagdProduct"/><with-param name="pKeys">/Product/Categorie,/Product/Code,/ToewijzingIngangsdatum,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="n5:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n5:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="n2:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n2:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n2:NieuwProduct]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n2:NieuwProduct"/><with-param name="pKeys">/GewensteIngangsdatum,/Product/Categorie,/Product/Code,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="n2:OngewijzigdProduct" mode="TR101simple"><variable name="v1" select="*[local-name()='ToewijzingNummer']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n2:OngewijzigdProduct[*[local-name()='ToewijzingNummer']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="n2:TeWijzigenProduct" mode="TR101simple"><variable name="v1" select="*[local-name()='ToewijzingNummer']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n2:TeWijzigenProduct[*[local-name()='ToewijzingNummer']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="n2:Verzoek" mode="TR101simple"><variable name="v1" select="*[local-name()='ReferentieAanbieder']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n2:Verzoek[*[local-name()='ReferentieAanbieder']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n0:Antwoord]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n0:Antwoord"/><with-param name="pKeys">/ReferentieAanbieder,/VerzoekAntwoord,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="n0:Woonplaatsbeginsel" mode="TR101simple"><variable name="v1" select="*[local-name()='Gemeente']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n0:Woonplaatsbeginsel[*[local-name()='Gemeente']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="n9:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n9:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="n9:Declaratie" mode="TR101simple"><variable name="v1" select="*[local-name()='DeclaratieNummer']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n9:Declaratie[*[local-name()='DeclaratieNummer']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n9:Prestatie]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n9:Prestatie"/><with-param name="pKeys">/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="n7:Client" mode="TR101simple"><variable name="v1" select="*[local-name()='Bsn']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n7:Client[*[local-name()='Bsn']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="n7:DeclaratieAntwoord" mode="TR101simple"><variable name="v1" select="*[local-name()='DeclaratieNummer']/text()"/><variable name="v2" select="."/><for-each select="preceding-sibling::n7:DeclaratieAntwoord[*[local-name()='DeclaratieNummer']/text()=$v1]"><call-template name="addError"><with-param name="pElements" select=".|$v2"/><with-param name="pRule">TR101</with-param></call-template></for-each></template><template match="*[n7:Prestatie]" mode="TR101generic"><call-template name="checkDuplicateKeys"><with-param name="pElement" select="n7:Prestatie"/><with-param name="pKeys">/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</with-param><with-param name="pRule">TR101</with-param></call-template></template><template match="*" mode="TR302"/><template match="n8:ToegewezenProduct" mode="TR302"><call-template name="tr302"/></template><template name="tr302"><param name="pThis" select="."/><param name="pList" select="preceding-sibling::*"/><variable name="v1"><call-template name="ignoreForTR302"/></variable><if test="$v1!='true'"><for-each select="$pList"><variable name="v2"><call-template name="ignoreForTR302"/></variable><if test="$v2!='true' and (( ($pThis/n8:Product/nb:Code and current()/n8:Product/nb:Code and $pThis/n8:Product/nb:Code=current()/n8:Product/nb:Code) and ($pThis/n8:Product/nb:Categorie and current()/n8:Product/nb:Categorie and $pThis/n8:Product/nb:Categorie=current()/n8:Product/nb:Categorie)) or ((not($pThis/n8:Product/nb:Code) or not(current()/n8:Product/nb:Code)) and ($pThis/n8:Product/nb:Categorie and current()/n8:Product/nb:Categorie and $pThis/n8:Product/nb:Categorie=current()/n8:Product/nb:Categorie)) or ((not($pThis/n8:Product/nb:Code) and not($pThis/n8:Product/nb:Categorie)) or (not(current()/n8:Product/nb:Code) and not(current()/n8:Product/nb:Categorie))) )"><variable name="v3"><call-template name="isPeriodOverlay"><with-param name="pThis" select="$pThis"/><with-param name="pOther" select="current()"/></call-template></variable><if test="$v3='true'"><call-template name="addError"><with-param name="pElements" select="$pThis|current()"/><with-param name="pRule">TR302</with-param></call-template></if></if></for-each></if></template><template name="ignoreForTR302"><param name="pThis" select="."/><choose><when test="n8:RedenWijziging/text()='01' and n8:Einddatum/. and normalize-space(n8:Einddatum/text())!=''"><choose><when test="translate(n8:Ingangsdatum/text(),'-','')=translate(n8:Einddatum/text(),'-','')"><value-of select="true()"/></when><otherwise><value-of select="false()"/></otherwise></choose></when><otherwise><value-of select="false()"/></otherwise></choose></template><template match="*" mode="TR312"/><template match="n6:DeclaratieFactuurBedragen" mode="TR312"><variable name="v1" select="sum(ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag[nb:DebetCredit/text()='D']/nb:Bedrag)"/><variable name="v2" select="sum(ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag[nb:DebetCredit/text()='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><call-template name="checkimplication"><with-param name="pThis" select="nb:DeclaratieFactuurTotaalBedrag/nb:DebetCredit"/><with-param name="pValue1">D</with-param><with-param name="pOther" select="nb:DeclaratieFactuurTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag/nb:Bedrag"/><with-param name="pRule">TR312</with-param></call-template><call-template name="checkimplication"><with-param name="pThis" select="nb:DeclaratieFactuurTotaalBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="nb:DeclaratieFactuurTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="0 - 1*$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag/nb:Bedrag"/><with-param name="pRule">TR312</with-param></call-template></template><template match="*" mode="TR313"/><template match="n6:DeclaratieFactuurBedragen" mode="TR313"><variable name="v1" select="sum(ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag[nb:DebetCredit='D']/nb:Bedrag)"/><variable name="v2" select="sum(ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag[nb:DebetCredit='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><call-template name="checkimplication"><with-param name="pThis" select="nb:BtwTotaalBedrag/nb:DebetCredit"/><with-param name="pValue1">D</with-param><with-param name="pOther" select="nb:BtwTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">TR313</with-param></call-template><call-template name="checkimplication"><with-param name="pThis" select="nb:BtwTotaalBedrag/nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="nb:BtwTotaalBedrag/nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="0 - 1*$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">TR313</with-param></call-template><if test="$v3!='0' and not(nb:BtwTotaalBedrag/nb:DebetCredit)"><call-template name="addError"><with-param name="pElements" select=".|ancestor-or-self::n6:Bericht/n6:Clienten/n6:Client/n6:Prestaties/n6:Prestatie/n6:IngediendeBedragPrestatie/nb:BtwBedrag/nb:Bedrag"/><with-param name="pRule">TR313</with-param></call-template></if></template><template match="*" mode="TR314"/><template match="n6:ProductReferentie" mode="TR314"><variable name="v1" select="normalize-space(nb:ReferentieNummer/text())"/><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Prestatie/preceding-sibling::n6:Prestatie/n6:ProductReferentie/nb:ReferentieNummer[text()=$v1]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR314</with-param><with-param name="pCode">8021</with-param><with-param name="pExtra" select="nb:ReferentieNummer"/></call-template><call-template name="checkvalue"><with-param name="pThis" select="ancestor-or-self::n6:Client/preceding-sibling::n6:Client/n6:Prestaties/n6:Prestatie/n6:ProductReferentie/nb:ReferentieNummer[text()=$v1]"/><with-param name="pValues">!#</with-param><with-param name="pRule">TR314</with-param><with-param name="pCode">8021</with-param><with-param name="pExtra" select="nb:ReferentieNummer"/></call-template></template><template match="*" mode="TR315"/><template match="n6:ProductReferentie" mode="TR315"><variable name="v1" select="normalize-space(nb:VorigReferentieNummer/text())"/><variable name="v2" select="nb:VorigReferentieNummer"/><for-each select="ancestor-or-self::n6:Prestatie/preceding-sibling::n6:Prestatie/n6:ProductReferentie/nb:VorigReferentieNummer[text()=$v1]|ancestor-or-self::n6:Client/preceding-sibling::n6:Client/n6:Prestaties/n6:Prestatie/n6:ProductReferentie/nb:VorigReferentieNummer[text()=$v1]"><call-template name="checkvalue"><with-param name="pValues">!#</with-param><with-param name="pRule">TR315</with-param><with-param name="pExtra" select="$v2"/></call-template></for-each></template><template match="n9:ProductReferentie" mode="TR315"><variable name="v1" select="normalize-space(nb:VorigReferentieNummer/text())"/><variable name="v2" select="nb:VorigReferentieNummer"/><for-each select="ancestor-or-self::n9:Prestatie/preceding-sibling::n9:Prestatie/n9:ProductReferentie/nb:VorigReferentieNummer[text()=$v1]|ancestor-or-self::n9:Client/preceding-sibling::n9:Client/n9:Prestaties/n9:Prestatie/n9:ProductReferentie/nb:VorigReferentieNummer[text()=$v1]"><call-template name="checkvalue"><with-param name="pValues">!#</with-param><with-param name="pRule">TR315</with-param><with-param name="pExtra" select="$v2"/></call-template></for-each></template><template match="*" mode="TR316"/><template match="n6:ProductReferentie" mode="TR316"><variable name="v1" select="normalize-space(nb:ReferentieNummer/text())"/><variable name="v2" select="normalize-space(nb:VorigReferentieNummer/text())"/><variable name="v3" select="nb:ReferentieNummer"/><variable name="v4" select="nb:VorigReferentieNummer"/><for-each select="ancestor-or-self::n6:Prestatie/preceding-sibling::n6:Prestatie/n6:ProductReferentie/nb:ReferentieNummer[text()=$v2]|ancestor-or-self::n6:Client/preceding-sibling::n6:Client/n6:Prestaties/n6:Prestatie/n6:ProductReferentie/nb:ReferentieNummer[text()=$v2]"><call-template name="checkvalue"><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="$v4"/></call-template></for-each><for-each select="ancestor-or-self::n6:Prestatie/preceding-sibling::n6:Prestatie/n6:ProductReferentie/nb:VorigReferentieNummer[text()=$v1]|ancestor-or-self::n6:Client/preceding-sibling::n6:Client/n6:Prestaties/n6:Prestatie/n6:ProductReferentie/nb:VorigReferentieNummer[text()=$v1]"><call-template name="checkvalue"><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="$v3"/></call-template></for-each><if test="$v1=$v2"><call-template name="addError"><with-param name="pRule">TR316</with-param><with-param name="pElements" select="nb:ReferentieNummer|nb:VorigReferentieNummer"/></call-template></if></template><template match="n9:ProductReferentie" mode="TR316"><variable name="v1" select="normalize-space(nb:ReferentieNummer/text())"/><variable name="v2" select="normalize-space(nb:VorigReferentieNummer/text())"/><variable name="v3" select="nb:ReferentieNummer"/><variable name="v4" select="nb:VorigReferentieNummer"/><for-each select="ancestor-or-self::n9:Prestatie/preceding-sibling::n9:Prestatie/n9:ProductReferentie/nb:ReferentieNummer[text()=$v2]|ancestor-or-self::n9:Client/preceding-sibling::n9:Client/n9:Prestaties/n9:Prestatie/n9:ProductReferentie/nb:ReferentieNummer[text()=$v2]"><call-template name="checkvalue"><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="$v4"/></call-template></for-each><for-each select="ancestor-or-self::n9:Prestatie/preceding-sibling::n9:Prestatie/n9:ProductReferentie/nb:VorigReferentieNummer[text()=$v1]|ancestor-or-self::n9:Client/preceding-sibling::n9:Client/n9:Prestaties/n9:Prestatie/n9:ProductReferentie/nb:VorigReferentieNummer[text()=$v1]"><call-template name="checkvalue"><with-param name="pValues">!#</with-param><with-param name="pRule">TR316</with-param><with-param name="pExtra" select="$v3"/></call-template></for-each><if test="$v1=$v2"><call-template name="addError"><with-param name="pRule">TR316</with-param><with-param name="pElements" select="nb:ReferentieNummer|nb:VorigReferentieNummer"/></call-template></if></template><template match="*" mode="TR317"/><template match="n6:IngediendeBedragPrestatie | n4:IngediendeBedragPrestatie" mode="TR317"><variable name="v1" select="normalize-space(nb:GeleverdVolume)*normalize-space(nb:ProductTarief)"/><call-template name="checkimplication"><with-param name="pThis" select="nb:BerekendBedrag/nb:Bedrag"/><with-param name="pValue1">*</with-param><with-param name="pOther" select="nb:BerekendBedrag/nb:Bedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="$v1"/></call-template></with-param><with-param name="pExtra" select="nb:GeleverdVolume|nb:ProductTarief"/><with-param name="pRule">TR317</with-param></call-template></template><template match="*" mode="TR319"/><template match="n6:Prestatie" mode="TR319"><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header/n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode/nb:Einddatum"/><with-param name="pOther" select="n6:ProductPeriode/nb:Begindatum"/><with-param name="pRule">TR319</with-param></call-template><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::n6:Bericht/n6:Header/n6:DeclaratieFactuurIdentificatie/nb:DeclaratiePeriode/nb:Einddatum"/><with-param name="pOther" select="n6:ProductPeriode/nb:Einddatum"/><with-param name="pRule">TR319</with-param></call-template></template><template match="n9:Prestatie" mode="TR319"><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::n9:Declaratie/n9:DeclaratiePeriode/nb:Einddatum"/><with-param name="pOther" select="n9:ProductPeriode/nb:Begindatum"/><with-param name="pRule">TR319</with-param></call-template><call-template name="checkafter"><with-param name="pThis" select="ancestor-or-self::n9:Declaratie/n9:DeclaratiePeriode/nb:Einddatum"/><with-param name="pOther" select="n9:ProductPeriode/nb:Einddatum"/><with-param name="pRule">TR319</with-param></call-template></template><template match="*" mode="TR320"/><template match="n4:RetourBedragen" mode="TR320"><variable name="v1" select="sum(ancestor-or-self::n4:Bericht/n4:Clienten/n4:Client/n4:Prestaties/n4:Prestatie/n4:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag[nb:DebetCredit='D']/nb:Bedrag)"/><variable name="v2" select="sum(ancestor-or-self::n4:Bericht/n4:Clienten/n4:Client/n4:Prestaties/n4:Prestatie/n4:IngediendeBedragPrestatie/nb:DeclaratieFactuurBedrag[nb:DebetCredit='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><variable name="v4" select="sum(ancestor-or-self::n4:Bericht/n4:Clienten/n4:Client/n4:Prestaties/n4:Prestatie/n4:ToegekendeBedragPrestatie/nb:ToegekendBedrag[nb:DebetCredit='D']/nb:Bedrag)"/><variable name="v5" select="sum(ancestor-or-self::n4:Bericht/n4:Clienten/n4:Client/n4:Prestaties/n4:Prestatie/n4:ToegekendeBedragPrestatie/nb:ToegekendBedrag[nb:DebetCredit='C']/nb:Bedrag)"/><variable name="v6" select="$v4 - $v5"/><variable name="v7" select="$v3 - $v6"/><variable name="v8"><choose><when test="./nb:ToegekendTotaalBedrag/nb:DebetCredit/text()='C'"><value-of select="./nb:ToegekendTotaalBedrag/nb:TotaalBedrag/text()*-1"/></when><otherwise><value-of select="./nb:ToegekendTotaalBedrag/nb:TotaalBedrag/text()"/></otherwise></choose></variable><variable name="v9"><choose><when test="./nb:IngediendTotaalBedrag/nb:DebetCredit/text()='C'"><value-of select="./nb:IngediendTotaalBedrag/nb:TotaalBedrag/text()*-1"/></when><otherwise><value-of select="./nb:IngediendTotaalBedrag/nb:TotaalBedrag/text()"/></otherwise></choose></variable><variable name="va" select="$v9 - $v8"/><if test="count(ancestor-or-self::n4:Bericht/n4:Header/n4:RetourCodes/*[local-name()='RetourCode'][text()!='0200' and text()!='8001'])=0 and normalize-space($v7)!=normalize-space($va)"><call-template name="addError"><with-param name="pRule">TR320</with-param><with-param name="pCode">0001</with-param><with-param name="pElements" select="nb:IngediendTotaalBedrag/nb:TotaalBedrag|nb:IngediendTotaalBedrag/nb:DebetCredit|nb:ToegekendTotaalBedrag/nb:TotaalBedrag|nb:ToegekendTotaalBedrag/nb:DebetCredit"/></call-template></if></template><template match="*" mode="TR335"/><template match="n9:Prestatie/n9:ProductPeriode/nb:Einddatum" mode="TR335"><call-template name="checkDateRelation"><with-param name="pDate" select="ancestor-or-self::n9:Declaratie/n9:DeclaratieDagtekening"/><with-param name="pRelation">monthsAfter</with-param><with-param name="pExtra">-60</with-param><with-param name="pRule">TR335</with-param></call-template></template><template match="*" mode="TR342"/><template match="n7:DeclaratieAntwoord" mode="TR342"><variable name="v1" select="sum(./n7:Clienten/n7:Client/n7:Prestaties/n7:Prestatie/n7:IngediendBedrag[./nb:DebetCredit/text()='D']/nb:Bedrag)"/><variable name="v2" select="sum(./n7:Clienten/n7:Client/n7:Prestaties/n7:Prestatie/n7:IngediendBedrag[./nb:DebetCredit/text()='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><variable name="v4"><choose><when test="./n7:TotaalToegekendBedrag/nb:DebetCredit/text()='C'"><value-of select="number(./n7:TotaalToegekendBedrag/nb:TotaalBedrag/text())*-1"/></when><otherwise><value-of select="number(./n7:TotaalToegekendBedrag/nb:TotaalBedrag/text())"/></otherwise></choose></variable><variable name="v5"><choose><when test="./n7:TotaalIngediendBedrag/nb:DebetCredit/text()='C'"><value-of select="number(./n7:TotaalIngediendBedrag/nb:TotaalBedrag/text())*-1"/></when><otherwise><value-of select="number(./n7:TotaalIngediendBedrag/nb:TotaalBedrag/text())"/></otherwise></choose></variable><variable name="v6" select="$v5 - $v4"/><choose><when test="count(ancestor-or-self::n7:DeclaratieAntwoord/n7:RetourCodes/*[local-name()='RetourCode'][text()!='0200' and text()!='8001'])=0"><if test="normalize-space($v3)!=normalize-space($v6)"><call-template name="addError"><with-param name="pRule">TR342</with-param><with-param name="pCode">0001</with-param><with-param name="pElements" select="n7:TotaalToegekendBedrag|n7:TotaalIngediendBedrag"/></call-template></if></when><otherwise><if test="$v4!=0"><call-template name="addError"><with-param name="pRule">TR342</with-param><with-param name="pCode">0001</with-param><with-param name="pElements" select="n7:TotaalToegekendBedrag"/></call-template></if></otherwise></choose></template><template match="*" mode="TR345"/><template match="n9:Prestatie[n9:Eenheid/text() = '83']" mode="TR345"><call-template name="checkRelation"><with-param name="pThis" select="n9:GeleverdVolume"/><with-param name="pOther" select="n9:IngediendBedrag/nb:Bedrag"/><with-param name="pExtra" select="nonExistantNode"/><with-param name="pRelation">equals</with-param><with-param name="pRule">TR345</with-param></call-template></template><template match="*" mode="TR352"/><template match="n2:Verzoek" mode="TR352"><call-template name="checkvalue"><with-param name="pThis" select="n2:OngewijzigdeProducten/n2:OngewijzigdProduct|n2:TeWijzigenProducten/n2:TeWijzigenProduct"/><with-param name="pValues">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">TR352</with-param></call-template></template><template match="*" mode="TR353"/><template match="n2:Verzoek" mode="TR353"><call-template name="checkvalue"><with-param name="pThis" select="n2:TeWijzigenProducten/n2:TeWijzigenProduct|n2:NieuweProducten/n2:NieuwProduct"/><with-param name="pValues">#</with-param><with-param name="pExtra" select="."/><with-param name="pRule">TR353</with-param></call-template></template><template match="*" mode="TR358"/><template match="n9:TotaalIngediendBedrag" mode="TR358"><variable name="v1" select="sum(ancestor-or-self::n9:Declaratie/n9:Clienten/n9:Client/n9:Prestaties/n9:Prestatie/n9:IngediendBedrag[nb:DebetCredit/text()='D']/nb:Bedrag)"/><variable name="v2" select="sum(ancestor-or-self::n9:Declaratie/n9:Clienten/n9:Client/n9:Prestaties/n9:Prestatie/n9:IngediendBedrag[nb:DebetCredit/text()='C']/nb:Bedrag)"/><variable name="v3" select="$v1 - $v2"/><call-template name="checkimplication"><with-param name="pThis" select="nb:DebetCredit"/><with-param name="pValue1">D</with-param><with-param name="pOther" select="nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n9:Declaratie/n9:Clienten/n9:Client/n9:Prestaties/n9:Prestatie/n9:IngediendBedrag"/><with-param name="pRule">TR358</with-param></call-template><call-template name="checkimplication"><with-param name="pThis" select="nb:DebetCredit"/><with-param name="pValue1">C</with-param><with-param name="pOther" select="nb:TotaalBedrag"/><with-param name="pValue2"><call-template name="formatNumber"><with-param name="pValue" select="0 - 1*$v3"/></call-template></with-param><with-param name="pExtra" select="ancestor-or-self::n9:Declaratie/n9:Clienten/n9:Client/n9:Prestaties/n9:Prestatie/n9:IngediendBedrag"/><with-param name="pRule">TR358</with-param></call-template></template><template match="*" mode="TR368"/><template match="n9:DeclaratiePeriode" mode="TR368"><if test="substring-after(substring-after(nb:Begindatum,'-'),'-')!='01'"><call-template name="addError"><with-param name="pElements" select="nb:Begindatum"/><with-param name="pRule">TR368</with-param></call-template></if><variable name="v1"><call-template name="addDate"><with-param name="pDate" select="nb:Einddatum/text()"/><with-param name="pExtra">1</with-param></call-template></variable><variable name="v2"><call-template name="addMonths"><with-param name="pDate" select="nb:Begindatum/text()"/><with-param name="pExtra">1</with-param></call-template></variable><if test="$v1!=$v2"><call-template name="addError"><with-param name="pElements" select="nb:Begindatum|nb:Einddatum"/><with-param name="pRule">TR368</with-param></call-template></if></template><template match="*" mode="check" priority="0"><apply-templates mode="CD005" select="."/><apply-templates mode="CD007" select="."/><apply-templates mode="CD009" select="."/><apply-templates mode="CD025" select="."/><apply-templates mode="CD034" select="."/><apply-templates mode="CD041" select="."/><apply-templates mode="CD043" select="."/><apply-templates mode="CD055" select="."/><apply-templates mode="CD056" select="."/><apply-templates mode="CD058" select="."/><apply-templates mode="CD059" select="."/><apply-templates mode="CD060" select="."/><apply-templates mode="CD062" select="."/><apply-templates mode="CD066" select="."/><apply-templates mode="CD067" select="."/><apply-templates mode="CD068" select="."/><apply-templates mode="CD075" select="."/><apply-templates mode="CD076" select="."/><apply-templates mode="CD077" select="."/><apply-templates mode="CD078" select="."/><apply-templates mode="CD079" select="."/><apply-templates mode="CD080" select="."/><apply-templates mode="CD081" select="."/><apply-templates mode="CD085" select="."/><apply-templates mode="CD086" select="."/><apply-templates mode="CD087" select="."/><apply-templates mode="CD088" select="."/><apply-templates mode="CS002" select="."/><apply-templates mode="CS003" select="."/><apply-templates mode="CS023" select="."/><apply-templates mode="CS050" select="."/><apply-templates mode="CS058" select="."/><apply-templates mode="CS089" select="."/><apply-templates mode="CS100" select="."/><apply-templates mode="CS102" select="."/><apply-templates mode="CS103" select="."/><apply-templates mode="CS104" select="."/><apply-templates mode="CS108" select="."/><apply-templates mode="CS300" select="."/><apply-templates mode="CS318" select="."/><apply-templates mode="CS323" select="."/><apply-templates mode="CS324" select="."/><apply-templates mode="CS325" select="."/><apply-templates mode="CS327" select="."/><apply-templates mode="CS328" select="."/><apply-templates mode="CS330" select="."/><apply-templates mode="CS331" select="."/><apply-templates mode="TR002" select="."/><apply-templates mode="TR006" select="."/><apply-templates mode="TR018" select="."/><apply-templates mode="TR061" select="."/><apply-templates mode="TR097" select="."/><apply-templates mode="TR101" select="."/><apply-templates mode="TR302" select="."/><apply-templates mode="TR312" select="."/><apply-templates mode="TR313" select="."/><apply-templates mode="TR314" select="."/><apply-templates mode="TR315" select="."/><apply-templates mode="TR316" select="."/><apply-templates mode="TR317" select="."/><apply-templates mode="TR319" select="."/><apply-templates mode="TR320" select="."/><apply-templates mode="TR335" select="."/><apply-templates mode="TR342" select="."/><apply-templates mode="TR345" select="."/><apply-templates mode="TR352" select="."/><apply-templates mode="TR353" select="."/><apply-templates mode="TR358" select="."/><apply-templates mode="TR368" select="."/></template><variable name="v1"><nc:XSLTHeader><nc:Standaard>ijw</nc:Standaard><nc:StandaardRelease>3.0</nc:StandaardRelease><nc:XSLTVersie>2.2.8</nc:XSLTVersie></nc:XSLTHeader></variable></stylesheet> \ No newline at end of file diff --git a/xslt-validatie/jw/3_0/common/basis.xsl b/xslt-validatie/jw/3_0/common/basis.xsl index 32f1c756fa19f5488fda73950f43be2a9cdf0a76..b7b918f1ac56fba43e4a373c5dc86279133711c3 100644 --- a/xslt-validatie/jw/3_0/common/basis.xsl +++ b/xslt-validatie/jw/3_0/common/basis.xsl @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <!-- iJw 3.0 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 version 2.2.8 (2021-01-25) --> <xsl:import href="../../../common/2_0/basis.xsl" /> <xsl:template match="*" mode="getDetails" priority="100"> diff --git a/xslt-validatie/jw/3_0/condities/CD005.xsl b/xslt-validatie/jw/3_0/condities/CD005.xsl index 70974b2fd9d5d44f51f26994f34f81ce84934e3a..c8efbfbd5cd76b330a1ba5a01176659db089f799 100644 --- a/xslt-validatie/jw/3_0/condities/CD005.xsl +++ b/xslt-validatie/jw/3_0/condities/CD005.xsl @@ -3,7 +3,7 @@ xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CD005 version 1.0.20108 (2020-10-09) --> + <!-- iJw 3.0 CD005 version 1.0.20208 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD005"/> diff --git a/xslt-validatie/jw/3_0/condities/CD007.xsl b/xslt-validatie/jw/3_0/condities/CD007.xsl index a181c1d1558155a8a8288a62142190942fa4d873..7703359d5bf6772aa7a520129fc251d6956783d5 100644 --- a/xslt-validatie/jw/3_0/condities/CD007.xsl +++ b/xslt-validatie/jw/3_0/condities/CD007.xsl @@ -9,7 +9,7 @@ xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema" > - <!-- iJw 3.0 CD007 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD007 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD007"/> diff --git a/xslt-validatie/jw/3_0/condities/CD009.xsl b/xslt-validatie/jw/3_0/condities/CD009.xsl index ccb68734ebc4fc7a22cc0981c10051f9d500c0e3..93da7044b9f3d04ff63ada9a580b40a261d4b68e 100644 --- a/xslt-validatie/jw/3_0/condities/CD009.xsl +++ b/xslt-validatie/jw/3_0/condities/CD009.xsl @@ -2,7 +2,7 @@ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:jw301="http://www.istandaarden.nl/ijw/3_0/jw301/schema" > - <!-- iJw 3.0 CD009 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD009 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD009"/> diff --git a/xslt-validatie/jw/3_0/condities/CD025.xsl b/xslt-validatie/jw/3_0/condities/CD025.xsl index 512937e41c956ee7c6c27564e2855f8bb56f0c74..371d6139dc72561716c603e793017e06b6f952ce 100644 --- a/xslt-validatie/jw/3_0/condities/CD025.xsl +++ b/xslt-validatie/jw/3_0/condities/CD025.xsl @@ -9,7 +9,7 @@ xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema" > - <!-- iJw 3.0 CD025 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD025 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD025"/> diff --git a/xslt-validatie/jw/3_0/condities/CD034.xsl b/xslt-validatie/jw/3_0/condities/CD034.xsl index 6402fc260e783f702ea912933e74d0850f6e2729..9381bb5314c1c838f3120beaa7e24dcf486313cf 100644 --- a/xslt-validatie/jw/3_0/condities/CD034.xsl +++ b/xslt-validatie/jw/3_0/condities/CD034.xsl @@ -2,7 +2,7 @@ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:jw301="http://www.istandaarden.nl/ijw/3_0/jw301/schema"> - <!-- iJw 3.0 CD034 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD034 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD034"/> diff --git a/xslt-validatie/jw/3_0/condities/CD041.xsl b/xslt-validatie/jw/3_0/condities/CD041.xsl index 7163814436563975b18cbf01d90c09dbdc5e0a24..eaf60bd9455f0885e15c2f1ade191ec6f614371b 100644 --- a/xslt-validatie/jw/3_0/condities/CD041.xsl +++ b/xslt-validatie/jw/3_0/condities/CD041.xsl @@ -4,7 +4,7 @@ xmlns:jw301="http://www.istandaarden.nl/ijw/3_0/jw301/schema" xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema"> - <!-- iJw 3.0 CD041 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD041 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD041"/> diff --git a/xslt-validatie/jw/3_0/condities/CD043.xsl b/xslt-validatie/jw/3_0/condities/CD043.xsl index c515e441f9fd8659c4afb8c20f60912f2389641f..ce0c4bed754e78bd17dcaeb5c414a848b631b1d4 100644 --- a/xslt-validatie/jw/3_0/condities/CD043.xsl +++ b/xslt-validatie/jw/3_0/condities/CD043.xsl @@ -3,7 +3,7 @@ xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema"> - <!-- iJw 3.0 CD043 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD043 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD043"/> diff --git a/xslt-validatie/jw/3_0/condities/CD055.xsl b/xslt-validatie/jw/3_0/condities/CD055.xsl index 520db917cee133d21d677da98584aca5b8d59d0a..765928997ad5cc7de9d8153b8bdf29c2f3b7e81b 100644 --- a/xslt-validatie/jw/3_0/condities/CD055.xsl +++ b/xslt-validatie/jw/3_0/condities/CD055.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CD055 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD055 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD055"/> diff --git a/xslt-validatie/jw/3_0/condities/CD056.xsl b/xslt-validatie/jw/3_0/condities/CD056.xsl index 1b27d61534c5f21c21caf7d4f68b1594029f3999..c1ba27bd5b2a9ba7aa4036784e2be9394cea02c2 100644 --- a/xslt-validatie/jw/3_0/condities/CD056.xsl +++ b/xslt-validatie/jw/3_0/condities/CD056.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CD056 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD056 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD056"/> diff --git a/xslt-validatie/jw/3_0/condities/CD058.xsl b/xslt-validatie/jw/3_0/condities/CD058.xsl index 68119310da285edcd4c99d543530ec3c673745e7..6b10cac177331bfdffcb12c701d445c853dcf091 100644 --- a/xslt-validatie/jw/3_0/condities/CD058.xsl +++ b/xslt-validatie/jw/3_0/condities/CD058.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CD058 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD058 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD058"/> diff --git a/xslt-validatie/jw/3_0/condities/CD059.xsl b/xslt-validatie/jw/3_0/condities/CD059.xsl index 2ecf05a85c46bc4e50441022144fadb1a74cf778..1322b7644acc5ace16c2b990f06522834ecaaf5b 100644 --- a/xslt-validatie/jw/3_0/condities/CD059.xsl +++ b/xslt-validatie/jw/3_0/condities/CD059.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CD059 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD059 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD059"/> diff --git a/xslt-validatie/jw/3_0/condities/CD060.xsl b/xslt-validatie/jw/3_0/condities/CD060.xsl index 6ac06f05abe5abd97df4f3ca786948bebdab03a7..26baa21489a22657326d06fe750d4f9059f5f7cb 100644 --- a/xslt-validatie/jw/3_0/condities/CD060.xsl +++ b/xslt-validatie/jw/3_0/condities/CD060.xsl @@ -7,7 +7,7 @@ xmlns:jw325="http://www.istandaarden.nl/ijw/3_0/jw325/schema" > - <!-- iJw 3.0 CD060 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD060 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD060"/> diff --git a/xslt-validatie/jw/3_0/condities/CD062.xsl b/xslt-validatie/jw/3_0/condities/CD062.xsl index 6bc83a162e5aadc3a7e067bc8dc45f806009dd91..5aadabbe51885cbf8667375abaa3a60feb861e51 100644 --- a/xslt-validatie/jw/3_0/condities/CD062.xsl +++ b/xslt-validatie/jw/3_0/condities/CD062.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CD062 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD062 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CD062"/> diff --git a/xslt-validatie/jw/3_0/condities/CD066.xsl b/xslt-validatie/jw/3_0/condities/CD066.xsl index c9c63d184fe761e26293e2ffe053af64b0aa3451..3ed50e91d5465fbda271416e40acfbfb5dd4b469 100644 --- a/xslt-validatie/jw/3_0/condities/CD066.xsl +++ b/xslt-validatie/jw/3_0/condities/CD066.xsl @@ -4,7 +4,7 @@ xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema"> - <!-- iJw 3.0 CD066 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD066 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD066" /> diff --git a/xslt-validatie/jw/3_0/condities/CD067.xsl b/xslt-validatie/jw/3_0/condities/CD067.xsl index 6728c87d0bdea859f606f965695d76eecc9d8e35..bf81a7f9a8a9aba77b0fbc5a387366bb997d92fe 100644 --- a/xslt-validatie/jw/3_0/condities/CD067.xsl +++ b/xslt-validatie/jw/3_0/condities/CD067.xsl @@ -4,7 +4,7 @@ xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema"> - <!-- iJw 3.0 CD067 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD067 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD067" /> diff --git a/xslt-validatie/jw/3_0/condities/CD068.xsl b/xslt-validatie/jw/3_0/condities/CD068.xsl index 543d94808613300eaa47565a4f61362d335ae27e..9b31d3fe25bef46b4c587de0eb07546d5850f672 100644 --- a/xslt-validatie/jw/3_0/condities/CD068.xsl +++ b/xslt-validatie/jw/3_0/condities/CD068.xsl @@ -4,7 +4,7 @@ xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema"> - <!-- iJw 3.0 CD068 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD068 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD068" /> diff --git a/xslt-validatie/jw/3_0/condities/CD075.xsl b/xslt-validatie/jw/3_0/condities/CD075.xsl index 7a7af4d68381e63b551860c12fe784e65ab7c688..d724a4badb07d501c3e3e963c8298eeb17486a16 100644 --- a/xslt-validatie/jw/3_0/condities/CD075.xsl +++ b/xslt-validatie/jw/3_0/condities/CD075.xsl @@ -6,7 +6,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CD075 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD075 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD075" /> diff --git a/xslt-validatie/jw/3_0/condities/CD076.xsl b/xslt-validatie/jw/3_0/condities/CD076.xsl index 1f33e396e55e4024ac23684dc2138c1d84651859..91007992f9744889690f7cea2b01930b379c17b0 100644 --- a/xslt-validatie/jw/3_0/condities/CD076.xsl +++ b/xslt-validatie/jw/3_0/condities/CD076.xsl @@ -7,7 +7,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CD076 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD076 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD076" /> diff --git a/xslt-validatie/jw/3_0/condities/CD077.xsl b/xslt-validatie/jw/3_0/condities/CD077.xsl index 8ceb4e880b29c0309f21f97a91a1247d74c5db12..4879a2c308886e7e68b89b37d13431bd1bef5cf7 100644 --- a/xslt-validatie/jw/3_0/condities/CD077.xsl +++ b/xslt-validatie/jw/3_0/condities/CD077.xsl @@ -6,7 +6,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CD077 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD077 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD077" /> diff --git a/xslt-validatie/jw/3_0/condities/CD078.xsl b/xslt-validatie/jw/3_0/condities/CD078.xsl index a3d0443572b3e3a5daac5cb75d57dd6945267b4b..060704e12b22c424b9fa4410a40c65ec686df3e2 100644 --- a/xslt-validatie/jw/3_0/condities/CD078.xsl +++ b/xslt-validatie/jw/3_0/condities/CD078.xsl @@ -6,7 +6,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CD078 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD078 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD078" /> diff --git a/xslt-validatie/jw/3_0/condities/CD079.xsl b/xslt-validatie/jw/3_0/condities/CD079.xsl index fda09ca3595010d4f75091cfc1b11219dd761b2f..e373eff0992b8d833617786cc301ec2e44e6565c 100644 --- a/xslt-validatie/jw/3_0/condities/CD079.xsl +++ b/xslt-validatie/jw/3_0/condities/CD079.xsl @@ -6,7 +6,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CD079 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD079 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD079" /> diff --git a/xslt-validatie/jw/3_0/condities/CD080.xsl b/xslt-validatie/jw/3_0/condities/CD080.xsl index 75f1b5628d54529a200b98130e50ed25bb8ceeea..2afadc2fe378648e5c1c2cd406286932e976415e 100644 --- a/xslt-validatie/jw/3_0/condities/CD080.xsl +++ b/xslt-validatie/jw/3_0/condities/CD080.xsl @@ -7,7 +7,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CD080 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD080 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD080" /> diff --git a/xslt-validatie/jw/3_0/condities/CD081.xsl b/xslt-validatie/jw/3_0/condities/CD081.xsl index aa681278cd581b21e14dea336feab9a38a8b0bea..c330b3504a8a215e70db9c625dfae271aa10dc14 100644 --- a/xslt-validatie/jw/3_0/condities/CD081.xsl +++ b/xslt-validatie/jw/3_0/condities/CD081.xsl @@ -7,7 +7,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CD081 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD081 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD081" /> diff --git a/xslt-validatie/jw/3_0/condities/CD085.xsl b/xslt-validatie/jw/3_0/condities/CD085.xsl index 5f15eb5ec28eda7905ecfa7e8647f52e33a0c3e1..532d7465098d6e38b6da7e06f78d78c27348f8c7 100644 --- a/xslt-validatie/jw/3_0/condities/CD085.xsl +++ b/xslt-validatie/jw/3_0/condities/CD085.xsl @@ -5,7 +5,7 @@ xmlns:jw319="http://www.istandaarden.nl/ijw/3_0/jw319/schema" > - <!-- iJw 3.0 CD085 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD085 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD085" /> diff --git a/xslt-validatie/jw/3_0/condities/CD086.xsl b/xslt-validatie/jw/3_0/condities/CD086.xsl index 68fb32b879e42e3c5c48513421febb2066730e0e..8653439feabdcd32d0add1e55b2f3fac0d88b5d6 100644 --- a/xslt-validatie/jw/3_0/condities/CD086.xsl +++ b/xslt-validatie/jw/3_0/condities/CD086.xsl @@ -5,7 +5,7 @@ xmlns:jw319="http://www.istandaarden.nl/ijw/3_0/jw319/schema" > - <!-- iJw 3.0 CD086 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD086 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD086" /> diff --git a/xslt-validatie/jw/3_0/condities/CD087.xsl b/xslt-validatie/jw/3_0/condities/CD087.xsl index 8e26ee1d9e4843fda0018eaf9fb11bfa0bd61361..ef814ff0e0eaba13794d54400874d6f33b9f4770 100644 --- a/xslt-validatie/jw/3_0/condities/CD087.xsl +++ b/xslt-validatie/jw/3_0/condities/CD087.xsl @@ -5,7 +5,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 CD087 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD087 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD087" /> diff --git a/xslt-validatie/jw/3_0/condities/CD088.xsl b/xslt-validatie/jw/3_0/condities/CD088.xsl index 63f198ab006cd50b8661e36195a33a033c137607..f6a7a60c266277ec968c0276790b0a84fed3c8c8 100644 --- a/xslt-validatie/jw/3_0/condities/CD088.xsl +++ b/xslt-validatie/jw/3_0/condities/CD088.xsl @@ -5,7 +5,7 @@ xmlns:jw319="http://www.istandaarden.nl/ijw/3_0/jw319/schema" > - <!-- iJw 3.0 CD088 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CD088 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CD088" /> diff --git a/xslt-validatie/jw/3_0/constraints/CS002.xsl b/xslt-validatie/jw/3_0/constraints/CS002.xsl index 31e26e2736db960fb4649756544ff9746f079966..9a2b4bed97beb7e21c18f532e04cea6801bfcf53 100644 --- a/xslt-validatie/jw/3_0/constraints/CS002.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS002.xsl @@ -3,7 +3,7 @@ xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" > - <!-- iJw 3.0 CS002 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS002 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS002"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS003.xsl b/xslt-validatie/jw/3_0/constraints/CS003.xsl index 653d1e2a02c9438595a4706e034ef12f45265744..73b4e25a6f89ba3148619a03cd307bf61dd35046 100644 --- a/xslt-validatie/jw/3_0/constraints/CS003.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS003.xsl @@ -6,7 +6,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CS003 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS003 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS003"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS023.xsl b/xslt-validatie/jw/3_0/constraints/CS023.xsl index 84200a0231475e222bfa71b95c396c7dac815298..15167bfede84d4ddbd6f9577f536c4a3cded606b 100644 --- a/xslt-validatie/jw/3_0/constraints/CS023.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS023.xsl @@ -11,7 +11,7 @@ xmlns:jw325="http://www.istandaarden.nl/ijw/3_0/jw325/schema" > - <!-- iJw 3.0 CS023 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS023 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS023"/> @@ -45,10 +45,6 @@ <xsl:call-template name="cs023declaratie"/> </xsl:template> - <xsl:template match="jw303:DeclaratieFactuurIdentificatie/ijw:DeclaratiePeriode/ijw:Begindatum" mode="CS023"> - <xsl:call-template name="cs023declaratie"/> - </xsl:template> - <xsl:template match="jw303:Prestatie/jw303:ProductPeriode/ijw:Begindatum" mode="CS023"> <xsl:call-template name="cs023declaratie"/> </xsl:template> @@ -59,10 +55,6 @@ <xsl:call-template name="cs023declaratie"/> </xsl:template> - <xsl:template match="jw304:DeclaratieFactuurIdentificatie/ijw:DeclaratiePeriode/ijw:Begindatum" mode="CS023"> - <xsl:call-template name="cs023declaratie"/> - </xsl:template> - <xsl:template match="jw304:Prestatie/jw304:ProductPeriode/ijw:Begindatum" mode="CS023"> <xsl:call-template name="cs023declaratie"/> </xsl:template> diff --git a/xslt-validatie/jw/3_0/constraints/CS050.xsl b/xslt-validatie/jw/3_0/constraints/CS050.xsl index 5d3942b788ad2b51184c61d27d885b8b63a5b392..1b849bfdaca697cbd1a5484e332d332b53470af1 100644 --- a/xslt-validatie/jw/3_0/constraints/CS050.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS050.xsl @@ -8,7 +8,7 @@ xmlns:jw307="http://www.istandaarden.nl/ijw/3_0/jw307/schema" xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema" > - <!-- iJw 3.0 CS050 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS050 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS050"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS058.xsl b/xslt-validatie/jw/3_0/constraints/CS058.xsl index 5f8511cffeab0ead77eb0949815743a025923f5a..731719a975c58b60be6061250b822a448c41cb7d 100644 --- a/xslt-validatie/jw/3_0/constraints/CS058.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS058.xsl @@ -5,7 +5,7 @@ xmlns:jw307="http://www.istandaarden.nl/ijw/3_0/jw307/schema" > - <!-- iJw 3.0 CS058 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS058 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS058"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS089.xsl b/xslt-validatie/jw/3_0/constraints/CS089.xsl index 8cf1e3d71c1770e1b35f27da4d0df4f824ebf13f..8ccc0c68012f5941ba255b696559e1b3961fc038 100644 --- a/xslt-validatie/jw/3_0/constraints/CS089.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS089.xsl @@ -9,7 +9,7 @@ xmlns:jw315="http://www.istandaarden.nl/ijw/3_0/jw315/schema" > - <!-- iJw 3.0 CS089 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS089 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS089"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS100.xsl b/xslt-validatie/jw/3_0/constraints/CS100.xsl index d258afd8a6d47cb125ee6c685c68f68e8532b29b..d412381934623dd2232a5a5c842a184b23f28375 100644 --- a/xslt-validatie/jw/3_0/constraints/CS100.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS100.xsl @@ -4,7 +4,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 CS100 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS100 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS100"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS102.xsl b/xslt-validatie/jw/3_0/constraints/CS102.xsl index 90ffaea054aaa01e82aac9c0fc0325c2067986a5..7e9083d04063da0737d33b58b25b533076c9f97e 100644 --- a/xslt-validatie/jw/3_0/constraints/CS102.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS102.xsl @@ -3,7 +3,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CS102 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS102 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS102"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS103.xsl b/xslt-validatie/jw/3_0/constraints/CS103.xsl index add49b677b898acec36b4b851f084067786d9753..2c18c561574129e46fa676477ba1fe6983d84740 100644 --- a/xslt-validatie/jw/3_0/constraints/CS103.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS103.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CS103 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS103 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS103"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS104.xsl b/xslt-validatie/jw/3_0/constraints/CS104.xsl index 35ed250ca4e27a207bcf5819df7f4e84ce85abae..a8c2efe28b38533e33eda7e4702eb9548c465342 100644 --- a/xslt-validatie/jw/3_0/constraints/CS104.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS104.xsl @@ -7,7 +7,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 CS104 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS104 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CS104" /> diff --git a/xslt-validatie/jw/3_0/constraints/CS108.xsl b/xslt-validatie/jw/3_0/constraints/CS108.xsl index d4b1cff8fdf238f70bee5b0c84c540a85517a1a4..4460ec6536574422877c927aec619f7c28780ff3 100644 --- a/xslt-validatie/jw/3_0/constraints/CS108.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS108.xsl @@ -7,7 +7,7 @@ xmlns:jw325="http://www.istandaarden.nl/ijw/3_0/jw325/schema" > - <!-- iJw 3.0 CS108 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS108 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS108"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS318.xsl b/xslt-validatie/jw/3_0/constraints/CS318.xsl index 3674d83e883384a5a6f94453c26776f4310da20a..6a8982bf5191437ce876715549db8bec12e99b5a 100644 --- a/xslt-validatie/jw/3_0/constraints/CS318.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS318.xsl @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" xmlns:jw301="http://www.istandaarden.nl/ijw/3_0/jw301/schema"> - <!-- iJw 3.0 CS318 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS318 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl" /> <xsl:template match="*" mode="CS318" /> diff --git a/xslt-validatie/jw/3_0/constraints/CS323.xsl b/xslt-validatie/jw/3_0/constraints/CS323.xsl index a2c82090ceca67ddd414dccfde95be72ac602265..94f32cc5afd9bf0e60e8c4aaf605eeaefeab11e3 100644 --- a/xslt-validatie/jw/3_0/constraints/CS323.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS323.xsl @@ -2,7 +2,7 @@ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema"> - <!-- ijw 2.4 CS323 version 2.1.8 (2020-10-09) --> + <!-- ijw 2.4 CS323 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS323"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS324.xsl b/xslt-validatie/jw/3_0/constraints/CS324.xsl index d860ebca737d8b9e51fed1b0f32856887badd564..a1168d7f68c67c9a0223867d5529df0cbe897a3b 100644 --- a/xslt-validatie/jw/3_0/constraints/CS324.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS324.xsl @@ -4,7 +4,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CS324 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS324 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS324"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS325.xsl b/xslt-validatie/jw/3_0/constraints/CS325.xsl index dc1ff05c194832764c8c4bbadc9b70719537a3e0..029a2ed5dcf45c0d2bbbd0427c689ed58c8b7dcf 100644 --- a/xslt-validatie/jw/3_0/constraints/CS325.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS325.xsl @@ -6,7 +6,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" xmlns:jw325="http://www.istandaarden.nl/ijw/3_0/jw325/schema" > - <!-- ijw 2.4 CS325 version 2.1.8 (2020-10-09) --> + <!-- ijw 2.4 CS325 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS325"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS327.xsl b/xslt-validatie/jw/3_0/constraints/CS327.xsl index b8192dd066361e72e385c5d0ea7081768ce86ed7..62e7cf8370fcf199f0f0a0517b8c6c8875ab743a 100644 --- a/xslt-validatie/jw/3_0/constraints/CS327.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS327.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CS327 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS327 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS327"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS328.xsl b/xslt-validatie/jw/3_0/constraints/CS328.xsl index 76270d3a161a7e8bc24f72496cb156af591afb13..b57731992daf060d8dbb6721fcd8f9d2fadb20cf 100644 --- a/xslt-validatie/jw/3_0/constraints/CS328.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS328.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CS328 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS328 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS328"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS330.xsl b/xslt-validatie/jw/3_0/constraints/CS330.xsl index 10c236da114347f0af0e1e90bbd4cb8e6616bd50..e90ba5d95722419a1887523af3af820537668683 100644 --- a/xslt-validatie/jw/3_0/constraints/CS330.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS330.xsl @@ -7,7 +7,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 CS330 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS330 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS330"/> diff --git a/xslt-validatie/jw/3_0/constraints/CS331.xsl b/xslt-validatie/jw/3_0/constraints/CS331.xsl index 769871d1906a676374f161573690233002cb7683..3af2c7d8cc8a20f3efd00976296034dcbfaf1ab1 100644 --- a/xslt-validatie/jw/3_0/constraints/CS331.xsl +++ b/xslt-validatie/jw/3_0/constraints/CS331.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 CS331 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 CS331 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="CS331"/> diff --git a/xslt-validatie/jw/3_0/rules/TR002.xsl b/xslt-validatie/jw/3_0/rules/TR002.xsl index 552b7d31b8d36bb992c1496add087dd4dbb22a67..3d6651b6f14a738409cf1eb38e1dff437ca83794 100644 --- a/xslt-validatie/jw/3_0/rules/TR002.xsl +++ b/xslt-validatie/jw/3_0/rules/TR002.xsl @@ -3,7 +3,7 @@ xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" > - <!-- iJw 3.0 TR002 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR002 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR002"/> diff --git a/xslt-validatie/jw/3_0/rules/TR006.xsl b/xslt-validatie/jw/3_0/rules/TR006.xsl index ab55ce047a57f83a856f8124e9b53c06af9fd0a9..ae85acd1c99f69a4b1c894d63a5f237923cbbfc3 100644 --- a/xslt-validatie/jw/3_0/rules/TR006.xsl +++ b/xslt-validatie/jw/3_0/rules/TR006.xsl @@ -4,7 +4,7 @@ xmlns:jw301="http://www.istandaarden.nl/ijw/3_0/jw301/schema" > - <!-- iJw 3.0 TR006 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR006 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR006"/> diff --git a/xslt-validatie/jw/3_0/rules/TR018.xsl b/xslt-validatie/jw/3_0/rules/TR018.xsl index 39d51ac40dcdc5d46e680e73ecd5b3516ebb4f8b..9123a3aafa94de3293a996bc9b7babf653380cc1 100644 --- a/xslt-validatie/jw/3_0/rules/TR018.xsl +++ b/xslt-validatie/jw/3_0/rules/TR018.xsl @@ -3,7 +3,7 @@ xmlns:jw307="http://www.istandaarden.nl/ijw/3_0/jw307/schema" > - <!-- iJw 3.0 TR018 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR018 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR018"/> diff --git a/xslt-validatie/jw/3_0/rules/TR061.xsl b/xslt-validatie/jw/3_0/rules/TR061.xsl index 459bebe1abfb39d909503c6ae5b081310501d916..0a20a4473dc69d8b0c36dea58cd1d53241cc563c 100644 --- a/xslt-validatie/jw/3_0/rules/TR061.xsl +++ b/xslt-validatie/jw/3_0/rules/TR061.xsl @@ -4,7 +4,7 @@ xmlns:jw301="http://www.istandaarden.nl/ijw/3_0/jw301/schema" > - <!-- iJw 3.0 TR052 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR052 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR061"/> diff --git a/xslt-validatie/jw/3_0/rules/TR097.xsl b/xslt-validatie/jw/3_0/rules/TR097.xsl index 5041192eefa180ada3d82734eab9bfbdda32d7fd..863382bdc1e5a38eca513bb4f89064134197112f 100644 --- a/xslt-validatie/jw/3_0/rules/TR097.xsl +++ b/xslt-validatie/jw/3_0/rules/TR097.xsl @@ -3,7 +3,7 @@ xmlns:ijw="http://www.istandaarden.nl/ijw/3_0/basisschema/schema" > - <!-- iJw 3.0 TR097 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR097 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR097"/> diff --git a/xslt-validatie/jw/3_0/rules/TR101.xsl b/xslt-validatie/jw/3_0/rules/TR101.xsl index b92b53e6c59e7904c8af78d508f7341b9ccae8ab..d1ac802ec02547e528592d41f0457f5246621e78 100644 --- a/xslt-validatie/jw/3_0/rules/TR101.xsl +++ b/xslt-validatie/jw/3_0/rules/TR101.xsl @@ -11,53 +11,70 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" xmlns:jw325="http://www.istandaarden.nl/ijw/3_0/jw325/schema" > - <!-- iJw 3.0 TR101 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR101 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> - <xsl:template match="*" mode="TR101"/> + <xsl:template match="*" mode="TR101simple"/> + <xsl:template match="*" mode="TR101generic"/> + <xsl:template match="*" mode="TR101"> + <xsl:apply-templates select="*" mode="TR101simple"/> + <xsl:apply-templates select="*" mode="TR101generic"/> + </xsl:template> <xsl:template match="*" mode="check"> <xsl:apply-templates select="*" mode="TR101"/> </xsl:template> <!-- JW301 --> - <xsl:template match="*[jw301:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw301:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw301:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw301:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw301:Contact]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw301:Contact"/> - <xsl:with-param name="pKeys">/Soort,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw301:Contact" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Soort']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw301:Contact[*[local-name() = 'Soort']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw301:Relatie]" mode="TR101"> + <xsl:template match="*[jw301:Relatie]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw301:Relatie"/> <xsl:with-param name="pKeys">/Contact/Soort,/Nummer,</xsl:with-param> <xsl:with-param name="pRule">TR101</xsl:with-param> </xsl:call-template> </xsl:template> - <xsl:template match="*[jw301:ToegewezenProduct]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw301:ToegewezenProduct"/> - <xsl:with-param name="pKeys">/ToewijzingNummer,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw301:ToegewezenProduct" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'ToewijzingNummer']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw301:ToegewezenProduct[*[local-name() = 'ToewijzingNummer']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> <!-- JW303 --> - <xsl:template match="*[jw303:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw303:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw303:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw303:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw303:Prestatie]" mode="TR101"> + <xsl:template match="*[jw303:Prestatie]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw303:Prestatie"/> <xsl:with-param name="pKeys">/ProductCategorie,/ProductCode,/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</xsl:with-param> @@ -66,14 +83,17 @@ </xsl:template> <!-- JW304 --> - <xsl:template match="*[jw304:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw304:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw304:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw304:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw304:Prestatie]" mode="TR101"> + <xsl:template match="*[jw304:Prestatie]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw304:Prestatie"/> <xsl:with-param name="pKeys">/ProductCategorie,/ProductCode,/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</xsl:with-param> @@ -82,14 +102,17 @@ </xsl:template> <!-- JW305 --> - <xsl:template match="*[jw305:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw305:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw305:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw305:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw305:StartProduct]" mode="TR101"> + <xsl:template match="*[jw305:StartProduct]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw305:StartProduct"/> <xsl:with-param name="pKeys">/Begindatum,/Product/Categorie,/Product/Code,/ToewijzingNummer,</xsl:with-param> @@ -98,14 +121,17 @@ </xsl:template> <!-- JW307 --> - <xsl:template match="*[jw307:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw307:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw307:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw307:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw307:StopProduct]" mode="TR101"> + <xsl:template match="*[jw307:StopProduct]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw307:StopProduct"/> <xsl:with-param name="pKeys">/Begindatum,/Einddatum,/Product/Categorie,/Product/Code,/ToewijzingNummer,</xsl:with-param> @@ -114,90 +140,114 @@ </xsl:template> <!-- JW315 --> - <xsl:template match="*[jw315:AangevraagdProduct]" mode="TR101"> + <xsl:template match="*[jw315:AangevraagdProduct]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw315:AangevraagdProduct"/> <xsl:with-param name="pKeys">/Product/Categorie,/Product/Code,/ToewijzingIngangsdatum,</xsl:with-param> <xsl:with-param name="pRule">TR101</xsl:with-param> </xsl:call-template> </xsl:template> - <xsl:template match="*[jw315:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw315:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw315:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw315:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> <!-- JW317 --> - <xsl:template match="*[jw317:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw317:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw317:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw317:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw317:NieuwProduct]" mode="TR101"> + <xsl:template match="*[jw317:NieuwProduct]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw317:NieuwProduct"/> <xsl:with-param name="pKeys">/GewensteIngangsdatum,/Product/Categorie,/Product/Code,</xsl:with-param> <xsl:with-param name="pRule">TR101</xsl:with-param> </xsl:call-template> </xsl:template> - <xsl:template match="*[jw317:OngewijzigdProduct]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw317:OngewijzigdProduct"/> - <xsl:with-param name="pKeys">/ToewijzingNummer,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw317:OngewijzigdProduct" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'ToewijzingNummer']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw317:OngewijzigdProduct[*[local-name() = 'ToewijzingNummer']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw317:TeWijzigenProduct]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw317:TeWijzigenProduct"/> - <xsl:with-param name="pKeys">/ToewijzingNummer,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw317:TeWijzigenProduct" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'ToewijzingNummer']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw317:TeWijzigenProduct[*[local-name() = 'ToewijzingNummer']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw317:Verzoek]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw317:Verzoek"/> - <xsl:with-param name="pKeys">/ReferentieAanbieder,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw317:Verzoek" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'ReferentieAanbieder']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw317:Verzoek[*[local-name() = 'ReferentieAanbieder']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> <!-- JW319 --> - <xsl:template match="*[jw319:Antwoord]" mode="TR101"> + <xsl:template match="*[jw319:Antwoord]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw319:Antwoord"/> <xsl:with-param name="pKeys">/ReferentieAanbieder,/VerzoekAntwoord,</xsl:with-param> <xsl:with-param name="pRule">TR101</xsl:with-param> </xsl:call-template> </xsl:template> - <xsl:template match="*[jw319:Woonplaatsbeginsel]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw319:Woonplaatsbeginsel"/> - <xsl:with-param name="pKeys">/Gemeente,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw319:Woonplaatsbeginsel" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Gemeente']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw319:Woonplaatsbeginsel[*[local-name() = 'Gemeente']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> <!-- JW323 --> - <xsl:template match="*[jw323:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw323:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw323:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw323:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw323:Declaratie]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw323:Declaratie"/> - <xsl:with-param name="pKeys">/DeclaratieNummer,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw323:Declaratie" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'DeclaratieNummer']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw323:Declaratie[*[local-name() = 'DeclaratieNummer']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw323:Prestatie]" mode="TR101"> + <xsl:template match="*[jw323:Prestatie]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw323:Prestatie"/> <xsl:with-param name="pKeys">/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</xsl:with-param> @@ -206,21 +256,27 @@ </xsl:template> <!-- JW325 --> - <xsl:template match="*[jw325:Client]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw325:Client"/> - <xsl:with-param name="pKeys">/Bsn,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw325:Client" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'Bsn']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw325:Client[*[local-name() = 'Bsn']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw325:DeclaratieAntwoord]" mode="TR101"> - <xsl:call-template name="checkDuplicateKeys"> - <xsl:with-param name="pElement" select="jw325:DeclaratieAntwoord"/> - <xsl:with-param name="pKeys">/DeclaratieNummer,</xsl:with-param> - <xsl:with-param name="pRule">TR101</xsl:with-param> - </xsl:call-template> + <xsl:template match="jw325:DeclaratieAntwoord" mode="TR101simple"> + <xsl:variable name="vMatch" select="*[local-name() = 'DeclaratieNummer']/text()" /> + <xsl:variable name="vThis" select="." /> + <xsl:for-each select="preceding-sibling::jw325:DeclaratieAntwoord[*[local-name() = 'DeclaratieNummer']/text() = $vMatch]"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select=". | $vThis"/> + <xsl:with-param name="pRule">TR101</xsl:with-param> + </xsl:call-template> + </xsl:for-each> </xsl:template> - <xsl:template match="*[jw325:Prestatie]" mode="TR101"> + <xsl:template match="*[jw325:Prestatie]" mode="TR101generic"> <xsl:call-template name="checkDuplicateKeys"> <xsl:with-param name="pElement" select="jw325:Prestatie"/> <xsl:with-param name="pKeys">/ProductReferentie/ReferentieNummer,/ProductReferentie/VorigReferentieNummer,</xsl:with-param> diff --git a/xslt-validatie/jw/3_0/rules/TR302.xsl b/xslt-validatie/jw/3_0/rules/TR302.xsl index 92f9186a4c2d0066609eabe4977c6b23288adbc6..1718ce0d7c4f6bc771e2346703b63f25a585a3c2 100644 --- a/xslt-validatie/jw/3_0/rules/TR302.xsl +++ b/xslt-validatie/jw/3_0/rules/TR302.xsl @@ -4,7 +4,7 @@ xmlns:jw301="http://www.istandaarden.nl/ijw/3_0/jw301/schema" > - <!-- iJw 3.0 TR302 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR302 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR302"/> @@ -19,37 +19,66 @@ <xsl:template name="tr302"> <xsl:param name="pThis" select="."/> <xsl:param name="pList" select="preceding-sibling::*"/> + + <xsl:variable name="vIgnoreSelf"> + <xsl:call-template name="ignoreForTR302" /> + </xsl:variable> - <xsl:for-each select="$pList"> - <xsl:if test="( - ($pThis/jw301:Product/ijw:Code and current()/jw301:Product/ijw:Code and $pThis/jw301:Product/ijw:Code = current()/jw301:Product/ijw:Code) and - ($pThis/jw301:Product/ijw:Categorie and current()/jw301:Product/ijw:Categorie and $pThis/jw301:Product/ijw:Categorie = current()/jw301:Product/ijw:Categorie) - ) or - ( - (not($pThis/jw301:Product/ijw:Code) or not(current()/jw301:Product/ijw:Code)) and - ($pThis/jw301:Product/ijw:Categorie and current()/jw301:Product/ijw:Categorie and $pThis/jw301:Product/ijw:Categorie = current()/jw301:Product/ijw:Categorie) - ) or - ( - (not($pThis/jw301:Product/ijw:Code) and not($pThis/jw301:Product/ijw:Categorie)) or - (not(current()/jw301:Product/ijw:Code) and not(current()/jw301:Product/ijw:Categorie)) - ) - "> - - <xsl:variable name="isOverlay"> - <xsl:call-template name="isPeriodOverlay"> - <xsl:with-param name="pThis" select="$pThis"/> - <xsl:with-param name="pOther" select="current()"/> - </xsl:call-template> - </xsl:variable> - <xsl:if test="$isOverlay = 'true'"> - <xsl:call-template name="addError"> - <xsl:with-param name="pElements" select="$pThis | current()"/> - <xsl:with-param name="pRule">TR302</xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:if> - </xsl:for-each> - + <xsl:if test="$vIgnoreSelf != 'true'"> + <xsl:for-each select="$pList"> + <xsl:variable name="vIgnorePredecessor"> + <xsl:call-template name="ignoreForTR302" /> + </xsl:variable> + <xsl:if test="$vIgnorePredecessor != 'true' and ( + ( + ($pThis/jw301:Product/ijw:Code and current()/jw301:Product/ijw:Code and $pThis/jw301:Product/ijw:Code = current()/jw301:Product/ijw:Code) and + ($pThis/jw301:Product/ijw:Categorie and current()/jw301:Product/ijw:Categorie and $pThis/jw301:Product/ijw:Categorie = current()/jw301:Product/ijw:Categorie) + ) or + ( + (not($pThis/jw301:Product/ijw:Code) or not(current()/jw301:Product/ijw:Code)) and + ($pThis/jw301:Product/ijw:Categorie and current()/jw301:Product/ijw:Categorie and $pThis/jw301:Product/ijw:Categorie = current()/jw301:Product/ijw:Categorie) + ) or + ( + (not($pThis/jw301:Product/ijw:Code) and not($pThis/jw301:Product/ijw:Categorie)) or + (not(current()/jw301:Product/ijw:Code) and not(current()/jw301:Product/ijw:Categorie)) + ) + )"> + + <xsl:variable name="isOverlay"> + <xsl:call-template name="isPeriodOverlay"> + <xsl:with-param name="pThis" select="$pThis"/> + <xsl:with-param name="pOther" select="current()"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="$isOverlay = 'true'"> + <xsl:call-template name="addError"> + <xsl:with-param name="pElements" select="$pThis | current()"/> + <xsl:with-param name="pRule">TR302</xsl:with-param> + </xsl:call-template> + </xsl:if> + </xsl:if> + </xsl:for-each> + </xsl:if> + </xsl:template> + + <xsl:template name="ignoreForTR302"> + <xsl:param name="pThis" select="." /> + + <xsl:choose> + <xsl:when test="jw301:RedenWijziging/text() = '01' and jw301:Einddatum/. and normalize-space(jw301:Einddatum/text()) != ''"> + <xsl:choose> + <xsl:when test="translate(jw301:Ingangsdatum/text(), '-', '') = translate(jw301:Einddatum/text(), '-', '')"> + <xsl:value-of select="true()" /> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="false()" /> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="false()" /> + </xsl:otherwise> + </xsl:choose> </xsl:template> </xsl:stylesheet> diff --git a/xslt-validatie/jw/3_0/rules/TR312.xsl b/xslt-validatie/jw/3_0/rules/TR312.xsl index dae1480ca7ea6fda45a97c5f1d5964c503c06640..3cbee9c8497bc3aba092fcb0eb3a935e6e22b340 100644 --- a/xslt-validatie/jw/3_0/rules/TR312.xsl +++ b/xslt-validatie/jw/3_0/rules/TR312.xsl @@ -4,7 +4,7 @@ xmlns:jw303="http://www.istandaarden.nl/ijw/3_0/jw303/schema" > - <!-- iJw 3.0 TR312 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR312 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR312"/> diff --git a/xslt-validatie/jw/3_0/rules/TR313.xsl b/xslt-validatie/jw/3_0/rules/TR313.xsl index 9530054b18f90214dbe3283b5826e77832b731af..3b5a310e479b63569de6a92df180cc9993d94b79 100644 --- a/xslt-validatie/jw/3_0/rules/TR313.xsl +++ b/xslt-validatie/jw/3_0/rules/TR313.xsl @@ -4,7 +4,7 @@ xmlns:jw303="http://www.istandaarden.nl/ijw/3_0/jw303/schema" > - <!-- iJw 3.0 TR313 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR313 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR313"/> diff --git a/xslt-validatie/jw/3_0/rules/TR314.xsl b/xslt-validatie/jw/3_0/rules/TR314.xsl index 47fc21a0e694b604e385097ed12f413a48df0ef2..a54b24248db03b3d65c2fae13fb303e4f0d8bb38 100644 --- a/xslt-validatie/jw/3_0/rules/TR314.xsl +++ b/xslt-validatie/jw/3_0/rules/TR314.xsl @@ -4,7 +4,7 @@ xmlns:jw303="http://www.istandaarden.nl/ijw/3_0/jw303/schema" > - <!-- iJw 3.0 TR314 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR314 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR314"/> @@ -16,7 +16,7 @@ <xsl:variable name="vReferentieNummer" select="normalize-space(ijw:ReferentieNummer/text())" /> <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw303:Prestatie/preceding-sibling::jw303:Prestatie//ijw:ReferentieNummer[text() = $vReferentieNummer]" /> + <xsl:with-param name="pThis" select="ancestor-or-self::jw303:Prestatie/preceding-sibling::jw303:Prestatie/jw303:ProductReferentie/ijw:ReferentieNummer[text() = $vReferentieNummer]" /> <xsl:with-param name="pValues">!#</xsl:with-param> <xsl:with-param name="pRule">TR314</xsl:with-param> <xsl:with-param name="pCode">8021</xsl:with-param> @@ -24,7 +24,7 @@ </xsl:call-template> <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw303:Client/preceding-sibling::jw303:Client//ijw:ReferentieNummer[text() = $vReferentieNummer]" /> + <xsl:with-param name="pThis" select="ancestor-or-self::jw303:Client/preceding-sibling::jw303:Client/jw303:Prestaties/jw303:Prestatie/jw303:ProductReferentie/ijw:ReferentieNummer[text() = $vReferentieNummer]" /> <xsl:with-param name="pValues">!#</xsl:with-param> <xsl:with-param name="pRule">TR314</xsl:with-param> <xsl:with-param name="pCode">8021</xsl:with-param> diff --git a/xslt-validatie/jw/3_0/rules/TR315.xsl b/xslt-validatie/jw/3_0/rules/TR315.xsl index 15409ce9b72a67c3f3eea9835b470c8a5d442343..0fe2e8e78e78f1fdd6c4ad90630c02614b8af020 100644 --- a/xslt-validatie/jw/3_0/rules/TR315.xsl +++ b/xslt-validatie/jw/3_0/rules/TR315.xsl @@ -5,7 +5,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 TR315 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR315 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR315"/> @@ -18,8 +18,8 @@ <xsl:variable name="vSelf" select="ijw:VorigReferentieNummer" /> <xsl:for-each select=" - ancestor-or-self::jw303:Prestatie/preceding-sibling::jw303:Prestatie//ijw:VorigReferentieNummer[text() = $vVorigReferentieNummer] | - ancestor-or-self::jw303:Client/preceding-sibling::jw303:Client//ijw:VorigReferentieNummer[text() = $vVorigReferentieNummer] + ancestor-or-self::jw303:Prestatie/preceding-sibling::jw303:Prestatie/jw303:ProductReferentie/ijw:VorigReferentieNummer[text() = $vVorigReferentieNummer] | + ancestor-or-self::jw303:Client/preceding-sibling::jw303:Client/jw303:Prestaties/jw303:Prestatie/jw303:ProductReferentie/ijw:VorigReferentieNummer[text() = $vVorigReferentieNummer] "> <xsl:call-template name="checkvalue"> <xsl:with-param name="pValues">!#</xsl:with-param> @@ -34,8 +34,8 @@ <xsl:variable name="vSelf" select="ijw:VorigReferentieNummer" /> <xsl:for-each select=" - ancestor-or-self::jw323:Prestatie/preceding-sibling::jw323:Prestatie//ijw:VorigReferentieNummer[text() = $vVorigReferentieNummer] | - ancestor-or-self::jw323:Client/preceding-sibling::jw323:Client//ijw:VorigReferentieNummer[text() = $vVorigReferentieNummer] + ancestor-or-self::jw323:Prestatie/preceding-sibling::jw323:Prestatie/jw323:ProductReferentie/ijw:VorigReferentieNummer[text() = $vVorigReferentieNummer] | + ancestor-or-self::jw323:Client/preceding-sibling::jw323:Client/jw323:Prestaties/jw323:Prestatie/jw323:ProductReferentie/ijw:VorigReferentieNummer[text() = $vVorigReferentieNummer] "> <xsl:call-template name="checkvalue"> <xsl:with-param name="pValues">!#</xsl:with-param> diff --git a/xslt-validatie/jw/3_0/rules/TR316.xsl b/xslt-validatie/jw/3_0/rules/TR316.xsl index f2b9c02726c9f998ee0bf849f75679c2da7d4567..ba0702e1841051fb1f65160aa0277e0aedae92c7 100644 --- a/xslt-validatie/jw/3_0/rules/TR316.xsl +++ b/xslt-validatie/jw/3_0/rules/TR316.xsl @@ -5,7 +5,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 TR316 version 2.1.8 (2020-10-09) --> + <!-- iWw 3.0 TR316 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR316"/> @@ -16,34 +16,30 @@ <xsl:template match="jw303:ProductReferentie" mode="TR316"> <xsl:variable name="vReferentieNummer" select="normalize-space(ijw:ReferentieNummer/text())" /> <xsl:variable name="vVorigReferentieNummer" select="normalize-space(ijw:VorigReferentieNummer/text())" /> - - <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw303:Prestatie/preceding-sibling::jw303:Prestatie//ijw:ReferentieNummer[text() = $vVorigReferentieNummer]" /> - <xsl:with-param name="pValues">!#</xsl:with-param> - <xsl:with-param name="pRule">TR316</xsl:with-param> - <xsl:with-param name="pExtra" select="ijw:VorigReferentieNummer" /> - </xsl:call-template> - - <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw303:Client/preceding-sibling::jw303:Client//ijw:ReferentieNummer[text() = $vVorigReferentieNummer]" /> - <xsl:with-param name="pValues">!#</xsl:with-param> - <xsl:with-param name="pRule">TR316</xsl:with-param> - <xsl:with-param name="pExtra" select="ijw:VorigReferentieNummer" /> - </xsl:call-template> - - <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw303:Prestatie/preceding-sibling::jw303:Prestatie//ijw:VorigReferentieNummer[text() = $vReferentieNummer]" /> - <xsl:with-param name="pValues">!#</xsl:with-param> - <xsl:with-param name="pRule">TR316</xsl:with-param> - <xsl:with-param name="pExtra" select="ijw:ReferentieNummer" /> - </xsl:call-template> - - <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw303:Client/preceding-sibling::jw303:Client//ijw:VorigReferentieNummer[text() = $vReferentieNummer]" /> - <xsl:with-param name="pValues">!#</xsl:with-param> - <xsl:with-param name="pRule">TR316</xsl:with-param> - <xsl:with-param name="pExtra" select="ijw:ReferentieNummer" /> - </xsl:call-template> + <xsl:variable name="vReferentie" select="ijw:ReferentieNummer" /> + <xsl:variable name="vVorigReferentie" select="ijw:VorigReferentieNummer" /> + + <xsl:for-each select=" + ancestor-or-self::jw303:Prestatie/preceding-sibling::jw303:Prestatie/jw303:ProductReferentie/ijw:ReferentieNummer[text() = $vVorigReferentieNummer] | + ancestor-or-self::jw303:Client/preceding-sibling::jw303:Client/jw303:Prestaties/jw303:Prestatie/jw303:ProductReferentie/ijw:ReferentieNummer[text() = $vVorigReferentieNummer] + "> + <xsl:call-template name="checkvalue"> + <xsl:with-param name="pValues">!#</xsl:with-param> + <xsl:with-param name="pRule">TR316</xsl:with-param> + <xsl:with-param name="pExtra" select="$vVorigReferentie" /> + </xsl:call-template> + </xsl:for-each> + + <xsl:for-each select=" + ancestor-or-self::jw303:Prestatie/preceding-sibling::jw303:Prestatie/jw303:ProductReferentie/ijw:VorigReferentieNummer[text() = $vReferentieNummer] | + ancestor-or-self::jw303:Client/preceding-sibling::jw303:Client/jw303:Prestaties/jw303:Prestatie/jw303:ProductReferentie/ijw:VorigReferentieNummer[text() = $vReferentieNummer] + "> + <xsl:call-template name="checkvalue"> + <xsl:with-param name="pValues">!#</xsl:with-param> + <xsl:with-param name="pRule">TR316</xsl:with-param> + <xsl:with-param name="pExtra" select="$vReferentie" /> + </xsl:call-template> + </xsl:for-each> <xsl:if test="$vReferentieNummer = $vVorigReferentieNummer"> <xsl:call-template name="addError"> @@ -56,35 +52,31 @@ <xsl:template match="jw323:ProductReferentie" mode="TR316"> <xsl:variable name="vReferentieNummer" select="normalize-space(ijw:ReferentieNummer/text())" /> <xsl:variable name="vVorigReferentieNummer" select="normalize-space(ijw:VorigReferentieNummer/text())" /> - - <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw323:Prestatie/preceding-sibling::jw323:Prestatie//ijw:ReferentieNummer[text() = $vVorigReferentieNummer]" /> - <xsl:with-param name="pValues">!#</xsl:with-param> - <xsl:with-param name="pRule">TR316</xsl:with-param> - <xsl:with-param name="pExtra" select="ijw:VorigReferentieNummer" /> - </xsl:call-template> - - <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw323:Client/preceding-sibling::jw323:Client//ijw:ReferentieNummer[text() = $vVorigReferentieNummer]" /> - <xsl:with-param name="pValues">!#</xsl:with-param> - <xsl:with-param name="pRule">TR316</xsl:with-param> - <xsl:with-param name="pExtra" select="ijw:VorigReferentieNummer" /> - </xsl:call-template> - - <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw323:Prestatie/preceding-sibling::jw323:Prestatie//ijw:VorigReferentieNummer[text() = $vReferentieNummer]" /> - <xsl:with-param name="pValues">!#</xsl:with-param> - <xsl:with-param name="pRule">TR316</xsl:with-param> - <xsl:with-param name="pExtra" select="ijw:ReferentieNummer" /> - </xsl:call-template> - - <xsl:call-template name="checkvalue"> - <xsl:with-param name="pThis" select="ancestor-or-self::jw323:Client/preceding-sibling::jw323:Client//ijw:VorigReferentieNummer[text() = $vReferentieNummer]" /> - <xsl:with-param name="pValues">!#</xsl:with-param> - <xsl:with-param name="pRule">TR316</xsl:with-param> - <xsl:with-param name="pExtra" select="ijw:ReferentieNummer" /> - </xsl:call-template> - + <xsl:variable name="vReferentie" select="ijw:ReferentieNummer" /> + <xsl:variable name="vVorigReferentie" select="ijw:VorigReferentieNummer" /> + + <xsl:for-each select=" + ancestor-or-self::jw323:Prestatie/preceding-sibling::jw323:Prestatie/jw323:ProductReferentie/ijw:ReferentieNummer[text() = $vVorigReferentieNummer] | + ancestor-or-self::jw323:Client/preceding-sibling::jw323:Client/jw323:Prestaties/jw323:Prestatie/jw323:ProductReferentie/ijw:ReferentieNummer[text() = $vVorigReferentieNummer] + "> + <xsl:call-template name="checkvalue"> + <xsl:with-param name="pValues">!#</xsl:with-param> + <xsl:with-param name="pRule">TR316</xsl:with-param> + <xsl:with-param name="pExtra" select="$vVorigReferentie" /> + </xsl:call-template> + </xsl:for-each> + + <xsl:for-each select=" + ancestor-or-self::jw323:Prestatie/preceding-sibling::jw323:Prestatie/jw323:ProductReferentie/ijw:VorigReferentieNummer[text() = $vReferentieNummer] | + ancestor-or-self::jw323:Client/preceding-sibling::jw323:Client/jw323:Prestaties/jw323:Prestatie/jw323:ProductReferentie/ijw:VorigReferentieNummer[text() = $vReferentieNummer] + "> + <xsl:call-template name="checkvalue"> + <xsl:with-param name="pValues">!#</xsl:with-param> + <xsl:with-param name="pRule">TR316</xsl:with-param> + <xsl:with-param name="pExtra" select="$vReferentie" /> + </xsl:call-template> + </xsl:for-each> + <xsl:if test="$vReferentieNummer = $vVorigReferentieNummer"> <xsl:call-template name="addError"> <xsl:with-param name="pRule">TR316</xsl:with-param> diff --git a/xslt-validatie/jw/3_0/rules/TR317.xsl b/xslt-validatie/jw/3_0/rules/TR317.xsl index 327623dab572c980e229f500e4ccd17d981789cf..f4553c9ba55fc99eeaca107d8cc8dc4adfeff35a 100644 --- a/xslt-validatie/jw/3_0/rules/TR317.xsl +++ b/xslt-validatie/jw/3_0/rules/TR317.xsl @@ -5,7 +5,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 TR317 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR317 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR317"/> diff --git a/xslt-validatie/jw/3_0/rules/TR319.xsl b/xslt-validatie/jw/3_0/rules/TR319.xsl index 4d8a00b82d636ea41d957ba48819aae6bcaa0950..a20f0f995289415ed2ae73f798b080a2b49fb13f 100644 --- a/xslt-validatie/jw/3_0/rules/TR319.xsl +++ b/xslt-validatie/jw/3_0/rules/TR319.xsl @@ -5,7 +5,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 TR319 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR319 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR319"/> diff --git a/xslt-validatie/jw/3_0/rules/TR320.xsl b/xslt-validatie/jw/3_0/rules/TR320.xsl index 388529fe3e2a519f616aaad2933ce6f02ede9b7e..a74269001b0039c5a7869b029f1d22b9d156f611 100644 --- a/xslt-validatie/jw/3_0/rules/TR320.xsl +++ b/xslt-validatie/jw/3_0/rules/TR320.xsl @@ -4,7 +4,7 @@ xmlns:jw304="http://www.istandaarden.nl/ijw/3_0/jw304/schema" > - <!-- iJw 3.0 TR320 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR320 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR320"/> diff --git a/xslt-validatie/jw/3_0/rules/TR335.xsl b/xslt-validatie/jw/3_0/rules/TR335.xsl index d8b479869d4f2bc35903a3343a68ba11b0d8944a..63f51fbaec72b95879e92e505d252e99c6a4689b 100644 --- a/xslt-validatie/jw/3_0/rules/TR335.xsl +++ b/xslt-validatie/jw/3_0/rules/TR335.xsl @@ -4,7 +4,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 TR335 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR335 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR335"/> diff --git a/xslt-validatie/jw/3_0/rules/TR342.xsl b/xslt-validatie/jw/3_0/rules/TR342.xsl index 0e59e131528775d860741d221bbb70c8c8a9be58..8b97ebb9d8a0603c2d4d3fab65df749725d27d16 100644 --- a/xslt-validatie/jw/3_0/rules/TR342.xsl +++ b/xslt-validatie/jw/3_0/rules/TR342.xsl @@ -4,7 +4,7 @@ xmlns:jw325="http://www.istandaarden.nl/ijw/3_0/jw325/schema" > - <!-- iJw 3.0 TR342 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR342 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR342"/> diff --git a/xslt-validatie/jw/3_0/rules/TR345.xsl b/xslt-validatie/jw/3_0/rules/TR345.xsl index c45cfeb4e93687200f3675d7f76e503f8a93fb80..a7711a0edd0c8b370eba01a493d8643093c004dd 100644 --- a/xslt-validatie/jw/3_0/rules/TR345.xsl +++ b/xslt-validatie/jw/3_0/rules/TR345.xsl @@ -4,7 +4,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 TR345 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR345 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR345"/> diff --git a/xslt-validatie/jw/3_0/rules/TR352.xsl b/xslt-validatie/jw/3_0/rules/TR352.xsl index 41095786c297d4b7dcabb9bd8770d6d10f8f6b33..a456e8e889b715805ab0217cb7f0e02b297243cf 100644 --- a/xslt-validatie/jw/3_0/rules/TR352.xsl +++ b/xslt-validatie/jw/3_0/rules/TR352.xsl @@ -4,7 +4,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 TR352 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR352 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR352"/> diff --git a/xslt-validatie/jw/3_0/rules/TR353.xsl b/xslt-validatie/jw/3_0/rules/TR353.xsl index 923224ad58b0e70b9a4452d4bb9ae45519a8688b..a2a6c1a28fae3b802a3e95736cd10d384fe99981 100644 --- a/xslt-validatie/jw/3_0/rules/TR353.xsl +++ b/xslt-validatie/jw/3_0/rules/TR353.xsl @@ -4,7 +4,7 @@ xmlns:jw317="http://www.istandaarden.nl/ijw/3_0/jw317/schema" > - <!-- iJw 3.0 TR353 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR353 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR353"/> diff --git a/xslt-validatie/jw/3_0/rules/TR358.xsl b/xslt-validatie/jw/3_0/rules/TR358.xsl index 4d227eacb3408b1ce6cb26cf79284135aad7717f..e9e9edb3ca7d709e22a731b6adf683f93fdcbfe1 100644 --- a/xslt-validatie/jw/3_0/rules/TR358.xsl +++ b/xslt-validatie/jw/3_0/rules/TR358.xsl @@ -4,7 +4,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 TR358 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR358 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR358"/> diff --git a/xslt-validatie/jw/3_0/rules/TR368.xsl b/xslt-validatie/jw/3_0/rules/TR368.xsl index bd29f6b75f6b406d8c3eaaaaf26d137716736581..8f855bb6f55ad41b8fc1dcaee2b1f3f007e47d84 100644 --- a/xslt-validatie/jw/3_0/rules/TR368.xsl +++ b/xslt-validatie/jw/3_0/rules/TR368.xsl @@ -4,7 +4,7 @@ xmlns:jw323="http://www.istandaarden.nl/ijw/3_0/jw323/schema" > - <!-- iJw 3.0 TR368 version 2.1.8 (2020-10-09) --> + <!-- iJw 3.0 TR368 version 2.2.8 (2021-01-25) --> <xsl:import href="../common/basis.xsl"/> <xsl:template match="*" mode="TR368"/>