Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
iStandaarden
iWlz
XSLT
Commits
1ed0c32d
Commit
1ed0c32d
authored
Jul 30, 2020
by
Michael Westergaard
Browse files
Wlz 2.2
parent
84306036
Changes
116
Expand all
Hide whitespace changes
Inline
Side-by-side
LICENSE
View file @
1ed0c32d
The MIT License (MIT)
Copyright (c) 2016-20
19
Zorginstituut Nederland
Copyright (c) 2016-20
20
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
...
...
README.md
View file @
1ed0c32d
# iWlz 2.
1.1
# iWlz 2.
2
Deze repository bevat de XSLT's voor gebruik binnen de iWlz.
...
...
xslt-validatie/common/2_0/basis.xsl
View file @
1ed0c32d
...
...
@@ -7,7 +7,6 @@
<xsl:output
method=
"xml"
version=
"1.0"
encoding=
"UTF-8"
indent=
"yes"
/>
<!-- Emit the (absolute or relative to the given context) XPath expression
for this node; uses indexing when needed context is not checked currently -->
<xsl:template
name=
"printXPath"
>
...
...
@@ -140,12 +139,164 @@
</r:Fout>
</xsl:template>
<xsl:template
match=
"*"
mode=
"getDetails"
priority=
"
10
0"
>
<xsl:template
match=
"*"
mode=
"getDetails"
priority=
"0"
>
<xsl:param
name=
"pRule"
>
FOUT
</xsl:param>
</xsl:template>
<xsl:template
name=
"checkGemeenteCode"
>
<xsl:param
name=
"pThis"
select=
"."
/>
<xsl:param
name=
"pExtra"
select=
"emptyNodeSet"
/>
<xsl:param
name=
"pRule"
>
FAIL
</xsl:param>
<xsl:variable
name=
"vCorrect"
>
<xsl:apply-templates
select=
"."
mode=
"validGemeente"
>
<xsl:with-param
name=
"pGemeenteCode"
select=
"1 * normalize-space($pThis/text())"
/>
</xsl:apply-templates>
</xsl:variable>
<xsl:if
test=
"$vCorrect != 'true'"
>
<xsl:call-template
name=
"addError"
>
<xsl:with-param
name=
"pRule"
select=
"$pRule"
/>
<xsl:with-param
name=
"pElements"
select=
"$pThis | $pExtra"
/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template
match=
"*"
mode=
"validGemeente"
priority=
"0"
>
<xsl:param
name=
"pGemeenteCode"
select=
"."
/>
<xsl:choose>
<xsl:when
test=
"$pGemeenteCode < 0 or $pGemeenteCode > 2000"
><xsl:value-of
select=
"false()"
/></xsl:when>
<xsl:otherwise><xsl:value-of
select=
"true()"
/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template
name=
"checkAGBValid"
>
<xsl:param
name=
"pThis"
select=
"."
/>
<xsl:param
name=
"pFrom"
/>
<xsl:param
name=
"pTo"
select=
"false()"
/>
<xsl:param
name=
"pExtra"
select=
"emptyNodeSet"
/>
<xsl:param
name=
"pRule"
>
FAIL
</xsl:param>
<xsl:variable
name=
"vCorrect"
>
<xsl:choose>
<xsl:when
test=
"$pTo"
>
<xsl:apply-templates
select=
"."
mode=
"validAGBCode"
>
<xsl:with-param
name=
"pAGBCode"
select=
"number(normalize-space($pThis/text()))"
/>
<xsl:with-param
name=
"pFrom"
select=
"number(translate($pFrom, '-', ''))"
/>
<xsl:with-param
name=
"pTo"
select=
"number(translate($pTo, '-', ''))"
/>
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates
select=
"."
mode=
"validAGBCode"
>
<xsl:with-param
name=
"pAGBCode"
select=
"number(normalize-space($pThis/text()))"
/>
<xsl:with-param
name=
"pFrom"
select=
"number(translate($pFrom, '-', ''))"
/>
</xsl:apply-templates>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if
test=
"$vCorrect != 'true'"
>
<xsl:call-template
name=
"addError"
>
<xsl:with-param
name=
"pRule"
select=
"$pRule"
/>
<xsl:with-param
name=
"pElements"
select=
"$pThis | $pExtra"
/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template
match=
"*"
mode=
"validAGBCode"
priority=
"0"
>
<xsl:param
name=
"pAGBCode"
select=
"."
/>
<xsl:param
name=
"pFrom"
/>
<xsl:param
name=
"pTo"
select=
"0"
/>
<xsl:value-of
select=
"true()"
/>
</xsl:template>
<xsl:template
name=
"testzorgkantoor"
>
<xsl:param
name=
"pThis"
/>
<!-- Instelling -->
<xsl:param
name=
"pOther"
/>
<!-- Zorgkantoor-->
<xsl:param
name=
"pLocal"
select=
"true()"
/>
<xsl:choose>
<xsl:when
test=
"$pLocal"
>
<xsl:choose>
<xsl:when
test=
"normalize-space($pThis) = normalize-space($pOther)"
><xsl:value-of
select=
"true()"
/></xsl:when>
<xsl:otherwise><xsl:value-of
select=
"false()"
/></xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates
select=
"."
mode=
"validZorginstelling"
>
<xsl:with-param
name=
"pInstelling"
select=
"normalize-space($pThis)"
/>
<xsl:with-param
name=
"pOntvanger"
select=
"normalize-space($pOther)"
/>
</xsl:apply-templates>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template
name=
"checkzorgkantoor"
>
<xsl:param
name=
"pThis"
select=
"."
/>
<!-- Instelling -->
<xsl:param
name=
"pOther"
/>
<!-- Zorgkantoor-->
<xsl:param
name=
"pExtra"
select=
"emptyNodeSet"
/>
<xsl:param
name=
"pLocal"
select=
"true()"
/>
<xsl:param
name=
"pRule"
>
FAIL
</xsl:param>
<xsl:variable
name=
"vCorrect"
>
<xsl:call-template
name=
"testzorgkantoor"
>
<xsl:with-param
name=
"pThis"
select=
"$pThis"
/>
<xsl:with-param
name=
"pOther"
select=
"$pOther"
/>
<xsl:with-param
name=
"pLocal"
select=
"$pLocal"
/>
</xsl:call-template>
</xsl:variable>
<xsl:if
test=
"$vCorrect != 'true'"
>
<xsl:call-template
name=
"addError"
>
<xsl:with-param
name=
"pRule"
select=
"$pRule"
/>
<xsl:with-param
name=
"pElements"
select=
"$pThis | $pOther | $pExtra"
/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template
name=
"checkzorginstelling"
>
<xsl:param
name=
"pThis"
/>
<!-- All instellingen -->
<xsl:param
name=
"pOther"
/>
<!-- Ontvanger -->
<xsl:param
name=
"pExtra"
select=
"emptyNodeSet"
/>
<xsl:param
name=
"pLocal"
select=
"true()"
/>
<xsl:param
name=
"pRule"
>
FAIL
</xsl:param>
<xsl:choose>
<xsl:when
test=
"$pThis"
>
<xsl:variable
name=
"vCorrect"
>
<xsl:call-template
name=
"testzorgkantoor"
>
<xsl:with-param
name=
"pThis"
select=
"$pThis[1]"
/>
<xsl:with-param
name=
"pOther"
select=
"$pOther"
/>
<xsl:with-param
name=
"pLocal"
select=
"$pLocal"
/>
</xsl:call-template>
</xsl:variable>
<xsl:if
test=
"$vCorrect != 'true'"
>
<xsl:call-template
name=
"checkzorginstelling"
>
<xsl:with-param
name=
"pThis"
select=
"$pThis[position() != 1]"
/>
<xsl:with-param
name=
"pOther"
select=
"$pOther"
/>
<xsl:with-param
name=
"pExtra"
select=
"$pExtra | $pThis[1]"
/>
<xsl:with-param
name=
"pLocal"
select=
"$pLocal"
/>
<xsl:with-param
name=
"pRule"
select=
"$pRule"
/>
</xsl:call-template>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:call-template
name=
"addError"
>
<xsl:with-param
name=
"pRule"
select=
"$pRule"
/>
<xsl:with-param
name=
"pElements"
select=
"$pOther | $pExtra"
/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template
match=
"*"
mode=
"validZorginstelling"
priority=
"0"
>
<xsl:param
name=
"pInstelling"
/>
<xsl:param
name=
"pOntvanger"
/>
<xsl:value-of
select=
"true()"
/>
</xsl:template>
<!-- Add a error of $pRule for $pElement if $pElement doesn't satisfy the
11-proef -->
<xsl:template
name=
"check11proef"
>
...
...
@@ -593,6 +744,14 @@
<xsl:with-param
name=
"pOverflow"
select=
"$pOverflow"
/>
</xsl:call-template>
</xsl:when>
<xsl:when
test=
"$pExtra > 12"
>
<xsl:call-template
name=
"addMonths"
>
<xsl:with-param
name=
"pDate"
select=
"translate($pDate, '-', '') + 10000"
/>
<xsl:with-param
name=
"pExtra"
select=
"$pExtra - 12"
/>
<xsl:with-param
name=
"pOverflow"
select=
"$pOverflow"
/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template
name=
"adjustDate"
>
<xsl:with-param
name=
"pDate"
...
...
@@ -1529,47 +1688,51 @@
</xsl:template>
<xsl:template
match=
"*[local-name()='BerichtCode']"
mode=
"header"
>
mode=
"header"
priority=
"10"
>
<r:BerichtCode>
<xsl:value-of
select=
"text()"
/>
</r:BerichtCode>
</xsl:template>
<xsl:template
match=
"*[local-name()='BerichtVersie']"
mode=
"header"
>
mode=
"header"
priority=
"10"
>
<r:BerichtVersie>
<xsl:value-of
select=
"text()"
/>
</r:BerichtVersie>
</xsl:template>
<xsl:template
match=
"*[local-name()='BerichtSubversie']"
mode=
"header"
>
mode=
"header"
priority=
"10"
>
<r:BerichtSubversie>
<xsl:value-of
select=
"text()"
/>
</r:BerichtSubversie>
</xsl:template>
<xsl:template
match=
"*[local-name()='Identificatie'] | *[local-name()='DeclarantFactuurNummer']"
mode=
"header"
>
mode=
"header"
priority=
"10"
>
<r:Identificatie>
<xsl:value-of
select=
"normalize-space(text())"
/>
</r:Identificatie>
</xsl:template>
<xsl:template
match=
"*[local-name()='Dagtekening'] | *[local-name()='FactuurDagtekening']"
mode=
"header"
>
mode=
"header"
priority=
"10"
>
<r:Dagtekening>
<xsl:value-of
select=
"text()"
/>
</r:Dagtekening>
</xsl:template>
<xsl:template
match=
"*[local-name()='BerichtIdentificatie'] | *[local-name()='DeclaratieFactuurIdentificatie']"
mode=
"header"
>
mode=
"header"
priority=
"10"
>
<r:BerichtIdentificatie>
<xsl:apply-templates
select=
"*"
mode=
"header"
/>
</r:BerichtIdentificatie>
</xsl:template>
<xsl:template
match=
"*[local-name()='DeclaratieIdentificatie']"
mode=
"header"
priority=
"10"
>
</xsl:template>
<xsl:variable
name=
"xsltVersion"
>
1.9.21
2.1.4
</xsl:variable>
<xsl:template
match=
"*|@*|text()"
mode=
"check"
/>
...
...
@@ -1584,17 +1747,17 @@
<r:Rapport>
<r:Header>
<xsl:apply-templates
select=
"//*[local-name() = 'Header']"
mode=
"header"
/>
<xsl:if
test=
"not(contains($xsltVersion, '-SNAPSHOT'))"
>
<r:XSLTVersie
>
<xsl:value-of
select=
"normalize-space($xsltVersion)"
/
>
</
r:XSLTVersie
>
</xsl:if
>
<xsl:comment
>
XSLT
<xsl:copy-of
select=
"system-property('
xsl
:v
ersion
'
)"
/>
(
<xsl:copy-of
select=
"system-property('xsl:vendor')"
/>
)
XSLT validatie 1.9.21
</xsl:c
omment
>
select=
"//*[local-name() = 'Header']
/*
"
mode=
"header"
/>
<xsl:choose
>
<xsl:when
test=
"contains($xsltVersion, '-SNAPSHOT')"
>
<r:XSLTVersie>
0.0.0
</r:XSLTVersie
>
</
xsl:when
>
<xsl:otherwise
>
<r:XSLTVersie
>
<xsl:value-of
select=
"normalize-space($
xsl
tV
ersion)"
/>
</r:XSLTVersie>
</xsl:otherwise>
</xsl:c
hoose
>
</r:Header>
<r:Fouten>
<xsl:apply-templates
select=
"*"
mode=
"traverse"
/>
...
...
xslt-validatie/common/2_0/check_errors.xsl
0 → 100644
View file @
1ed0c32d
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version=
"1.0"
xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform"
xmlns:r=
"http://www.istandaarden.nl/validatie/1_1/rapport/schema"
>
<xsl:import
href=
"basis.xsl"
/>
<xsl:output
method=
"xml"
version=
"1.0"
encoding=
"UTF-8"
indent=
"yes"
/>
<xsl:template
match=
"*"
mode=
"translateCode"
priority=
"0"
>
<xsl:param
name=
"pCode"
/>
<xsl:variable
name=
"vFirst"
select=
"substring($pCode, 1, 1)"
/>
<xsl:variable
name=
"vRest"
select=
"substring($pCode, 2)"
/>
<xsl:choose>
<xsl:when
test=
"$vFirst = 'S' or $vFirst = 'D'"
>
,C
<xsl:value-of
select=
"$pCode"
/>
,
</xsl:when>
<xsl:when
test=
"$vFirst = '9'"
>
,TR
<xsl:value-of
select=
"$vRest"
/>
,
</xsl:when>
<xsl:otherwise>
ERROR
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template
match=
"*"
mode=
"berichtoverstijgend"
priority=
"0"
>
<xsl:param
name=
"pCode"
/>
<xsl:choose>
<xsl:when
test=
"$pCode = '0001'"
><xsl:value-of
select=
"true()"
/></xsl:when>
<xsl:otherwise><xsl:value-of
select=
"true()"
/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template
match=
"*[local-name() = 'Header']/*[local-name() = 'RetourCodes']"
priority=
"20"
>
<xsl:if
test=
"./*[local-name() = 'RetourCode' and text() = '0001']"
>
<xsl:if
test=
"ancestor-or-self::*[local-name() = 'Bericht']/*[local-name() != 'Header']"
>
<xsl:call-template
name=
"addError"
>
<xsl:with-param
name=
"pRule"
>
IV028
</xsl:with-param>
<xsl:with-param
name=
"pElements"
select=
". | ancestor-or-self::*[local-name() = 'Bericht']/*[local-name() != 'Header']"
/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:template>
<xsl:template
match=
"*[local-name() = 'RetourCode' and text() = '0001']"
priority=
"30"
>
<xsl:if
test=
"not(ancestor::*[local-name() = 'Header'])"
>
<xsl:call-template
name=
"addError"
>
<xsl:with-param
name=
"pRule"
>
IV028
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template
match=
"*[local-name() = 'RetourCode' and text() != '0200' and text() != '0233']"
priority=
"20"
>
<xsl:variable
name=
"vRules"
>
<xsl:apply-templates
select=
"."
mode=
"translateCode"
>
<xsl:with-param
name=
"pCode"
select=
"normalize-space(text())"
/>
</xsl:apply-templates>
</xsl:variable>
<xsl:variable
name=
"vBerichtoverstijgend"
>
<xsl:apply-templates
select=
"."
mode=
"berichtoverstijgend"
>
<xsl:with-param
name=
"pCode"
select=
"normalize-space(text())"
/>
</xsl:apply-templates>
</xsl:variable>
<xsl:if
test=
"($vBerichtoverstijgend = 'false') and not(../../descendant-or-self::*[contains($vRules, concat(',', concat(@vmCode, ',')))])"
>
<xsl:call-template
name=
"addError"
>
<xsl:with-param
name=
"pRule"
>
IV028
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template
match=
"/"
priority=
"20"
>
<r:Rapport>
<r:Fouten>
<xsl:apply-templates
select=
"*"
/>
</r:Fouten>
</r:Rapport>
</xsl:template>
<xsl:template
match=
"*"
priority=
"10"
>
<xsl:apply-templates
select=
"*"
/>
</xsl:template>
</xsl:stylesheet>
xslt-validatie/common/2_0/heenbericht.xsl
0 → 100644
View file @
1ed0c32d
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version=
"1.0"
xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform"
>
<xsl:output
method=
"xml"
version=
"1.0"
encoding=
"UTF-8"
indent=
"yes"
/>
<xsl:template
name=
"formatNumberInternal"
>
<xsl:param
name=
"pValue"
/>
<xsl:if
test=
"$pValue > 0"
>
<xsl:call-template
name=
"formatNumberInternal"
>
<xsl:with-param
name=
"pValue"
select=
"floor(number($pValue) div 10)"
/>
</xsl:call-template>
<xsl:value-of
select=
"number($pValue) mod 10"
/>
</xsl:if>
</xsl:template>
<xsl:template
name=
"formatNumber"
>
<xsl:param
name=
"pValue"
/>
<xsl:choose>
<xsl:when
test=
"number($pValue) < 0"
>
-
<xsl:call-template
name=
"formatNumberInternal"
>
<xsl:with-param
name=
"pValue"
select=
"0 - number($pValue)"
/>
</xsl:call-template>
</xsl:when>
<xsl:when
test=
"number($pValue) = 0"
>
0
</xsl:when>
<xsl:otherwise>
<xsl:call-template
name=
"formatNumberInternal"
>
<xsl:with-param
name=
"pValue"
select=
"number($pValue)"
/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template
match=
"*"
mode=
"mapMessage"
priority=
"100"
>
<xsl:param
name=
"pMessage"
/>
<xsl:choose>
<xsl:when
test=
"$pMessage = 'aw310'"
>
aw39
</xsl:when>
<xsl:when
test=
"$pMessage = 'zk310'"
>
zk39
</xsl:when>
<xsl:otherwise>
<xsl:variable
name=
"vType"
><xsl:value-of
select=
"translate($pMessage, '0123456789', '')"
/></xsl:variable>
<xsl:variable
name=
"vNumber"
><xsl:value-of
select=
"translate($pMessage, $vType, '')"
/></xsl:variable>
<xsl:value-of
select=
"$vType"
/><xsl:value-of
select=
"1 * $vNumber - 1"
/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template
name=
"mapNamespace"
>
<xsl:param
name=
"pNamespace"
/>
<xsl:variable
name=
"vMessage"
><xsl:value-of
select=
"substring-before(substring-after(substring-after(substring-after($pNamespace, 'http://www.istandaarden.nl/'), '/'), '/'), '/')"
/></xsl:variable>
<xsl:variable
name=
"vPrefix"
><xsl:value-of
select=
"substring-before($pNamespace, $vMessage)"
/></xsl:variable>
<xsl:variable
name=
"vSuffix"
><xsl:value-of
select=
"substring-after($pNamespace, $vMessage)"
/></xsl:variable>
<xsl:choose>
<xsl:when
test=
"$vMessage = 'basisschema'"
><xsl:value-of
select=
"$pNamespace"
/></xsl:when>
<xsl:otherwise><xsl:value-of
select=
"$vPrefix"
/><xsl:apply-templates
select=
"."
mode=
"mapMessage"
>
<xsl:with-param
name=
"pMessage"
select=
"$vMessage"
/>
</xsl:apply-templates><xsl:value-of
select=
"$vSuffix"
/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template
match=
"*"
mode=
"postoverride"
priority=
"0"
>
</xsl:template>
<xsl:template
match=
"*[local-name() = 'IdentificatieRetour']"
priority=
"10"
></xsl:template>
<xsl:template
match=
"*[local-name() = 'DagtekeningRetour']"
priority=
"10"
></xsl:template>
<xsl:template
match=
"*[local-name() = 'XsdVersieRetour']"
priority=
"10"
></xsl:template>
<xsl:template
match=
"*[local-name() = 'RetourCodes']"
priority=
"10"
></xsl:template>
<xsl:template
match=
"*[local-name() = 'RetourHeader']"
priority=
"10"
></xsl:template>
<xsl:template
match=
"*[local-name() = 'RetourBedragen']"
priority=
"10"
></xsl:template>
<xsl:template
match=
"*[local-name() = 'ToegekendeBedragPrestatie']"
priority=
"10"
></xsl:template>
<xsl:template
match=
"*[local-name() = 'BerichtCode']"
priority=
"10"
>
<xsl:variable
name=
"vNamespace"
>
<xsl:call-template
name=
"mapNamespace"
>
<xsl:with-param
name=
"pNamespace"
select=
"namespace-uri()"
/>
</xsl:call-template>
</xsl:variable>
<xsl:element
name=
"{local-name()}"
namespace=
"{normalize-space($vNamespace)}"
>
<xsl:value-of
select=
"1 * text() - 1"
/>
</xsl:element>
</xsl:template>
<xsl:template
match=
"*[local-name() = 'XsdVersie']"
priority=
"10"
>
<xsl:variable
name=
"vMessage"
><xsl:value-of
select=
"substring-before(substring-after(substring-after(substring-after(namespace-uri(), 'http://www.istandaarden.nl/'), '/'), '/'), '/')"
/></xsl:variable>
<xsl:variable
name=
"vNumber"
><xsl:value-of
select=
"translate($vMessage, translate($vMessage, '0123456789', ''), '')"
/></xsl:variable>
<xsl:if
test=
"$vNumber != '304'"
>
<xsl:call-template
name=
"copyElement"
/>
</xsl:if>
</xsl:template>
<xsl:template
match=
"*[local-name() = 'Header']"
mode=
"postoverride"
priority=
"10"
>
<xsl:variable
name=
"vMessage"
><xsl:value-of
select=
"substring-before(substring-after(substring-after(substring-after(namespace-uri(), 'http://www.istandaarden.nl/'), '/'), '/'), '/')"
/></xsl:variable>
<xsl:variable
name=
"vNumber"
><xsl:value-of
select=
"translate($vMessage, translate($vMessage, '0123456789', ''), '')"
/></xsl:variable>
<xsl:if
test=
"$vNumber = '304'"
>
<xsl:variable
name=
"vNamespace"
>
<xsl:call-template
name=
"mapNamespace"
>
<xsl:with-param
name=
"pNamespace"
select=
"namespace-uri()"
/>
</xsl:call-template>
</xsl:variable>
<xsl:variable
name=
"vBasisNamespace"
>
<xsl:value-of
select=
"namespace-uri(*[local-name() = 'RetourBedragen']/*[local-name() = 'IngediendTotaalBedrag'])"
/>
</xsl:variable>
<xsl:variable
name=
"vTotaalDebet"
select=
"sum(ancestor-or-self::*[local-name() = 'Bericht']//*[local-name() = 'Client']//*[local-name() = 'IngediendeBedragPrestatie']/*[local-name() = 'DeclaratieFactuurBedrag' and ./*[local-name() = 'DebetCredit']/text() = 'D']/*[local-name() = 'Bedrag'])"
/>
<xsl:variable
name=
"vTotaalCredit"
select=
"sum(ancestor-or-self::*[local-name() = 'Bericht']//*[local-name() = 'Client']//*[local-name() = 'IngediendeBedragPrestatie']/*[local-name() = 'DeclaratieFactuurBedrag' and ./*[local-name() = 'DebetCredit']/text() = 'C']/*[local-name() = 'Bedrag'])"
/>
<xsl:variable
name=
"vSaldo"
select=
"$vTotaalDebet - $vTotaalCredit"
/>
<xsl:element
name=
"DeclaratieFactuurBedragen"
namespace=
"{normalize-space($vNamespace)}"
>
<xsl:choose>
<xsl:when
test=
"$vSaldo < 0"
>
<xsl:element
name=
"DeclaratieFactuurTotaalBedrag"
namespace=
"{normalize-space($vBasisNamespace)}"
>
<xsl:element
name=
"TotaalBedrag"
namespace=
"{normalize-space($vBasisNamespace)}"
>
<xsl:call-template
name=
"formatNumber"
><xsl:with-param
name=
"pValue"
select=
"0 - number($vSaldo)"
/></xsl:call-template>
</xsl:element>
<xsl:element
name=
"DebetCredit"
namespace=
"{normalize-space($vBasisNamespace)}"
>
D
</xsl:element>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:element
name=
"DeclaratieFactuurTotaalBedrag"
namespace=
"{normalize-space($vBasisNamespace)}"
>
<xsl:element
name=
"TotaalBedrag"
namespace=
"{normalize-space($vBasisNamespace)}"
>
<xsl:call-template
name=
"formatNumber"
><xsl:with-param
name=
"pValue"
select=
"$vSaldo"
/></xsl:call-template>
</xsl:element>
<xsl:element
name=
"DebetCredit"
namespace=
"{normalize-space($vBasisNamespace)}"
>
C
</xsl:element>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
<!-- need loop to change context -->
<xsl:for-each
select=
"*[local-name() = 'XsdVersie']"
>
<xsl:call-template
name=
"copyElement"
/>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template
name=
"copyElement"
>
<xsl:variable
name=
"vNamespace"
>
<xsl:call-template
name=
"mapNamespace"
>
<xsl:with-param
name=
"pNamespace"
select=
"namespace-uri()"
/>
</xsl:call-template>
</xsl:variable>
<xsl:element
name=
"{local-name()}"
namespace=
"{normalize-space($vNamespace)}"
>
<xsl:copy-of
select=
"@*"
/>
<xsl:apply-templates
select=
"*"
/>
<xsl:apply-templates
select=
"."
mode=
"postoverride"
/>
<xsl:value-of
select=
"text()"
/>
</xsl:element>
</xsl:template>
<xsl:template
match=
"*"
>
<xsl:call-template
name=
"copyElement"
/>
</xsl:template>
</xsl:stylesheet>
xslt-validatie/common/2_0/merge.xsl
0 → 100644
View file @
1ed0c32d
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<stylesheet
xmlns=
"http://www.w3.org/1999/XSL/Transform"
xmlns:n0=
"http://www.istandaarden.nl/validatie/1_1/rapport/schema"
exclude-result-prefixes=
""
version=
"1.0"
><template
match=
"/"
><n0:Rapport><n0:Header><copy-of
select=
"//n0:Header[1]/*"
/></n0:Header><n0:Fouten><copy-of
select=
"//n0:Fouten/n0:Fout"
/></n0:Fouten></n0:Rapport></template></stylesheet>
\ No newline at end of file
xslt-validatie/wlz/2_1/rules/TR101.xsl
deleted
100644 → 0
View file @
84306036
This diff is collapsed.
Click to expand it.
xslt-validatie/wlz/2_
1
/AW317.xsl
→
xslt-validatie/wlz/2_
2
/AW317.xsl
View file @
1ed0c32d
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version=
"1.0"
xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform"
xmlns:r=
"http://www.istandaarden.nl/validatie/1_1/rapport/schema"
>
<!-- iWlz 2.
1
AW317 (2020-0
4
-0
7
) -->
<xsl:stylesheet
version=
"1.0"
xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform"
xmlns:
v
r=
"http://www.istandaarden.nl/validatie/1_1/rapport/schema"
>
<!-- iWlz 2.
2
AW317 (2020-0
7
-0
8
) -->
<xsl:import
href=
"common/basis.xsl"
/>
<xsl:include
href=
"condities/CD005.xsl"
/>
...
...
@@ -11,8 +11,10 @@
<xsl:include
href=
"condities/CD040.xsl"
/>
<xsl:include
href=
"condities/CD052.xsl"
/>
<xsl:include
href=
"condities/CD072.xsl"
/>
<xsl:include
href=
"condities/CD090.xsl"
/>
<xsl:include
href=
"constraints/CS002.xsl"
/>
<xsl:include
href=
"constraints/CS003.xsl"
/>
<xsl:include
href=
"constraints/CS012.xsl"
/>
<xsl:include
href=
"constraints/CS014.xsl"
/>
<xsl:include
href=
"constraints/CS023.xsl"
/>
<xsl:include
href=
"constraints/CS050.xsl"
/>
...
...
@@ -23,6 +25,8 @@
<xsl:include
href=
"constraints/CS093.xsl"
/>
<xsl:include
href=
"constraints/CS108.xsl"
/>
<xsl:include
href=
"constraints/CS118.xsl"
/>
<xsl:include
href=
"constraints/CS131.xsl"
/>
<xsl:include
href=
"constraints/CS132.xsl"
/>
<xsl:include
href=
"rules/TR079.xsl"
/>
<xsl:include
href=
"rules/TR091.xsl"
/>
<xsl:include
href=
"rules/TR097.xsl"
/>
...
...
@@ -37,8 +41,10 @@
<xsl:apply-templates
select=
"."
mode=
"CD040"
/>
<xsl:apply-templates
select=
"."
mode=
"CD052"
/>
<xsl:apply-templates
select=
"."
mode=
"CD072"
/>
<xsl:apply-templates
select=
"."
mode=
"CD090"
/>
<xsl:apply-templates
select=
"."
mode=
"CS002"
/>
<xsl:apply-templates
select=
"."
mode=
"CS003"
/>
<xsl:apply-templates
select=
"."
mode=
"CS012"
/>
<xsl:apply-templates
select=
"."
mode=
"CS014"
/>
<xsl:apply-templates
select=
"."
mode=
"CS023"
/>
<xsl:apply-templates
select=
"."
mode=
"CS050"
/>
...
...
@@ -49,6 +55,8 @@
<xsl:apply-templates
select=
"."
mode=
"CS093"
/>
<xsl:apply-templates
select=
"."
mode=
"CS108"
/>
<xsl:apply-templates
select=
"."
mode=
"CS118"
/>
<xsl:apply-templates
select=
"."
mode=
"CS131"
/>
<xsl:apply-templates
select=
"."
mode=
"CS132"
/>
<xsl:apply-templates
select=
"."
mode=
"TR079"
/>
<xsl:apply-templates
select=
"."
mode=
"TR091"
/>
<xsl:apply-templates
select=
"."
mode=
"TR097"
/>
...
...
@@ -56,10 +64,10 @@
</xsl:template>
<xsl:variable
name=
"versionInfo"
>
<r:XSLTHeader>
<r:Standaard>
iwlz
</r:Standaard>
<r:StandaardRelease>
2.
1
</r:StandaardRelease>
<r:XSLTVersie>
1.9.21
</r:XSLTVersie>
</r:XSLTHeader>
<
v
r:XSLTHeader>
<
v
r:Standaard>
iwlz
</
v
r:Standaard>
<
v
r:StandaardRelease>
2.
2
</
v
r:StandaardRelease>
<
v
r:XSLTVersie>
2.1.4
</
v
r:XSLTVersie>
</
v
r:XSLTHeader>
</xsl:variable>
</xsl:stylesheet>
xslt-validatie/wlz/2_
1
/AW33.xsl
→
xslt-validatie/wlz/2_
2
/AW33.xsl
View file @
1ed0c32d
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version=
"1.0"
xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform"
xmlns:r=
"http://www.istandaarden.nl/validatie/1_1/rapport/schema"
>
<!-- iWlz 2.
1
AW33 (2020-0
4
-0
7
) -->
<xsl:stylesheet
version=
"1.0"
xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform"
xmlns:
v
r=
"http://www.istandaarden.nl/validatie/1_1/rapport/schema"
>
<!-- iWlz 2.
2
AW33 (2020-0
7
-0
8
) -->
<xsl:import
href=
"common/basis.xsl"
/>
<xsl:include
href=
"condities/CD005.xsl"
/>
...
...
@@ -21,6 +21,7 @@
<xsl:include
href=
"condities/CD073.xsl"
/>
<xsl:include
href=
"constraints/CS002.xsl"
/>
<xsl:include
href=
"constraints/CS003.xsl"
/>
<xsl:include
href=
"constraints/CS012.xsl"
/>
<xsl:include
href=
"constraints/CS014.xsl"
/>
<xsl:include
href=
"constraints/CS023.xsl"
/>
<xsl:include
href=
"constraints/CS035.xsl"
/>
...
...
@@ -32,6 +33,7 @@
<xsl:include
href=
"constraints/CS092.xsl"
/>
<xsl:include
href=
"constraints/CS107.xsl"
/>
<xsl:include
href=
"constraints/CS123.xsl"
/>
<xsl:include
href=
"constraints/CS132.xsl"
/>