From 0cda12b6c811b5f3053ac5759da603a51e6e2fa1 Mon Sep 17 00:00:00 2001
From: Michael Westergaard <michael.westergaard@opencircle.solutions>
Date: Fri, 29 Jan 2021 11:41:57 +0100
Subject: [PATCH] Release 2.2.8, Jw 3.0.3

---
 LICENSE                                     |   2 +-
 README.md                                   |   2 +-
 xslt-validatie/common/2_0/basis.xsl         | 132 ++++-----
 xslt-validatie/jw/3_0/JW301.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW303.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW304.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW305.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW307.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW315.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW317.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW319.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW323.xsl             |   4 +-
 xslt-validatie/jw/3_0/JW325.xsl             |   4 +-
 xslt-validatie/jw/3_0/all.xsl               |   4 +-
 xslt-validatie/jw/3_0/all_merged.xsl        |   2 +-
 xslt-validatie/jw/3_0/common/basis.xsl      |   2 +-
 xslt-validatie/jw/3_0/condities/CD005.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD007.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD009.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD025.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD034.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD041.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD043.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD055.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD056.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD058.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD059.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD060.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD062.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD066.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD067.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD068.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD075.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD076.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD077.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD078.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD079.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD080.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD081.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD085.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD086.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD087.xsl   |   2 +-
 xslt-validatie/jw/3_0/condities/CD088.xsl   |   2 +-
 xslt-validatie/jw/3_0/constraints/CS002.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS003.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS023.xsl |  10 +-
 xslt-validatie/jw/3_0/constraints/CS050.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS058.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS089.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS100.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS102.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS103.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS104.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS108.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS318.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS323.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS324.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS325.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS327.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS328.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS330.xsl |   2 +-
 xslt-validatie/jw/3_0/constraints/CS331.xsl |   2 +-
 xslt-validatie/jw/3_0/rules/TR002.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR006.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR018.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR061.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR097.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR101.xsl       | 284 ++++++++++++--------
 xslt-validatie/jw/3_0/rules/TR302.xsl       |  91 ++++---
 xslt-validatie/jw/3_0/rules/TR312.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR313.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR314.xsl       |   6 +-
 xslt-validatie/jw/3_0/rules/TR315.xsl       |  10 +-
 xslt-validatie/jw/3_0/rules/TR316.xsl       | 108 ++++----
 xslt-validatie/jw/3_0/rules/TR317.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR319.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR320.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR335.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR342.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR345.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR352.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR353.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR358.xsl       |   2 +-
 xslt-validatie/jw/3_0/rules/TR368.xsl       |   2 +-
 84 files changed, 449 insertions(+), 368 deletions(-)

diff --git a/LICENSE b/LICENSE
index c79603f..d2d09af 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 af839ee..d77ac4d 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 be49f83..ef2e532 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(), '-', '') &gt; translate($pThis/text(), '-', '')">
+                test="not($pThis) or not($pOther) or translate($pOther/text(), '-', '') &gt; 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'], '-', '') &gt;=
-                            translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pThis/*[local-name()='Einddatum'], '-', '') &lt;=
-                            translate($pOther/*[local-name()='Einddatum'], '-', '')
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &gt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &lt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '')
                             or
-                            translate($pOther/*[local-name()='Einddatum'], '-', '') &gt;=
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pOther/*[local-name()='Einddatum'], '-', '') &lt;=
-                            translate($pThis/*[local-name()='Einddatum'], '-', '')">
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &gt;=
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &lt;=
+                            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'], '-', '') &gt;=
-                            translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pThis/*[local-name()='Einddatum'], '-', '') &lt;=
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &gt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &lt;=
                             '99999999'
                             or
                             '99999999' &gt;=
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '') and
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
                             '99999999' &lt;=
-                            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' &gt;=
-                            translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
                             '99999999' &lt;=
-                            translate($pOther/*[local-name()='Einddatum'], '-', '')
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '')
                             or
-                            translate($pOther/*[local-name()='Einddatum'], '-', '') &gt;=
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pOther/*[local-name()='Einddatum'], '-', '') &lt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &gt;=
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &lt;=
                             '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'], '-', '') &gt;=
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '')
+                    		translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &gt;=
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '')
                             and
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '') &gt;=
-                            translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '') &lt;=
-                            translate($pOther/*[local-name()='Einddatum'], '-', '')
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') &gt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') &lt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '')
                             and
-                            translate($pThis/*[local-name()='Einddatum'], '-', '') &gt;=
-                            translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pThis/*[local-name()='Einddatum'], '-', '') &lt;=
-                            translate($pOther/*[local-name()='Einddatum'], '-', '')">
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &gt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &lt;=
+                            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'], '-', '') &gt;=
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '')
+                    		translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &gt;=
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '')
                             and
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '') &gt;=
-                            translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '') &lt;=
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') &gt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') &lt;=
                             '99999999'
                             and
-                            translate($pThis/*[local-name()='Einddatum'], '-', '') &gt;=
-                            translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pThis/*[local-name()='Einddatum'], '-', '') &lt;=
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &gt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 8)='Einddatum'], '-', '') &lt;=
                             '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'], '-', '') &gt;=
-                            translate($pOther/*[local-name()='Ingangsdatum'], '-', '') and
-                            translate($pThis/*[local-name()='Ingangsdatum'], '-', '') &lt;=
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') &gt;=
+                            translate($pOther/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') and
+                            translate($pThis/*[substring(local-name(), string-length(local-name()) - 11)='Ingangsdatum'], '-', '') &lt;=
                             '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 f41b202..ea15b73 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 2c479fb..c7c1728 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 bc88851..6c607d7 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 c88e9c3..d186af2 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 4c89ab9..09ee56f 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 4f6ae3c..85964d7 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 e9bd230..a2670c6 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 e8b4f9b..2603335 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 d72e5a4..17a9574 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 3febe94..02d993d 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 fe35653..2bdab0a 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 14653d9..32a5a4b 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) &gt; 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)) &gt; 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)) &gt; 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)) &gt; 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 &lt; $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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &lt; 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 &gt; 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,'-','') &lt; 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,'-','') &lt;= 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,'-','') &gt; 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,'-','') &lt; 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(),'-','') &gt; 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(),'-','') &gt;= 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) &lt; $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'],'-','') &gt;= translate($pOther/*[local-name()='Ingangsdatum'],'-','') and translate($pThis/*[local-name()='Einddatum'],'-','') &lt;= translate($pOther/*[local-name()='Einddatum'],'-','') or translate($pOther/*[local-name()='Einddatum'],'-','') &gt;= translate($pThis/*[local-name()='Ingangsdatum'],'-','') and translate($pOther/*[local-name()='Einddatum'],'-','') &lt;= 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'],'-','') &gt;= translate($pOther/*[local-name()='Ingangsdatum'],'-','') and translate($pThis/*[local-name()='Einddatum'],'-','') &lt;= '99999999' or '99999999' &gt;= translate($pThis/*[local-name()='Ingangsdatum'],'-','') and '99999999' &lt;= 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' &gt;= translate($pOther/*[local-name()='Ingangsdatum'],'-','') and '99999999' &lt;= translate($pOther/*[local-name()='Einddatum'],'-','') or translate($pOther/*[local-name()='Einddatum'],'-','') &gt;= translate($pThis/*[local-name()='Ingangsdatum'],'-','') and translate($pOther/*[local-name()='Einddatum'],'-','') &lt;= '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">&lt;</text><value-of select="$v0"/><text disable-output-escaping="yes">&gt;</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() &gt; $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 &gt; 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) &lt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','') &lt; 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(),'-','') &lt; 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(),'-','') &gt;= 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(),'-','') &gt;= 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(),'-','') &gt;= 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','') &lt; 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(),'-','') &lt; 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(),'-','') &gt;= 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(),'-','') &gt;= 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) &gt; 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)) &gt; 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)) &gt; 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)) &gt; 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 &lt; $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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &lt; 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 &gt; 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,'-','') &lt; 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,'-','') &lt;= 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,'-','') &gt; 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,'-','') &lt; 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(),'-','') &gt; 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(),'-','') &gt;= 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) &lt; $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'],'-','') &gt;= translate($pOther/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and translate($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') &lt;= translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') or translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') &gt;= translate($pThis/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') &lt;= 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'],'-','') &gt;= translate($pOther/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and translate($pThis/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') &lt;= '99999999' or '99999999' &gt;= translate($pThis/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and '99999999' &lt;= 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' &gt;= translate($pOther/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and '99999999' &lt;= translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') or translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') &gt;= translate($pThis/*[substring(local-name(),string-length(local-name()) - 11)='Ingangsdatum'],'-','') and translate($pOther/*[substring(local-name(),string-length(local-name()) - 8)='Einddatum'],'-','') &lt;= '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">&lt;</text><value-of select="$v0"/><text disable-output-escaping="yes">&gt;</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() &gt; $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 &gt; 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) &lt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','') &lt; 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(),'-','') &lt; 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(),'-','') &gt;= 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(),'-','') &gt;= 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(),'-','') &gt;= 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','')) &gt; 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(),'-','') &lt; 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(),'-','') &lt; 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(),'-','') &gt;= 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(),'-','') &gt;= 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 32f1c75..b7b918f 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 70974b2..c8efbfb 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 a181c1d..7703359 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 ccb6873..93da704 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 512937e..371d613 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 6402fc2..9381bb5 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 7163814..eaf60bd 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 c515e44..ce0c4be 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 520db91..7659289 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 1b27d61..c1ba27b 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 6811931..6b10cac 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 2ecf05a..1322b76 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 6ac06f0..26baa21 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 6bc83a1..5aadabb 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 c9c63d1..3ed50e9 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 6728c87..bf81a7f 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 543d948..9b31d3f 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 7a7af4d..d724a4b 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 1f33e39..9100799 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 8ceb4e8..4879a2c 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 a3d0443..060704e 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 fda09ca..e373eff 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 75f1b56..2afadc2 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 aa68127..c330b35 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 5f15eb5..532d746 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 68fb32b..8653439 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 8e26ee1..ef814ff 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 63f198a..f6a7a60 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 31e26e2..9a2b4be 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 653d1e2..73b4e25 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 84200a0..15167bf 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 5d3942b..1b849bf 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 5f8511c..731719a 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 8cf1e3d..8ccc0c6 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 d258afd..d412381 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 90ffaea..7e9083d 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 add49b6..2c18c56 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 35ed250..a8c2efe 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 d4b1cff..4460ec6 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 3674d83..6a8982b 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 a2c8209..94f32cc 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 d860ebc..a1168d7 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 dc1ff05..029a2ed 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 b8192dd..62e7cf8 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 76270d3..b577319 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 10c236d..e90ba5d 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 769871d..3af2c7d 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 552b7d3..3d6651b 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 ab55ce0..ae85acd 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 39d51ac..9123a3a 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 459bebe..0a20a44 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 5041192..863382b 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 b92b53e..d1ac802 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 92f9186..1718ce0 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 dae1480..3cbee9c 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 9530054..3b5a310 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 47fc21a..a54b242 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 15409ce..0fe2e8e 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 f2b9c02..ba0702e 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 327623d..f4553c9 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 4d8a00b..a20f0f9 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 388529f..a742690 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 d8b4798..63f51fb 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 0e59e13..8b97ebb 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 c45cfeb..a7711a0 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 4109578..a456e8e 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 923224a..a2a6c1a 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 4d227ea..e9e9edb 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 bd29f6b..8f855bb 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"/>
-- 
GitLab