schematron-nokogiri 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/schematron-nokogiri.rb +3 -3
- data/schematron-nokogiri.gemspec +1 -1
- data/spec/instances/ubl/ubl_simple_invoicing.xml +317 -0
- data/spec/schema/open_peppol/SI-UBL-INV-1.1.1rc2.xsl +15921 -0
- data/spec/schema/open_peppol/SI-UBL-INV-1.1.xsl +15921 -0
- data/spec/schema/open_peppol/SI-UBL-INV-STRICT.SCH +86 -0
- data/spec/schema/open_peppol/SI-UBL-INV.SCH +88 -0
- data/spec/schema/open_peppol/convert/iso_abstract_expand.xsl +297 -0
- data/spec/schema/open_peppol/convert/iso_dsdl_include.xsl +1509 -0
- data/spec/schema/open_peppol/convert/iso_schematron_message.xsl +55 -0
- data/spec/schema/open_peppol/convert/iso_schematron_skeleton_for_xslt1.xsl +1844 -0
- data/spec/schema/open_peppol/convert/iso_svrl_for_xslt1.xsl +605 -0
- data/spec/schema/open_peppol/general/SI-UBL-GENERAL.SCH +10 -0
- data/spec/schema/open_peppol/lib/saxon.jar +0 -0
- data/spec/schema/open_peppol/v1.0/SI-UBL-CRE-100.SCH +459 -0
- data/spec/schema/open_peppol/v1.0/SI-UBL-CRE-100.XSL +1298 -0
- data/spec/schema/open_peppol/v1.0/SI-UBL-INV-100.SCH +531 -0
- data/spec/schema/open_peppol/v1.0/SI-UBL-INV-100.XSL +1457 -0
- data/spec/schema/open_peppol/v1.0/SI-UBL-INV-V10-FATAL.SCH +45 -0
- data/spec/schema/open_peppol/v1.0/SI-UBL-INV-V10-WARNING.SCH +467 -0
- data/spec/schema/open_peppol/v1.0/biicore/abstract/BIICORE-T10.sch +433 -0
- data/spec/schema/open_peppol/v1.0/biicore/ubl/BIICORE-UBL-T10.sch +425 -0
- data/spec/schema/open_peppol/v1.0/biiprofiles/UBL/BIIPROFILES-UBL-T10.sch +14 -0
- data/spec/schema/open_peppol/v1.0/biiprofiles/abstract/BIIPROFILES-T10.sch +16 -0
- data/spec/schema/open_peppol/v1.0/biirules/UBL/BIIRULES-UBL-T10.sch +70 -0
- data/spec/schema/open_peppol/v1.0/biirules/abstract/BIIRULES-T10.sch +91 -0
- data/spec/schema/open_peppol/v1.0/biirules/codelist/BIIRULESCodesT10.sch +47 -0
- data/spec/schema/open_peppol/v1.0/eugen/UBL/EUGEN-UBL-T10.sch +45 -0
- data/spec/schema/open_peppol/v1.0/eugen/abstract/EUGEN-T10.sch +57 -0
- data/spec/schema/open_peppol/v1.0/eugen/codelist/EUGENCodesT10.sch +47 -0
- data/spec/schema/open_peppol/v1.1/BII/BIICORE-UBL-T10-V1.0.sch +6879 -0
- data/spec/schema/open_peppol/v1.1/BII/BIIRULES-UBL-T10.sch +28 -0
- data/spec/schema/open_peppol/v1.1/BII/BIIRULES-UBL-T10.xsl +1186 -0
- data/spec/schema/open_peppol/v1.1/BII/UBL/BIIRULES-UBL-T10.sch +80 -0
- data/spec/schema/open_peppol/v1.1/BII/abstract/BIIRULES-T10.sch +78 -0
- data/spec/schema/open_peppol/v1.1/BII/codelist/BIIRULESCodesT10-UBL.sch +55 -0
- data/spec/schema/open_peppol/v1.1/BII/convert.bat +7 -0
- data/spec/schema/open_peppol/v1.1/PEPPOL/OPENPEPPOL-UBL-T10.sch +28 -0
- data/spec/schema/open_peppol/v1.1/PEPPOL/UBL/OPENPEPPOL-UBL-T10.sch +62 -0
- data/spec/schema/open_peppol/v1.1/PEPPOL/abstract/OPENPEPPOL-T10.sch +82 -0
- data/spec/schema/open_peppol/v1.1/PEPPOL/codelist/OPENPEPPOLCodesT10-UBL.sch +47 -0
- data/spec/schema/open_peppol/v1.1/SI-UBL-INV-V11-Codes.SCH +24 -0
- data/spec/schema/open_peppol/v1.1/SI-UBL-INV-V11-FATAL.SCH +103 -0
- data/spec/schema/open_peppol/v1.1/SI-UBL-INV-V11-WARNING.SCH +498 -0
- data/spec/schema/open_peppol/v1.1/V1.1-Check.sch +3 -0
- data/spec/schema_spec.rb +12 -0
- metadata +45 -2
@@ -0,0 +1,28 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!--
|
3
|
+
|
4
|
+
UBL syntax binding to the T10
|
5
|
+
Author: Oriol Bausà
|
6
|
+
|
7
|
+
-->
|
8
|
+
<schema xmlns="http://purl.oclc.org/dsdl/schematron" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:UBL="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" queryBinding="xslt">
|
9
|
+
<title>BIIRULES T10 bound to UBL</title>
|
10
|
+
<ns prefix="cbc" uri="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"/>
|
11
|
+
<ns prefix="cac" uri="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"/>
|
12
|
+
<ns prefix="ubl" uri="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"/>
|
13
|
+
<phase id="BIIRULEST10_phase">
|
14
|
+
<active pattern="BII-UBL-T10"/>
|
15
|
+
</phase>
|
16
|
+
<phase id="codelist_phase">
|
17
|
+
<active pattern="BII-CodesT10"/>
|
18
|
+
</phase>
|
19
|
+
<!-- Abstract CEN BII patterns -->
|
20
|
+
<!-- ========================= -->
|
21
|
+
<include href="abstract/BIIRULES-T10.sch"/>
|
22
|
+
<!-- Data Binding parameters -->
|
23
|
+
<!-- ======================= -->
|
24
|
+
<include href="UBL/BIIRULES-UBL-T10.sch"/>
|
25
|
+
<!-- Code Lists Binding rules -->
|
26
|
+
<!-- ======================== -->
|
27
|
+
<include href="codelist/BIIRULESCodesT10-UBL.sch"/>
|
28
|
+
</schema>
|
@@ -0,0 +1,1186 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
2
|
+
<axsl:stylesheet xmlns:axsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:iso="http://purl.oclc.org/dsdl/schematron" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" version="1.0"><!--Implementers: please note that overriding process-prolog or process-root is
|
3
|
+
the preferred method for meta-stylesheets to use where possible. -->
|
4
|
+
|
5
|
+
<axsl:param name="archiveDirParameter"/>
|
6
|
+
<axsl:param name="archiveNameParameter"/>
|
7
|
+
<axsl:param name="fileNameParameter"/>
|
8
|
+
<axsl:param name="fileDirParameter"/>
|
9
|
+
|
10
|
+
<!--PHASES-->
|
11
|
+
|
12
|
+
|
13
|
+
<!--PROLOG-->
|
14
|
+
|
15
|
+
<axsl:output xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" method="xml" omit-xml-declaration="no" standalone="yes" indent="yes"/>
|
16
|
+
|
17
|
+
<!--KEYS-->
|
18
|
+
|
19
|
+
|
20
|
+
<!--DEFAULT RULES-->
|
21
|
+
|
22
|
+
|
23
|
+
<!--MODE: SCHEMATRON-SELECT-FULL-PATH-->
|
24
|
+
<!--This mode can be used to generate an ugly though full XPath for locators-->
|
25
|
+
|
26
|
+
<axsl:template match="*" mode="schematron-select-full-path">
|
27
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
28
|
+
</axsl:template>
|
29
|
+
|
30
|
+
<!--MODE: SCHEMATRON-FULL-PATH-->
|
31
|
+
<!--This mode can be used to generate an ugly though full XPath for locators-->
|
32
|
+
|
33
|
+
<axsl:template match="*" mode="schematron-get-full-path">
|
34
|
+
<axsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
|
35
|
+
<axsl:text>/</axsl:text>
|
36
|
+
<axsl:choose>
|
37
|
+
<axsl:when test="namespace-uri()=''">
|
38
|
+
<axsl:value-of select="name()"/>
|
39
|
+
<axsl:variable name="p_1" select="1+ count(preceding-sibling::*[name()=name(current())])"/>
|
40
|
+
<axsl:if test="$p_1>1 or following-sibling::*[name()=name(current())]">[<axsl:value-of select="$p_1"/>]</axsl:if>
|
41
|
+
</axsl:when>
|
42
|
+
<axsl:otherwise>
|
43
|
+
<axsl:text>*[local-name()='</axsl:text>
|
44
|
+
<axsl:value-of select="local-name()"/>
|
45
|
+
<axsl:text>' and namespace-uri()='</axsl:text>
|
46
|
+
<axsl:value-of select="namespace-uri()"/>
|
47
|
+
<axsl:text>']</axsl:text>
|
48
|
+
<axsl:variable name="p_2" select="1+ count(preceding-sibling::*[local-name()=local-name(current())])"/>
|
49
|
+
<axsl:if test="$p_2>1 or following-sibling::*[local-name()=local-name(current())]">[<axsl:value-of select="$p_2"/>]</axsl:if>
|
50
|
+
</axsl:otherwise>
|
51
|
+
</axsl:choose>
|
52
|
+
</axsl:template>
|
53
|
+
<axsl:template match="@*" mode="schematron-get-full-path">
|
54
|
+
<axsl:text>/</axsl:text>
|
55
|
+
<axsl:choose>
|
56
|
+
<axsl:when test="namespace-uri()=''">@<axsl:value-of select="name()"/>
|
57
|
+
</axsl:when>
|
58
|
+
<axsl:otherwise>
|
59
|
+
<axsl:text>@*[local-name()='</axsl:text>
|
60
|
+
<axsl:value-of select="local-name()"/>
|
61
|
+
<axsl:text>' and namespace-uri()='</axsl:text>
|
62
|
+
<axsl:value-of select="namespace-uri()"/>
|
63
|
+
<axsl:text>']</axsl:text>
|
64
|
+
</axsl:otherwise>
|
65
|
+
</axsl:choose>
|
66
|
+
</axsl:template>
|
67
|
+
|
68
|
+
<!--MODE: SCHEMATRON-FULL-PATH-2-->
|
69
|
+
<!--This mode can be used to generate prefixed XPath for humans-->
|
70
|
+
|
71
|
+
<axsl:template match="node() | @*" mode="schematron-get-full-path-2">
|
72
|
+
<axsl:for-each select="ancestor-or-self::*">
|
73
|
+
<axsl:text>/</axsl:text>
|
74
|
+
<axsl:value-of select="name(.)"/>
|
75
|
+
<axsl:if test="preceding-sibling::*[name(.)=name(current())]">
|
76
|
+
<axsl:text>[</axsl:text>
|
77
|
+
<axsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
|
78
|
+
<axsl:text>]</axsl:text>
|
79
|
+
</axsl:if>
|
80
|
+
</axsl:for-each>
|
81
|
+
<axsl:if test="not(self::*)">
|
82
|
+
<axsl:text/>/@<axsl:value-of select="name(.)"/>
|
83
|
+
</axsl:if>
|
84
|
+
</axsl:template>
|
85
|
+
|
86
|
+
<!--MODE: GENERATE-ID-FROM-PATH -->
|
87
|
+
|
88
|
+
<axsl:template match="/" mode="generate-id-from-path"/>
|
89
|
+
<axsl:template match="text()" mode="generate-id-from-path">
|
90
|
+
<axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
|
91
|
+
<axsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/>
|
92
|
+
</axsl:template>
|
93
|
+
<axsl:template match="comment()" mode="generate-id-from-path">
|
94
|
+
<axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
|
95
|
+
<axsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/>
|
96
|
+
</axsl:template>
|
97
|
+
<axsl:template match="processing-instruction()" mode="generate-id-from-path">
|
98
|
+
<axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
|
99
|
+
<axsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/>
|
100
|
+
</axsl:template>
|
101
|
+
<axsl:template match="@*" mode="generate-id-from-path">
|
102
|
+
<axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
|
103
|
+
<axsl:value-of select="concat('.@', name())"/>
|
104
|
+
</axsl:template>
|
105
|
+
<axsl:template match="*" mode="generate-id-from-path" priority="-0.5">
|
106
|
+
<axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
|
107
|
+
<axsl:text>.</axsl:text>
|
108
|
+
<axsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/>
|
109
|
+
</axsl:template><!--MODE: SCHEMATRON-FULL-PATH-3-->
|
110
|
+
<!--This mode can be used to generate prefixed XPath for humans
|
111
|
+
(Top-level element has index)-->
|
112
|
+
|
113
|
+
<axsl:template match="node() | @*" mode="schematron-get-full-path-3">
|
114
|
+
<axsl:for-each select="ancestor-or-self::*">
|
115
|
+
<axsl:text>/</axsl:text>
|
116
|
+
<axsl:value-of select="name(.)"/>
|
117
|
+
<axsl:if test="parent::*">
|
118
|
+
<axsl:text>[</axsl:text>
|
119
|
+
<axsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
|
120
|
+
<axsl:text>]</axsl:text>
|
121
|
+
</axsl:if>
|
122
|
+
</axsl:for-each>
|
123
|
+
<axsl:if test="not(self::*)">
|
124
|
+
<axsl:text/>/@<axsl:value-of select="name(.)"/>
|
125
|
+
</axsl:if>
|
126
|
+
</axsl:template>
|
127
|
+
|
128
|
+
<!--MODE: GENERATE-ID-2 -->
|
129
|
+
|
130
|
+
<axsl:template match="/" mode="generate-id-2">U</axsl:template>
|
131
|
+
<axsl:template match="*" mode="generate-id-2" priority="2">
|
132
|
+
<axsl:text>U</axsl:text>
|
133
|
+
<axsl:number level="multiple" count="*"/>
|
134
|
+
</axsl:template>
|
135
|
+
<axsl:template match="node()" mode="generate-id-2">
|
136
|
+
<axsl:text>U.</axsl:text>
|
137
|
+
<axsl:number level="multiple" count="*"/>
|
138
|
+
<axsl:text>n</axsl:text>
|
139
|
+
<axsl:number count="node()"/>
|
140
|
+
</axsl:template>
|
141
|
+
<axsl:template match="@*" mode="generate-id-2">
|
142
|
+
<axsl:text>U.</axsl:text>
|
143
|
+
<axsl:number level="multiple" count="*"/>
|
144
|
+
<axsl:text>_</axsl:text>
|
145
|
+
<axsl:value-of select="string-length(local-name(.))"/>
|
146
|
+
<axsl:text>_</axsl:text>
|
147
|
+
<axsl:value-of select="translate(name(),':','.')"/>
|
148
|
+
</axsl:template><!--Strip characters-->
|
149
|
+
<axsl:template match="text()" priority="-1"/>
|
150
|
+
|
151
|
+
<!--SCHEMA METADATA-->
|
152
|
+
|
153
|
+
<axsl:template match="/">
|
154
|
+
<svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" title="BIIRULES T10 bound to UBL" schemaVersion="">
|
155
|
+
<axsl:comment>
|
156
|
+
<axsl:value-of select="$archiveDirParameter"/>
|
157
|
+
<axsl:value-of select="$archiveNameParameter"/>
|
158
|
+
<axsl:value-of select="$fileNameParameter"/>
|
159
|
+
<axsl:value-of select="$fileDirParameter"/>
|
160
|
+
</axsl:comment>
|
161
|
+
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" prefix="cbc"/>
|
162
|
+
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" prefix="cac"/>
|
163
|
+
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" prefix="ubl"/>
|
164
|
+
<svrl:active-pattern>
|
165
|
+
<axsl:attribute name="id">BII-UBL-T10</axsl:attribute>
|
166
|
+
<axsl:attribute name="name">BII-UBL-T10</axsl:attribute>
|
167
|
+
<axsl:apply-templates/>
|
168
|
+
</svrl:active-pattern>
|
169
|
+
<axsl:apply-templates select="/" mode="M6"/>
|
170
|
+
<svrl:active-pattern>
|
171
|
+
<axsl:attribute name="id">BII-CodesT10</axsl:attribute>
|
172
|
+
<axsl:attribute name="name">BII-CodesT10</axsl:attribute>
|
173
|
+
<axsl:apply-templates/>
|
174
|
+
</svrl:active-pattern>
|
175
|
+
<axsl:apply-templates select="/" mode="M7"/>
|
176
|
+
</svrl:schematron-output>
|
177
|
+
</axsl:template>
|
178
|
+
|
179
|
+
<!--SCHEMATRON PATTERNS-->
|
180
|
+
|
181
|
+
<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron">BIIRULES T10 bound to UBL</svrl:text>
|
182
|
+
|
183
|
+
<!--PATTERN BII-UBL-T10-->
|
184
|
+
|
185
|
+
|
186
|
+
<!--RULE -->
|
187
|
+
|
188
|
+
<axsl:template match="/ubl:Invoice/cac:AllowanceCharge" priority="1006" mode="M6">
|
189
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="/ubl:Invoice/cac:AllowanceCharge"/>
|
190
|
+
|
191
|
+
<!--ASSERT -->
|
192
|
+
|
193
|
+
<axsl:choose>
|
194
|
+
<axsl:when test="(cbc:AllowanceChargeReason)"/>
|
195
|
+
<axsl:otherwise>
|
196
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:AllowanceChargeReason)">
|
197
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
198
|
+
<axsl:attribute name="location">
|
199
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
200
|
+
</axsl:attribute>
|
201
|
+
<svrl:text>[BII2-T10-R025]-Each document level allowance or charge details MUST have an allowance and charge reason text</svrl:text>
|
202
|
+
</svrl:failed-assert>
|
203
|
+
</axsl:otherwise>
|
204
|
+
</axsl:choose>
|
205
|
+
|
206
|
+
<!--ASSERT -->
|
207
|
+
|
208
|
+
<axsl:choose>
|
209
|
+
<axsl:when test="(/ubl:Invoice/cac:TaxTotal/*/*/*/cbc:ID = 'VAT') and (cac:TaxCategory/cbc:ID)"/>
|
210
|
+
<axsl:otherwise>
|
211
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(/ubl:Invoice/cac:TaxTotal/*/*/*/cbc:ID = 'VAT') and (cac:TaxCategory/cbc:ID)">
|
212
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
213
|
+
<axsl:attribute name="location">
|
214
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
215
|
+
</axsl:attribute>
|
216
|
+
<svrl:text>[BII2-T10-R043]-Document level allowances and charges details MUST have allowance and charge VAT category if the invoice has a VAT total amount</svrl:text>
|
217
|
+
</svrl:failed-assert>
|
218
|
+
</axsl:otherwise>
|
219
|
+
</axsl:choose>
|
220
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
|
221
|
+
</axsl:template>
|
222
|
+
|
223
|
+
<!--RULE -->
|
224
|
+
|
225
|
+
<axsl:template match="/ubl:Invoice" priority="1005" mode="M6">
|
226
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="/ubl:Invoice"/>
|
227
|
+
|
228
|
+
<!--ASSERT -->
|
229
|
+
|
230
|
+
<axsl:choose>
|
231
|
+
<axsl:when test="(cbc:CustomizationID)"/>
|
232
|
+
<axsl:otherwise>
|
233
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:CustomizationID)">
|
234
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
235
|
+
<axsl:attribute name="location">
|
236
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
237
|
+
</axsl:attribute>
|
238
|
+
<svrl:text>[BII2-T10-R001]-An invoice MUST have a customization identifier</svrl:text>
|
239
|
+
</svrl:failed-assert>
|
240
|
+
</axsl:otherwise>
|
241
|
+
</axsl:choose>
|
242
|
+
|
243
|
+
<!--ASSERT -->
|
244
|
+
|
245
|
+
<axsl:choose>
|
246
|
+
<axsl:when test="(cbc:ProfileID)"/>
|
247
|
+
<axsl:otherwise>
|
248
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:ProfileID)">
|
249
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
250
|
+
<axsl:attribute name="location">
|
251
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
252
|
+
</axsl:attribute>
|
253
|
+
<svrl:text>[BII2-T10-R002]-An invoice MUST have a business profile identifier</svrl:text>
|
254
|
+
</svrl:failed-assert>
|
255
|
+
</axsl:otherwise>
|
256
|
+
</axsl:choose>
|
257
|
+
|
258
|
+
<!--ASSERT -->
|
259
|
+
|
260
|
+
<axsl:choose>
|
261
|
+
<axsl:when test="(cbc:ID)"/>
|
262
|
+
<axsl:otherwise>
|
263
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:ID)">
|
264
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
265
|
+
<axsl:attribute name="location">
|
266
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
267
|
+
</axsl:attribute>
|
268
|
+
<svrl:text>[BII2-T10-R003]-An invoice MUST have an invoice identifier</svrl:text>
|
269
|
+
</svrl:failed-assert>
|
270
|
+
</axsl:otherwise>
|
271
|
+
</axsl:choose>
|
272
|
+
|
273
|
+
<!--ASSERT -->
|
274
|
+
|
275
|
+
<axsl:choose>
|
276
|
+
<axsl:when test="(cbc:IssueDate)"/>
|
277
|
+
<axsl:otherwise>
|
278
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:IssueDate)">
|
279
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
280
|
+
<axsl:attribute name="location">
|
281
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
282
|
+
</axsl:attribute>
|
283
|
+
<svrl:text>[BII2-T10-R004]-An invoice MUST have an invoice issue date</svrl:text>
|
284
|
+
</svrl:failed-assert>
|
285
|
+
</axsl:otherwise>
|
286
|
+
</axsl:choose>
|
287
|
+
|
288
|
+
<!--ASSERT -->
|
289
|
+
|
290
|
+
<axsl:choose>
|
291
|
+
<axsl:when test="(cbc:DocumentCurrencyCode)"/>
|
292
|
+
<axsl:otherwise>
|
293
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:DocumentCurrencyCode)">
|
294
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
295
|
+
<axsl:attribute name="location">
|
296
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
297
|
+
</axsl:attribute>
|
298
|
+
<svrl:text>[BII2-T10-R005]-An invoice MUST specify the currency code for the document</svrl:text>
|
299
|
+
</svrl:failed-assert>
|
300
|
+
</axsl:otherwise>
|
301
|
+
</axsl:choose>
|
302
|
+
|
303
|
+
<!--ASSERT -->
|
304
|
+
|
305
|
+
<axsl:choose>
|
306
|
+
<axsl:when test="(cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name) or (cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID)"/>
|
307
|
+
<axsl:otherwise>
|
308
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name) or (cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID)">
|
309
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
310
|
+
<axsl:attribute name="location">
|
311
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
312
|
+
</axsl:attribute>
|
313
|
+
<svrl:text>[BII2-T10-R006]-An invoice MUST have a seller name and/or a seller identifier</svrl:text>
|
314
|
+
</svrl:failed-assert>
|
315
|
+
</axsl:otherwise>
|
316
|
+
</axsl:choose>
|
317
|
+
|
318
|
+
<!--ASSERT -->
|
319
|
+
|
320
|
+
<axsl:choose>
|
321
|
+
<axsl:when test="(cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name) or (cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID)"/>
|
322
|
+
<axsl:otherwise>
|
323
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name) or (cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID)">
|
324
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
325
|
+
<axsl:attribute name="location">
|
326
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
327
|
+
</axsl:attribute>
|
328
|
+
<svrl:text>[BII2-T10-R008]-An invoice MUST have a buyer name and/or a buyer identifier</svrl:text>
|
329
|
+
</svrl:failed-assert>
|
330
|
+
</axsl:otherwise>
|
331
|
+
</axsl:choose>
|
332
|
+
|
333
|
+
<!--ASSERT -->
|
334
|
+
|
335
|
+
<axsl:choose>
|
336
|
+
<axsl:when test="(cac:LegalMonetaryTotal/cbc:LineExtensionAmount)"/>
|
337
|
+
<axsl:otherwise>
|
338
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:LegalMonetaryTotal/cbc:LineExtensionAmount)">
|
339
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
340
|
+
<axsl:attribute name="location">
|
341
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
342
|
+
</axsl:attribute>
|
343
|
+
<svrl:text>[BII2-T10-R010]-An invoice MUST have the sum of line amounts</svrl:text>
|
344
|
+
</svrl:failed-assert>
|
345
|
+
</axsl:otherwise>
|
346
|
+
</axsl:choose>
|
347
|
+
|
348
|
+
<!--ASSERT -->
|
349
|
+
|
350
|
+
<axsl:choose>
|
351
|
+
<axsl:when test="(cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount)"/>
|
352
|
+
<axsl:otherwise>
|
353
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount)">
|
354
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
355
|
+
<axsl:attribute name="location">
|
356
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
357
|
+
</axsl:attribute>
|
358
|
+
<svrl:text>[BII2-T10-R011]-An invoice MUST have the invoice total without VAT</svrl:text>
|
359
|
+
</svrl:failed-assert>
|
360
|
+
</axsl:otherwise>
|
361
|
+
</axsl:choose>
|
362
|
+
|
363
|
+
<!--ASSERT -->
|
364
|
+
|
365
|
+
<axsl:choose>
|
366
|
+
<axsl:when test="(cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount)"/>
|
367
|
+
<axsl:otherwise>
|
368
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount)">
|
369
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
370
|
+
<axsl:attribute name="location">
|
371
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
372
|
+
</axsl:attribute>
|
373
|
+
<svrl:text>[BII2-T10-R012]-An invoice MUST have the invoice total with VAT (value of purchase)</svrl:text>
|
374
|
+
</svrl:failed-assert>
|
375
|
+
</axsl:otherwise>
|
376
|
+
</axsl:choose>
|
377
|
+
|
378
|
+
<!--ASSERT -->
|
379
|
+
|
380
|
+
<axsl:choose>
|
381
|
+
<axsl:when test="(cac:LegalMonetaryTotal/cbc:PayableAmount)"/>
|
382
|
+
<axsl:otherwise>
|
383
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:LegalMonetaryTotal/cbc:PayableAmount)">
|
384
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
385
|
+
<axsl:attribute name="location">
|
386
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
387
|
+
</axsl:attribute>
|
388
|
+
<svrl:text>[BII2-T10-R013]-An invoice MUST have the amount due for payment</svrl:text>
|
389
|
+
</svrl:failed-assert>
|
390
|
+
</axsl:otherwise>
|
391
|
+
</axsl:choose>
|
392
|
+
|
393
|
+
<!--ASSERT -->
|
394
|
+
|
395
|
+
<axsl:choose>
|
396
|
+
<axsl:when test="(cac:InvoiceLine)"/>
|
397
|
+
<axsl:otherwise>
|
398
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:InvoiceLine)">
|
399
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
400
|
+
<axsl:attribute name="location">
|
401
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
402
|
+
</axsl:attribute>
|
403
|
+
<svrl:text>[BII2-T10-R014]-An invoice MUST have at least one invoice line</svrl:text>
|
404
|
+
</svrl:failed-assert>
|
405
|
+
</axsl:otherwise>
|
406
|
+
</axsl:choose>
|
407
|
+
|
408
|
+
<!--ASSERT -->
|
409
|
+
|
410
|
+
<axsl:choose>
|
411
|
+
<axsl:when test="(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']/cbc:TaxAmount) or not(cac:InvoiceLine/cac:TaxTotal)"/>
|
412
|
+
<axsl:otherwise>
|
413
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']/cbc:TaxAmount) or not(cac:InvoiceLine/cac:TaxTotal)">
|
414
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
415
|
+
<axsl:attribute name="location">
|
416
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
417
|
+
</axsl:attribute>
|
418
|
+
<svrl:text>[BII2-T10-R015]-An invoice MUST specify the VAT total amount, if there are VAT line amounts</svrl:text>
|
419
|
+
</svrl:failed-assert>
|
420
|
+
</axsl:otherwise>
|
421
|
+
</axsl:choose>
|
422
|
+
|
423
|
+
<!--ASSERT -->
|
424
|
+
|
425
|
+
<axsl:choose>
|
426
|
+
<axsl:when test="(//cac:TaxScheme/cbc:ID = 'VAT') or not(/ubl:Invoice/cac:TaxTotal/cbc:TaxAmount)"/>
|
427
|
+
<axsl:otherwise>
|
428
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(//cac:TaxScheme/cbc:ID = 'VAT') or not(/ubl:Invoice/cac:TaxTotal/cbc:TaxAmount)">
|
429
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
430
|
+
<axsl:attribute name="location">
|
431
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
432
|
+
</axsl:attribute>
|
433
|
+
<svrl:text>[BII2-T10-R026]-An invoice MUST contain VAT category details unless VAT total amount is omitted.</svrl:text>
|
434
|
+
</svrl:failed-assert>
|
435
|
+
</axsl:otherwise>
|
436
|
+
</axsl:choose>
|
437
|
+
|
438
|
+
<!--ASSERT -->
|
439
|
+
|
440
|
+
<axsl:choose>
|
441
|
+
<axsl:when test="number(cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount) >= 0"/>
|
442
|
+
<axsl:otherwise>
|
443
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="number(cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount) >= 0">
|
444
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
445
|
+
<axsl:attribute name="location">
|
446
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
447
|
+
</axsl:attribute>
|
448
|
+
<svrl:text>[BII2-T10-R035]-Invoice total with VAT MUST NOT be negative</svrl:text>
|
449
|
+
</svrl:failed-assert>
|
450
|
+
</axsl:otherwise>
|
451
|
+
</axsl:choose>
|
452
|
+
|
453
|
+
<!--ASSERT -->
|
454
|
+
|
455
|
+
<axsl:choose>
|
456
|
+
<axsl:when test="number(cac:LegalMonetaryTotal/cbc:PayableAmount) >= 0"/>
|
457
|
+
<axsl:otherwise>
|
458
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="number(cac:LegalMonetaryTotal/cbc:PayableAmount) >= 0">
|
459
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
460
|
+
<axsl:attribute name="location">
|
461
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
462
|
+
</axsl:attribute>
|
463
|
+
<svrl:text>[BII2-T10-R037]-Amount due for payment in an invoice MUST NOT be negative</svrl:text>
|
464
|
+
</svrl:failed-assert>
|
465
|
+
</axsl:otherwise>
|
466
|
+
</axsl:choose>
|
467
|
+
|
468
|
+
<!--ASSERT -->
|
469
|
+
|
470
|
+
<axsl:choose>
|
471
|
+
<axsl:when test="(cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or not(cac:TaxTotal/*/*/*/cbc:ID = 'VAT')"/>
|
472
|
+
<axsl:otherwise>
|
473
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or not(cac:TaxTotal/*/*/*/cbc:ID = 'VAT')">
|
474
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
475
|
+
<axsl:attribute name="location">
|
476
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
477
|
+
</axsl:attribute>
|
478
|
+
<svrl:text>[BII2-T10-R044]-A seller VAT identifier MUST be provided if the invoice has a VAT total amount</svrl:text>
|
479
|
+
</svrl:failed-assert>
|
480
|
+
</axsl:otherwise>
|
481
|
+
</axsl:choose>
|
482
|
+
|
483
|
+
<!--ASSERT -->
|
484
|
+
|
485
|
+
<axsl:choose>
|
486
|
+
<axsl:when test="(cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or not(cac:TaxTotal/*/*/cbc:ID = 'AE')"/>
|
487
|
+
<axsl:otherwise>
|
488
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or not(cac:TaxTotal/*/*/cbc:ID = 'AE')">
|
489
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
490
|
+
<axsl:attribute name="location">
|
491
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
492
|
+
</axsl:attribute>
|
493
|
+
<svrl:text>[BII2-T10-R047]-A buyer VAT identifier MUST be present if the VAT category code is reverse VAT</svrl:text>
|
494
|
+
</svrl:failed-assert>
|
495
|
+
</axsl:otherwise>
|
496
|
+
</axsl:choose>
|
497
|
+
|
498
|
+
<!--ASSERT -->
|
499
|
+
|
500
|
+
<axsl:choose>
|
501
|
+
<axsl:when test="(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cbc:ID = 'AE']/cbc:TaxableAmount = (cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount)) or not(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cbc:ID = 'AE']/cbc:TaxableAmount)"/>
|
502
|
+
<axsl:otherwise>
|
503
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cbc:ID = 'AE']/cbc:TaxableAmount = (cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount)) or not(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cbc:ID = 'AE']/cbc:TaxableAmount)">
|
504
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
505
|
+
<axsl:attribute name="location">
|
506
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
507
|
+
</axsl:attribute>
|
508
|
+
<svrl:text>[BII2-T10-R049]-The invoice total without VAT MUST be equal to the VAT category taxable amount if the VAT category code is reverse charge</svrl:text>
|
509
|
+
</svrl:failed-assert>
|
510
|
+
</axsl:otherwise>
|
511
|
+
</axsl:choose>
|
512
|
+
|
513
|
+
<!--ASSERT -->
|
514
|
+
|
515
|
+
<axsl:choose>
|
516
|
+
<axsl:when test="(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cbc:ID = 'AE']/cbc:TaxAmount = 0) or not(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cbc:ID = 'AE']/cbc:TaxAmount)"/>
|
517
|
+
<axsl:otherwise>
|
518
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cbc:ID = 'AE']/cbc:TaxAmount = 0) or not(cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cbc:ID = 'AE']/cbc:TaxAmount)">
|
519
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
520
|
+
<axsl:attribute name="location">
|
521
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
522
|
+
</axsl:attribute>
|
523
|
+
<svrl:text>[BII2-T10-R050]-The VAT category tax amount MUST be zero if the VAT category code is reverse charge (since there is only one VAT category allowed it follows that the invoice tax total for reverse charge invoices is zero)</svrl:text>
|
524
|
+
</svrl:failed-assert>
|
525
|
+
</axsl:otherwise>
|
526
|
+
</axsl:choose>
|
527
|
+
|
528
|
+
<!--ASSERT -->
|
529
|
+
|
530
|
+
<axsl:choose>
|
531
|
+
<axsl:when test="count(child::cac:TaxTotal/*/*/cbc:ID) = count(child::cac:TaxTotal/*/*/cbc:ID[. = 'AE']) or count(child::cac:TaxTotal/*/*/cbc:ID[. = 'AE']) = 0"/>
|
532
|
+
<axsl:otherwise>
|
533
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="count(child::cac:TaxTotal/*/*/cbc:ID) = count(child::cac:TaxTotal/*/*/cbc:ID[. = 'AE']) or count(child::cac:TaxTotal/*/*/cbc:ID[. = 'AE']) = 0">
|
534
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
535
|
+
<axsl:attribute name="location">
|
536
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
537
|
+
</axsl:attribute>
|
538
|
+
<svrl:text>[BII2-T10-R048]-An invoice with a VAT category code of reverse charge MUST NOT contain other VAT categories.</svrl:text>
|
539
|
+
</svrl:failed-assert>
|
540
|
+
</axsl:otherwise>
|
541
|
+
</axsl:choose>
|
542
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
|
543
|
+
</axsl:template>
|
544
|
+
|
545
|
+
<!--RULE -->
|
546
|
+
|
547
|
+
<axsl:template match="//cac:InvoiceLine" priority="1004" mode="M6">
|
548
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="//cac:InvoiceLine"/>
|
549
|
+
|
550
|
+
<!--ASSERT -->
|
551
|
+
|
552
|
+
<axsl:choose>
|
553
|
+
<axsl:when test="(cbc:ID)"/>
|
554
|
+
<axsl:otherwise>
|
555
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:ID)">
|
556
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
557
|
+
<axsl:attribute name="location">
|
558
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
559
|
+
</axsl:attribute>
|
560
|
+
<svrl:text>[BII2-T10-R017]-Each invoice line MUST have an invoice line identifier</svrl:text>
|
561
|
+
</svrl:failed-assert>
|
562
|
+
</axsl:otherwise>
|
563
|
+
</axsl:choose>
|
564
|
+
|
565
|
+
<!--ASSERT -->
|
566
|
+
|
567
|
+
<axsl:choose>
|
568
|
+
<axsl:when test="(cbc:InvoicedQuantity)"/>
|
569
|
+
<axsl:otherwise>
|
570
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:InvoicedQuantity)">
|
571
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
572
|
+
<axsl:attribute name="location">
|
573
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
574
|
+
</axsl:attribute>
|
575
|
+
<svrl:text>[BII2-T10-R018]-Each invoice line MUST have an invoiced quantity</svrl:text>
|
576
|
+
</svrl:failed-assert>
|
577
|
+
</axsl:otherwise>
|
578
|
+
</axsl:choose>
|
579
|
+
|
580
|
+
<!--ASSERT -->
|
581
|
+
|
582
|
+
<axsl:choose>
|
583
|
+
<axsl:when test="(cbc:InvoicedQuantity/@unitCode)"/>
|
584
|
+
<axsl:otherwise>
|
585
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:InvoicedQuantity/@unitCode)">
|
586
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
587
|
+
<axsl:attribute name="location">
|
588
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
589
|
+
</axsl:attribute>
|
590
|
+
<svrl:text>[BII2-T10-R019]-Each invoice line MUST have a quantity unit of measure</svrl:text>
|
591
|
+
</svrl:failed-assert>
|
592
|
+
</axsl:otherwise>
|
593
|
+
</axsl:choose>
|
594
|
+
|
595
|
+
<!--ASSERT -->
|
596
|
+
|
597
|
+
<axsl:choose>
|
598
|
+
<axsl:when test="cbc:LineExtensionAmount"/>
|
599
|
+
<axsl:otherwise>
|
600
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="cbc:LineExtensionAmount">
|
601
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
602
|
+
<axsl:attribute name="location">
|
603
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
604
|
+
</axsl:attribute>
|
605
|
+
<svrl:text>[BII2-T10-R020]-Each invoice line MUST have an invoice line net amount</svrl:text>
|
606
|
+
</svrl:failed-assert>
|
607
|
+
</axsl:otherwise>
|
608
|
+
</axsl:choose>
|
609
|
+
|
610
|
+
<!--ASSERT -->
|
611
|
+
|
612
|
+
<axsl:choose>
|
613
|
+
<axsl:when test="(cac:Item/cbc:Name) or (cac:Item/cac:StandardItemIdentification/cbc:ID) or (cac:Item/cac:SellersItemIdentification/cbc:ID)"/>
|
614
|
+
<axsl:otherwise>
|
615
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:Item/cbc:Name) or (cac:Item/cac:StandardItemIdentification/cbc:ID) or (cac:Item/cac:SellersItemIdentification/cbc:ID)">
|
616
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
617
|
+
<axsl:attribute name="location">
|
618
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
619
|
+
</axsl:attribute>
|
620
|
+
<svrl:text>[BII2-T10-R021]-Each invoice line MUST have an invoice line item name and/or the invoice line item identifier</svrl:text>
|
621
|
+
</svrl:failed-assert>
|
622
|
+
</axsl:otherwise>
|
623
|
+
</axsl:choose>
|
624
|
+
|
625
|
+
<!--ASSERT -->
|
626
|
+
|
627
|
+
<axsl:choose>
|
628
|
+
<axsl:when test="(//cac:StandardItemIdentification/cbc:ID/@schemeID) or not(//cac:StandardItemIdentification)"/>
|
629
|
+
<axsl:otherwise>
|
630
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(//cac:StandardItemIdentification/cbc:ID/@schemeID) or not(//cac:StandardItemIdentification)">
|
631
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
632
|
+
<axsl:attribute name="location">
|
633
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
634
|
+
</axsl:attribute>
|
635
|
+
<svrl:text>[BII2-T10-R032]-A scheme identifier for the invoice line item registered identifier MUST be provided if invoice line item registered identifiers are used to identify a product.(e.g. GTIN)</svrl:text>
|
636
|
+
</svrl:failed-assert>
|
637
|
+
</axsl:otherwise>
|
638
|
+
</axsl:choose>
|
639
|
+
|
640
|
+
<!--ASSERT -->
|
641
|
+
|
642
|
+
<axsl:choose>
|
643
|
+
<axsl:when test="(//cac:CommodityClassification/cbc:ItemClassificationCode/@listID) or not(//cac:CommodityClassification)"/>
|
644
|
+
<axsl:otherwise>
|
645
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(//cac:CommodityClassification/cbc:ItemClassificationCode/@listID) or not(//cac:CommodityClassification)">
|
646
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
647
|
+
<axsl:attribute name="location">
|
648
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
649
|
+
</axsl:attribute>
|
650
|
+
<svrl:text>[BII2-T10-R033]-A scheme identifier for a invoice line item commodity classification MUST be provided if invoice line item commodity classification are used to classify an invoice line item (e.g. CPV or UNSPSC)</svrl:text>
|
651
|
+
</svrl:failed-assert>
|
652
|
+
</axsl:otherwise>
|
653
|
+
</axsl:choose>
|
654
|
+
|
655
|
+
<!--ASSERT -->
|
656
|
+
|
657
|
+
<axsl:choose>
|
658
|
+
<axsl:when test="number(cac:Price/cbc:PriceAmount) >= 0"/>
|
659
|
+
<axsl:otherwise>
|
660
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="number(cac:Price/cbc:PriceAmount) >= 0">
|
661
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
662
|
+
<axsl:attribute name="location">
|
663
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
664
|
+
</axsl:attribute>
|
665
|
+
<svrl:text>[BII2-T10-R034]-Invoice line item net price MUST NOT be negative</svrl:text>
|
666
|
+
</svrl:failed-assert>
|
667
|
+
</axsl:otherwise>
|
668
|
+
</axsl:choose>
|
669
|
+
|
670
|
+
<!--ASSERT -->
|
671
|
+
|
672
|
+
<axsl:choose>
|
673
|
+
<axsl:when test="(cac:Item/cac:ClassifiedTaxCategory/cbc:ID) or not(/ubl:Invoice/cac:TaxTotal/*/*/*/cbc:ID='VAT')"/>
|
674
|
+
<axsl:otherwise>
|
675
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:Item/cac:ClassifiedTaxCategory/cbc:ID) or not(/ubl:Invoice/cac:TaxTotal/*/*/*/cbc:ID='VAT')">
|
676
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
677
|
+
<axsl:attribute name="location">
|
678
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
679
|
+
</axsl:attribute>
|
680
|
+
<svrl:text>[BII2-T10-R046]-Each invoice line MUST be categorized with the invoice line VAT category if the invoice has a VAT total amount </svrl:text>
|
681
|
+
</svrl:failed-assert>
|
682
|
+
</axsl:otherwise>
|
683
|
+
</axsl:choose>
|
684
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
|
685
|
+
</axsl:template>
|
686
|
+
|
687
|
+
<!--RULE -->
|
688
|
+
|
689
|
+
<axsl:template match="//cac:InvoicePeriod" priority="1003" mode="M6">
|
690
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="//cac:InvoicePeriod"/>
|
691
|
+
|
692
|
+
<!--ASSERT -->
|
693
|
+
|
694
|
+
<axsl:choose>
|
695
|
+
<axsl:when test="(cbc:StartDate)"/>
|
696
|
+
<axsl:otherwise>
|
697
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:StartDate)">
|
698
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
699
|
+
<axsl:attribute name="location">
|
700
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
701
|
+
</axsl:attribute>
|
702
|
+
<svrl:text>[BII2-T10-R023]-Each invoice period information MUST have an invoice period start date</svrl:text>
|
703
|
+
</svrl:failed-assert>
|
704
|
+
</axsl:otherwise>
|
705
|
+
</axsl:choose>
|
706
|
+
|
707
|
+
<!--ASSERT -->
|
708
|
+
|
709
|
+
<axsl:choose>
|
710
|
+
<axsl:when test="(cbc:EndDate)"/>
|
711
|
+
<axsl:otherwise>
|
712
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:EndDate)">
|
713
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
714
|
+
<axsl:attribute name="location">
|
715
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
716
|
+
</axsl:attribute>
|
717
|
+
<svrl:text>[BII2-T10-R024]-Each invoice period information MUST have an invoice period end date</svrl:text>
|
718
|
+
</svrl:failed-assert>
|
719
|
+
</axsl:otherwise>
|
720
|
+
</axsl:choose>
|
721
|
+
|
722
|
+
<!--ASSERT -->
|
723
|
+
|
724
|
+
<axsl:choose>
|
725
|
+
<axsl:when test="(cbc:StartDate and cbc:EndDate) and (number(translate(cbc:StartDate,'-','')) <= number(translate(cbc:EndDate,'-','')))"/>
|
726
|
+
<axsl:otherwise>
|
727
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:StartDate and cbc:EndDate) and (number(translate(cbc:StartDate,'-','')) <= number(translate(cbc:EndDate,'-','')))">
|
728
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
729
|
+
<axsl:attribute name="location">
|
730
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
731
|
+
</axsl:attribute>
|
732
|
+
<svrl:text>[BII2-T10-R031]-An invoice period end date MUST be later or equal to an invoice period start date</svrl:text>
|
733
|
+
</svrl:failed-assert>
|
734
|
+
</axsl:otherwise>
|
735
|
+
</axsl:choose>
|
736
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
|
737
|
+
</axsl:template>
|
738
|
+
|
739
|
+
<!--RULE -->
|
740
|
+
|
741
|
+
<axsl:template match="//cac:PaymentMeans" priority="1002" mode="M6">
|
742
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="//cac:PaymentMeans"/>
|
743
|
+
|
744
|
+
<!--ASSERT -->
|
745
|
+
|
746
|
+
<axsl:choose>
|
747
|
+
<axsl:when test="((cbc:PaymentMeansCode = '31') and (cac:PayeeFinancialAccount/cbc:ID)) or (cbc:PaymentMeansCode != '31')"/>
|
748
|
+
<axsl:otherwise>
|
749
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="((cbc:PaymentMeansCode = '31') and (cac:PayeeFinancialAccount/cbc:ID)) or (cbc:PaymentMeansCode != '31')">
|
750
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
751
|
+
<axsl:attribute name="location">
|
752
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
753
|
+
</axsl:attribute>
|
754
|
+
<svrl:text>[BII2-T10-R039]-An account identifier MUST be present if payment means type is funds transfer</svrl:text>
|
755
|
+
</svrl:failed-assert>
|
756
|
+
</axsl:otherwise>
|
757
|
+
</axsl:choose>
|
758
|
+
|
759
|
+
<!--ASSERT -->
|
760
|
+
|
761
|
+
<axsl:choose>
|
762
|
+
<axsl:when test="(cac:PayeeFinancialAccount/cbc:ID/@schemeID and (cac:PayeeFinancialAccount/cbc:ID/@schemeID = 'IBAN') and cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:FinancialInstitution/cbc:ID) or (cac:PayeeFinancialAccount/cbc:ID/@schemeID != 'IBAN') or (not(cac:PayeeFinancialAccount/cbc:ID/@schemeID))"/>
|
763
|
+
<axsl:otherwise>
|
764
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:PayeeFinancialAccount/cbc:ID/@schemeID and (cac:PayeeFinancialAccount/cbc:ID/@schemeID = 'IBAN') and cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:FinancialInstitution/cbc:ID) or (cac:PayeeFinancialAccount/cbc:ID/@schemeID != 'IBAN') or (not(cac:PayeeFinancialAccount/cbc:ID/@schemeID))">
|
765
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
766
|
+
<axsl:attribute name="location">
|
767
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
768
|
+
</axsl:attribute>
|
769
|
+
<svrl:text>[BII2-T10-R040]-A sellers financial institution identifier MUST be provided if the scheme of the account identifier is IBAN and the payment means is international bank transfer</svrl:text>
|
770
|
+
</svrl:failed-assert>
|
771
|
+
</axsl:otherwise>
|
772
|
+
</axsl:choose>
|
773
|
+
|
774
|
+
<!--ASSERT -->
|
775
|
+
|
776
|
+
<axsl:choose>
|
777
|
+
<axsl:when test="(cbc:PaymentMeansCode)"/>
|
778
|
+
<axsl:otherwise>
|
779
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:PaymentMeansCode)">
|
780
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
781
|
+
<axsl:attribute name="location">
|
782
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
783
|
+
</axsl:attribute>
|
784
|
+
<svrl:text>[BII2-T10-R041]-A payment means MUST specify the payment means type</svrl:text>
|
785
|
+
</svrl:failed-assert>
|
786
|
+
</axsl:otherwise>
|
787
|
+
</axsl:choose>
|
788
|
+
|
789
|
+
<!--ASSERT -->
|
790
|
+
|
791
|
+
<axsl:choose>
|
792
|
+
<axsl:when test="(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:FinancialInstitution/cbc:ID/@schemeID='BIC') and (cac:PayeeFinancialAccount/cbc:ID/@schemeID = 'IBAN') or not(cac:PayeeFinancialAccount/cbc:ID/@schemeID = 'IBAN')"/>
|
793
|
+
<axsl:otherwise>
|
794
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:FinancialInstitution/cbc:ID/@schemeID='BIC') and (cac:PayeeFinancialAccount/cbc:ID/@schemeID = 'IBAN') or not(cac:PayeeFinancialAccount/cbc:ID/@schemeID = 'IBAN')">
|
795
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
796
|
+
<axsl:attribute name="location">
|
797
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
798
|
+
</axsl:attribute>
|
799
|
+
<svrl:text>[BII2-T10-R042]-A sellers financial institution identifier scheme MUST be BIC if the scheme of the account identifier is IBAN and the payment means type is international account transfer </svrl:text>
|
800
|
+
</svrl:failed-assert>
|
801
|
+
</axsl:otherwise>
|
802
|
+
</axsl:choose>
|
803
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
|
804
|
+
</axsl:template>
|
805
|
+
|
806
|
+
<!--RULE -->
|
807
|
+
|
808
|
+
<axsl:template match="//cac:LegalMonetaryTotal" priority="1001" mode="M6">
|
809
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="//cac:LegalMonetaryTotal"/>
|
810
|
+
|
811
|
+
<!--ASSERT -->
|
812
|
+
|
813
|
+
<axsl:choose>
|
814
|
+
<axsl:when test="number(cbc:LineExtensionAmount) = number(round(sum(//cac:InvoiceLine/cbc:LineExtensionAmount) * 10 * 10) div 100)"/>
|
815
|
+
<axsl:otherwise>
|
816
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="number(cbc:LineExtensionAmount) = number(round(sum(//cac:InvoiceLine/cbc:LineExtensionAmount) * 10 * 10) div 100)">
|
817
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
818
|
+
<axsl:attribute name="location">
|
819
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
820
|
+
</axsl:attribute>
|
821
|
+
<svrl:text>[BII2-T10-R051]-Sum of line amounts MUST equal the invoice line net amounts</svrl:text>
|
822
|
+
</svrl:failed-assert>
|
823
|
+
</axsl:otherwise>
|
824
|
+
</axsl:choose>
|
825
|
+
|
826
|
+
<!--ASSERT -->
|
827
|
+
|
828
|
+
<axsl:choose>
|
829
|
+
<axsl:when test="((cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (number(cbc:TaxExclusiveAmount) = round((number(cbc:LineExtensionAmount) + number(cbc:ChargeTotalAmount) - number(cbc:AllowanceTotalAmount)) * 10 * 10) div 100 )) or (not(cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (number(cbc:TaxExclusiveAmount) = round((number(cbc:LineExtensionAmount) - number(cbc:AllowanceTotalAmount)) * 10 * 10 ) div 100)) or ((cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (number(cbc:TaxExclusiveAmount) = round((number(cbc:LineExtensionAmount) + number(cbc:ChargeTotalAmount)) * 10 * 10 ) div 100)) or (not(cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (number(cbc:TaxExclusiveAmount) = number(cbc:LineExtensionAmount)))"/>
|
830
|
+
<axsl:otherwise>
|
831
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="((cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (number(cbc:TaxExclusiveAmount) = round((number(cbc:LineExtensionAmount) + number(cbc:ChargeTotalAmount) - number(cbc:AllowanceTotalAmount)) * 10 * 10) div 100 )) or (not(cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (number(cbc:TaxExclusiveAmount) = round((number(cbc:LineExtensionAmount) - number(cbc:AllowanceTotalAmount)) * 10 * 10 ) div 100)) or ((cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (number(cbc:TaxExclusiveAmount) = round((number(cbc:LineExtensionAmount) + number(cbc:ChargeTotalAmount)) * 10 * 10 ) div 100)) or (not(cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (number(cbc:TaxExclusiveAmount) = number(cbc:LineExtensionAmount)))">
|
832
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
833
|
+
<axsl:attribute name="location">
|
834
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
835
|
+
</axsl:attribute>
|
836
|
+
<svrl:text>[BII2-T10-R052]-An invoice total without VAT MUST equal the sum of line amounts plus the sum of charges on document level minus the sum of allowances on document level</svrl:text>
|
837
|
+
</svrl:failed-assert>
|
838
|
+
</axsl:otherwise>
|
839
|
+
</axsl:choose>
|
840
|
+
|
841
|
+
<!--ASSERT -->
|
842
|
+
|
843
|
+
<axsl:choose>
|
844
|
+
<axsl:when test="((cbc:PayableRoundingAmount) and (number(cbc:TaxInclusiveAmount) = (round((number(cbc:TaxExclusiveAmount) + number(sum(/ubl:Invoice/cac:TaxTotal/cbc:TaxAmount)) + number(cbc:PayableRoundingAmount)) *10 * 10) div 100))) or (number(cbc:TaxInclusiveAmount) = round(( number(cbc:TaxExclusiveAmount) + number(sum(/ubl:Invoice/cac:TaxTotal/cbc:TaxAmount))) * 10 * 10) div 100)"/>
|
845
|
+
<axsl:otherwise>
|
846
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="((cbc:PayableRoundingAmount) and (number(cbc:TaxInclusiveAmount) = (round((number(cbc:TaxExclusiveAmount) + number(sum(/ubl:Invoice/cac:TaxTotal/cbc:TaxAmount)) + number(cbc:PayableRoundingAmount)) *10 * 10) div 100))) or (number(cbc:TaxInclusiveAmount) = round(( number(cbc:TaxExclusiveAmount) + number(sum(/ubl:Invoice/cac:TaxTotal/cbc:TaxAmount))) * 10 * 10) div 100)">
|
847
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
848
|
+
<axsl:attribute name="location">
|
849
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
850
|
+
</axsl:attribute>
|
851
|
+
<svrl:text>[BII2-T10-R053]-An invoice total with VAT MUST equal the invoice total without VAT plus the VAT total amount and the rounding of invoice total</svrl:text>
|
852
|
+
</svrl:failed-assert>
|
853
|
+
</axsl:otherwise>
|
854
|
+
</axsl:choose>
|
855
|
+
|
856
|
+
<!--ASSERT -->
|
857
|
+
|
858
|
+
<axsl:choose>
|
859
|
+
<axsl:when test="cbc:AllowanceTotalAmount = (round(sum(/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator="false"]/cbc:Amount) * 10 * 10) div 100) or not(cbc:AllowanceTotalAmount)"/>
|
860
|
+
<axsl:otherwise>
|
861
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="cbc:AllowanceTotalAmount = (round(sum(/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator="false"]/cbc:Amount) * 10 * 10) div 100) or not(cbc:AllowanceTotalAmount)">
|
862
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
863
|
+
<axsl:attribute name="location">
|
864
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
865
|
+
</axsl:attribute>
|
866
|
+
<svrl:text>[BII2-T10-R054]-The sum of allowances at document level MUST be equal to the sum of document level allowance amounts</svrl:text>
|
867
|
+
</svrl:failed-assert>
|
868
|
+
</axsl:otherwise>
|
869
|
+
</axsl:choose>
|
870
|
+
|
871
|
+
<!--ASSERT -->
|
872
|
+
|
873
|
+
<axsl:choose>
|
874
|
+
<axsl:when test="cbc:ChargeTotalAmount = (round(sum(/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator="true"]/cbc:Amount) * 10 * 10) div 100) or not(cbc:ChargeTotalAmount)"/>
|
875
|
+
<axsl:otherwise>
|
876
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="cbc:ChargeTotalAmount = (round(sum(/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator="true"]/cbc:Amount) * 10 * 10) div 100) or not(cbc:ChargeTotalAmount)">
|
877
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
878
|
+
<axsl:attribute name="location">
|
879
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
880
|
+
</axsl:attribute>
|
881
|
+
<svrl:text>[BII2-T10-R055]-The sum of charges at document level MUST be equal to the sum of document level charge amounts</svrl:text>
|
882
|
+
</svrl:failed-assert>
|
883
|
+
</axsl:otherwise>
|
884
|
+
</axsl:choose>
|
885
|
+
|
886
|
+
<!--ASSERT -->
|
887
|
+
|
888
|
+
<axsl:choose>
|
889
|
+
<axsl:when test="((cbc:PrepaidAmount) and (number(cbc:PayableAmount) = (round((cbc:TaxInclusiveAmount - cbc:PrepaidAmount) * 10 * 10) div 100)) or number(cbc:PayableAmount) = number(cbc:TaxInclusiveAmount)) or ((cbc:PrepaidAmount) and (cbc:PayableRoundingAmount) and ((number(cbc:PayableAmount) -number(cbc:PayableRoundingAmount)) = (round((cbc:TaxInclusiveAmount - cbc:PrepaidAmount) * 10 * 10) div 100)) or (number(cbc:PayableAmount) - number(cbc:PayableRoundingAmount))= number(cbc:TaxInclusiveAmount))"/>
|
890
|
+
<axsl:otherwise>
|
891
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="((cbc:PrepaidAmount) and (number(cbc:PayableAmount) = (round((cbc:TaxInclusiveAmount - cbc:PrepaidAmount) * 10 * 10) div 100)) or number(cbc:PayableAmount) = number(cbc:TaxInclusiveAmount)) or ((cbc:PrepaidAmount) and (cbc:PayableRoundingAmount) and ((number(cbc:PayableAmount) -number(cbc:PayableRoundingAmount)) = (round((cbc:TaxInclusiveAmount - cbc:PrepaidAmount) * 10 * 10) div 100)) or (number(cbc:PayableAmount) - number(cbc:PayableRoundingAmount))= number(cbc:TaxInclusiveAmount))">
|
892
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
893
|
+
<axsl:attribute name="location">
|
894
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
895
|
+
</axsl:attribute>
|
896
|
+
<svrl:text>[BII2-T10-R056]-Amount due for payment MUST be equal to the invoice total amount with VAT minus the paid amounts</svrl:text>
|
897
|
+
</svrl:failed-assert>
|
898
|
+
</axsl:otherwise>
|
899
|
+
</axsl:choose>
|
900
|
+
|
901
|
+
<!--ASSERT -->
|
902
|
+
|
903
|
+
<axsl:choose>
|
904
|
+
<axsl:when test="((cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']/cbc:TaxAmount) and (round(sum(cac:TaxTotal//cac:TaxSubtotal/cbc:TaxableAmount) *10 * 10) div 100 = number(cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount))) or not((cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']))"/>
|
905
|
+
<axsl:otherwise>
|
906
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="((cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']/cbc:TaxAmount) and (round(sum(cac:TaxTotal//cac:TaxSubtotal/cbc:TaxableAmount) *10 * 10) div 100 = number(cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount))) or not((cac:TaxTotal[cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']))">
|
907
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
908
|
+
<axsl:attribute name="location">
|
909
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
910
|
+
</axsl:attribute>
|
911
|
+
<svrl:text>[BII2-T10-R058]-Invoice total without VAT MUST be equal to the sum of VAT category taxable amounts</svrl:text>
|
912
|
+
</svrl:failed-assert>
|
913
|
+
</axsl:otherwise>
|
914
|
+
</axsl:choose>
|
915
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
|
916
|
+
</axsl:template>
|
917
|
+
|
918
|
+
<!--RULE -->
|
919
|
+
|
920
|
+
<axsl:template match="//cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']" priority="1000" mode="M6">
|
921
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="//cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']"/>
|
922
|
+
|
923
|
+
<!--ASSERT -->
|
924
|
+
|
925
|
+
<axsl:choose>
|
926
|
+
<axsl:when test="(cbc:TaxableAmount)"/>
|
927
|
+
<axsl:otherwise>
|
928
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:TaxableAmount)">
|
929
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
930
|
+
<axsl:attribute name="location">
|
931
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
932
|
+
</axsl:attribute>
|
933
|
+
<svrl:text>[BII2-T10-R027]-Each VAT category details MUST have a VAT category taxable amount</svrl:text>
|
934
|
+
</svrl:failed-assert>
|
935
|
+
</axsl:otherwise>
|
936
|
+
</axsl:choose>
|
937
|
+
|
938
|
+
<!--ASSERT -->
|
939
|
+
|
940
|
+
<axsl:choose>
|
941
|
+
<axsl:when test="(cbc:TaxAmount)"/>
|
942
|
+
<axsl:otherwise>
|
943
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cbc:TaxAmount)">
|
944
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
945
|
+
<axsl:attribute name="location">
|
946
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
947
|
+
</axsl:attribute>
|
948
|
+
<svrl:text>[BII2-T10-R028]-Each VAT category details MUST have a VAT category tax amount</svrl:text>
|
949
|
+
</svrl:failed-assert>
|
950
|
+
</axsl:otherwise>
|
951
|
+
</axsl:choose>
|
952
|
+
|
953
|
+
<!--ASSERT -->
|
954
|
+
|
955
|
+
<axsl:choose>
|
956
|
+
<axsl:when test="(cac:TaxCategory/cbc:ID)"/>
|
957
|
+
<axsl:otherwise>
|
958
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:TaxCategory/cbc:ID)">
|
959
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
960
|
+
<axsl:attribute name="location">
|
961
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
962
|
+
</axsl:attribute>
|
963
|
+
<svrl:text>[BII2-T10-R029]-Every VAT category details MUST be defined through a VAT category code</svrl:text>
|
964
|
+
</svrl:failed-assert>
|
965
|
+
</axsl:otherwise>
|
966
|
+
</axsl:choose>
|
967
|
+
|
968
|
+
<!--ASSERT -->
|
969
|
+
|
970
|
+
<axsl:choose>
|
971
|
+
<axsl:when test="(cac:TaxCategory/cbc:Percent) or not(cac:TaxCategory/cbc:ID = 'S')"/>
|
972
|
+
<axsl:otherwise>
|
973
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:TaxCategory/cbc:Percent) or not(cac:TaxCategory/cbc:ID = 'S')">
|
974
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
975
|
+
<axsl:attribute name="location">
|
976
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
977
|
+
</axsl:attribute>
|
978
|
+
<svrl:text>[BII2-T10-R030]-The VAT category percentage MUST be provided if the VAT category code is standard.</svrl:text>
|
979
|
+
</svrl:failed-assert>
|
980
|
+
</axsl:otherwise>
|
981
|
+
</axsl:choose>
|
982
|
+
|
983
|
+
<!--ASSERT -->
|
984
|
+
|
985
|
+
<axsl:choose>
|
986
|
+
<axsl:when test="(cac:TaxCategory/cbc:TaxExemptionReason) or not ((cac:TaxCategory/cbc:ID='E') or (cac:TaxCategory/cbc:ID='AE'))"/>
|
987
|
+
<axsl:otherwise>
|
988
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="(cac:TaxCategory/cbc:TaxExemptionReason) or not ((cac:TaxCategory/cbc:ID='E') or (cac:TaxCategory/cbc:ID='AE'))">
|
989
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
990
|
+
<axsl:attribute name="location">
|
991
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
992
|
+
</axsl:attribute>
|
993
|
+
<svrl:text>[BII2-T10-R045]-A VAT exemption reason MUST be provided if the VAT category code is exempt or reverse charge.</svrl:text>
|
994
|
+
</svrl:failed-assert>
|
995
|
+
</axsl:otherwise>
|
996
|
+
</axsl:choose>
|
997
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
|
998
|
+
</axsl:template>
|
999
|
+
<axsl:template match="text()" priority="-1" mode="M6"/>
|
1000
|
+
<axsl:template match="@*|node()" priority="-2" mode="M6">
|
1001
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
|
1002
|
+
</axsl:template>
|
1003
|
+
|
1004
|
+
<!--PATTERN BII-CodesT10-->
|
1005
|
+
|
1006
|
+
|
1007
|
+
<!--RULE -->
|
1008
|
+
|
1009
|
+
<axsl:template match="cbc:InvoiceTypeCode" priority="1007" mode="M7">
|
1010
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="cbc:InvoiceTypeCode"/>
|
1011
|
+
|
1012
|
+
<!--ASSERT -->
|
1013
|
+
|
1014
|
+
<axsl:choose>
|
1015
|
+
<axsl:when test="( ( not(contains(normalize-space(.),' ')) and contains( ' 380 393 384 ',concat(' ',normalize-space(.),' ') ) ) )"/>
|
1016
|
+
<axsl:otherwise>
|
1017
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="( ( not(contains(normalize-space(.),' ')) and contains( ' 380 393 384 ',concat(' ',normalize-space(.),' ') ) ) )">
|
1018
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
1019
|
+
<axsl:attribute name="location">
|
1020
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
1021
|
+
</axsl:attribute>
|
1022
|
+
<svrl:text>[CL-T10-R001]-An Invoice MUST be coded with the InvoiceTypeCode code list UNCL D1001 BII2 subset</svrl:text>
|
1023
|
+
</svrl:failed-assert>
|
1024
|
+
</axsl:otherwise>
|
1025
|
+
</axsl:choose>
|
1026
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1027
|
+
</axsl:template>
|
1028
|
+
|
1029
|
+
<!--RULE -->
|
1030
|
+
|
1031
|
+
<axsl:template match="cbc:DocumentCurrencyCode" priority="1006" mode="M7">
|
1032
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="cbc:DocumentCurrencyCode"/>
|
1033
|
+
|
1034
|
+
<!--ASSERT -->
|
1035
|
+
|
1036
|
+
<axsl:choose>
|
1037
|
+
<axsl:when test="( ( not(contains(normalize-space(.),' ')) and contains( ' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUP CVE CZK DJF DKK DOP DZD EEK EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GWP GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LTL LVL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SKK SLL SOS SRD STD SVC SYP SZL THB TJS TMM TND TOP TRY TTD TWD TZS UAH UGX USD USN USS UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XFU XOF XPD XPF XTS XXX YER ZAR ZMK ZWR ZWD ',concat(' ',normalize-space(.),' ') ) ) )"/>
|
1038
|
+
<axsl:otherwise>
|
1039
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="( ( not(contains(normalize-space(.),' ')) and contains( ' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUP CVE CZK DJF DKK DOP DZD EEK EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GWP GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LTL LVL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SKK SLL SOS SRD STD SVC SYP SZL THB TJS TMM TND TOP TRY TTD TWD TZS UAH UGX USD USN USS UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XFU XOF XPD XPF XTS XXX YER ZAR ZMK ZWR ZWD ',concat(' ',normalize-space(.),' ') ) ) )">
|
1040
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
1041
|
+
<axsl:attribute name="location">
|
1042
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
1043
|
+
</axsl:attribute>
|
1044
|
+
<svrl:text>[CL-T10-R002]-DocumentCurrencyCode MUST be coded using ISO code list 4217</svrl:text>
|
1045
|
+
</svrl:failed-assert>
|
1046
|
+
</axsl:otherwise>
|
1047
|
+
</axsl:choose>
|
1048
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1049
|
+
</axsl:template>
|
1050
|
+
|
1051
|
+
<!--RULE -->
|
1052
|
+
|
1053
|
+
<axsl:template match="@currencyID" priority="1005" mode="M7">
|
1054
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="@currencyID"/>
|
1055
|
+
|
1056
|
+
<!--ASSERT -->
|
1057
|
+
|
1058
|
+
<axsl:choose>
|
1059
|
+
<axsl:when test="( ( not(contains(normalize-space(.),' ')) and contains( ' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUP CVE CZK DJF DKK DOP DZD EEK EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GWP GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LTL LVL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SKK SLL SOS SRD STD SVC SYP SZL THB TJS TMM TND TOP TRY TTD TWD TZS UAH UGX USD USN USS UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XFU XOF XPD XPF XTS XXX YER ZAR ZMK ZWR ZWD ',concat(' ',normalize-space(.),' ') ) ) )"/>
|
1060
|
+
<axsl:otherwise>
|
1061
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="( ( not(contains(normalize-space(.),' ')) and contains( ' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUP CVE CZK DJF DKK DOP DZD EEK EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GWP GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LTL LVL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SKK SLL SOS SRD STD SVC SYP SZL THB TJS TMM TND TOP TRY TTD TWD TZS UAH UGX USD USN USS UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XFU XOF XPD XPF XTS XXX YER ZAR ZMK ZWR ZWD ',concat(' ',normalize-space(.),' ') ) ) )">
|
1062
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
1063
|
+
<axsl:attribute name="location">
|
1064
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
1065
|
+
</axsl:attribute>
|
1066
|
+
<svrl:text>[CL-T10-R003]-currencyID MUST be coded using ISO code list 4217</svrl:text>
|
1067
|
+
</svrl:failed-assert>
|
1068
|
+
</axsl:otherwise>
|
1069
|
+
</axsl:choose>
|
1070
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1071
|
+
</axsl:template>
|
1072
|
+
|
1073
|
+
<!--RULE -->
|
1074
|
+
|
1075
|
+
<axsl:template match="cac:Country//cbc:IdentificationCode" priority="1004" mode="M7">
|
1076
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="cac:Country//cbc:IdentificationCode"/>
|
1077
|
+
|
1078
|
+
<!--ASSERT -->
|
1079
|
+
|
1080
|
+
<axsl:choose>
|
1081
|
+
<axsl:when test="( ( not(contains(normalize-space(.),' ')) and contains( ' AD AE AF AG AI AL AM AN AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BL BJ BM BN BO BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR ST SV SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS YE YT ZA ZM ZW ',concat(' ',normalize-space(.),' ') ) ) )"/>
|
1082
|
+
<axsl:otherwise>
|
1083
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="( ( not(contains(normalize-space(.),' ')) and contains( ' AD AE AF AG AI AL AM AN AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BL BJ BM BN BO BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR ST SV SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS YE YT ZA ZM ZW ',concat(' ',normalize-space(.),' ') ) ) )">
|
1084
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
1085
|
+
<axsl:attribute name="location">
|
1086
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
1087
|
+
</axsl:attribute>
|
1088
|
+
<svrl:text>[CL-T10-R004]-Country codes in an invoice MUST be coded using ISO code list 3166-1</svrl:text>
|
1089
|
+
</svrl:failed-assert>
|
1090
|
+
</axsl:otherwise>
|
1091
|
+
</axsl:choose>
|
1092
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1093
|
+
</axsl:template>
|
1094
|
+
|
1095
|
+
<!--RULE -->
|
1096
|
+
|
1097
|
+
<axsl:template match="cac:PaymentMeans//cbc:PaymentMeansCode" priority="1003" mode="M7">
|
1098
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="cac:PaymentMeans//cbc:PaymentMeansCode"/>
|
1099
|
+
|
1100
|
+
<!--ASSERT -->
|
1101
|
+
|
1102
|
+
<axsl:choose>
|
1103
|
+
<axsl:when test="( ( not(contains(normalize-space(.),' ')) and contains( ' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 60 61 62 63 64 65 66 67 70 74 75 76 77 78 91 92 93 94 95 96 97 ',concat(' ',normalize-space(.),' ') ) ) )"/>
|
1104
|
+
<axsl:otherwise>
|
1105
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="( ( not(contains(normalize-space(.),' ')) and contains( ' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 60 61 62 63 64 65 66 67 70 74 75 76 77 78 91 92 93 94 95 96 97 ',concat(' ',normalize-space(.),' ') ) ) )">
|
1106
|
+
<axsl:attribute name="flag">warning</axsl:attribute>
|
1107
|
+
<axsl:attribute name="location">
|
1108
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
1109
|
+
</axsl:attribute>
|
1110
|
+
<svrl:text>[CL-T10-R006]-Payment means in an invoice MUST be coded using UNCL 4461 BII2 subset</svrl:text>
|
1111
|
+
</svrl:failed-assert>
|
1112
|
+
</axsl:otherwise>
|
1113
|
+
</axsl:choose>
|
1114
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1115
|
+
</axsl:template>
|
1116
|
+
|
1117
|
+
<!--RULE -->
|
1118
|
+
|
1119
|
+
<axsl:template match="cac:TaxCategory/cbc:ID" priority="1002" mode="M7">
|
1120
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="cac:TaxCategory/cbc:ID"/>
|
1121
|
+
|
1122
|
+
<!--ASSERT -->
|
1123
|
+
|
1124
|
+
<axsl:choose>
|
1125
|
+
<axsl:when test="( ( not(contains(normalize-space(.),' ')) and contains( ' AE E S Z AA H ',concat(' ',normalize-space(.),' ') ) ) )"/>
|
1126
|
+
<axsl:otherwise>
|
1127
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="( ( not(contains(normalize-space(.),' ')) and contains( ' AE E S Z AA H ',concat(' ',normalize-space(.),' ') ) ) )">
|
1128
|
+
<axsl:attribute name="flag">warning</axsl:attribute>
|
1129
|
+
<axsl:attribute name="location">
|
1130
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
1131
|
+
</axsl:attribute>
|
1132
|
+
<svrl:text>[CL-T10-R007]-Invoice tax categories MUST be coded using UNCL 5305 code list BII2 subset</svrl:text>
|
1133
|
+
</svrl:failed-assert>
|
1134
|
+
</axsl:otherwise>
|
1135
|
+
</axsl:choose>
|
1136
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1137
|
+
</axsl:template>
|
1138
|
+
|
1139
|
+
<!--RULE -->
|
1140
|
+
|
1141
|
+
<axsl:template match="@mimeCode" priority="1001" mode="M7">
|
1142
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="@mimeCode"/>
|
1143
|
+
|
1144
|
+
<!--ASSERT -->
|
1145
|
+
|
1146
|
+
<axsl:choose>
|
1147
|
+
<axsl:when test="( ( . = 'application/activemessage' or . = 'application/andrew-inset' or . = 'application/applefile' or . = 'application/atom+xml' or . = 'application/atomicmail' or . = 'application/atomcat+xml' or . = 'application/atomsvc+xml' or . = 'application/auth-policy+xml' or . = 'application/batch-SMTP' or . = 'application/beep+xml' or . = 'application/cals-1840' or . = 'application/ccxml+xml' or . = 'application/cellml+xml' or . = 'application/cnrp+xml' or . = 'application/commonground' or . = 'application/conference-info+xml' or . = 'application/cpl+xml' or . = 'application/csta+xml' or . = 'application/CSTAdata+xml' or . = 'application/cybercash' or . = 'application/davmount+xml' or . = 'application/dca-rft' or . = 'application/dec-dx' or . = 'application/dialog-info+xml' or . = 'application/dicom' or . = 'application/dns' or . = 'application/dvcs' or . = 'application/ecmascript' or . = 'application/EDI-Consent' or . = 'application/EDIFACT' or . = 'application/EDI-X12' or . = 'application/epp+xml' or . = 'application/eshop' or . = 'application/example' or . = 'application/fastinfoset' or . = 'application/fastsoap' or . = 'application/fits' or . = 'application/font-tdpfr' or . = 'application/H224' or . = 'application/http' or . = 'application/hyperstudio' or . = 'application/iges' or . = 'application/im-iscomposing+xml' or . = 'application/index' or . = 'application/index.cmd' or . = 'application/index.obj' or . = 'application/index.response' or . = 'application/index.vnd' or . = 'application/iotp' or . = 'application/ipp' or . = 'application/isup' or . = 'application/javascript' or . = 'application/json' or . = 'application/kpml-request+xml' or . = 'application/kpml-response+xml' or . = 'application/mac-binhex40' or . = 'application/macwriteii' or . = 'application/marc' or . = 'application/mathematica' or . = 'application/mbms-associated-procedure-description+xml' or . = 'application/mbms-deregister+xml' or . = 'application/mbms-envelope+xml' or . = 'application/mbms-msk-response+xml' or . = 'application/mbms-msk+xml' or . = 'application/mbms-protection-description+xml' or . = 'application/mbms-reception-report+xml' or . = 'application/mbms-register-response+xml' or . = 'application/mbms-register+xml' or . = 'application/mbms-user-service-description+xml' or . = 'application/mbox' or . = 'application/media_control+xml' or . = 'application/mediaservercontrol+xml' or . = 'application/mikey' or . = 'application/moss-keys' or . = 'application/moss-signature' or . = 'application/mosskey-data' or . = 'application/mosskey-request' or . = 'application/mpeg4-generic' or . = 'application/mpeg4-iod' or . = 'application/mpeg4-iod-xmt' or . = 'application/mp4' or . = 'application/msword' or . = 'application/mxf' or . = 'application/nasdata' or . = 'application/news-message-id' or . = 'application/news-transmission' or . = 'application/nss' or . = 'application/ocsp-request' or . = 'application/ocsp-response' or . = 'application/octet-stream' or . = 'application/oda' or . = 'application/oebps-package+xml' or . = 'application/ogg' or . = 'application/parityfec' or . = 'application/pdf' or . = 'application/pgp-encrypted' or . = 'application/pgp-keys' or . = 'application/pgp-signature' or . = 'application/pidf+xml' or . = 'application/pkcs10' or . = 'application/pkcs7-mime' or . = 'application/pkcs7-signature' or . = 'application/pkix-cert' or . = 'application/pkixcmp' or . = 'application/pkix-crl' or . = 'application/pkix-pkipath' or . = 'application/pls+xml' or . = 'application/poc-settings+xml' or . = 'application/postscript' or . = 'application/prs.alvestrand.titrax-sheet' or . = 'application/prs.cww' or . = 'application/prs.nprend' or . = 'application/prs.plucker' or . = 'application/rdf+xml' or . = 'application/qsig' or . = 'application/reginfo+xml' or . = 'application/relax-ng-compact-syntax' or . = 'application/remote-printing' or . = 'application/resource-lists+xml' or . = 'application/riscos' or . = 'application/rlmi+xml' or . = 'application/rls-services+xml' or . = 'application/rtf' or . = 'application/rtx' or . = 'application/samlassertion+xml' or . = 'application/samlmetadata+xml' or . = 'application/sbml+xml' or . = 'application/scvp-cv-request' or . = 'application/scvp-cv-response' or . = 'application/scvp-vp-request' or . = 'application/scvp-vp-response' or . = 'application/sdp' or . = 'application/set-payment' or . = 'application/set-payment-initiation' or . = 'application/set-registration' or . = 'application/set-registration-initiation' or . = 'application/sgml' or . = 'application/sgml-open-catalog' or . = 'application/shf+xml' or . = 'application/sieve' or . = 'application/simple-filter+xml' or . = 'application/simple-message-summary' or . = 'application/simpleSymbolContainer' or . = 'application/slate' or . = 'application/smil (OBSOLETE)' or . = 'application/smil+xml' or . = 'application/soap+fastinfoset' or . = 'application/soap+xml' or . = 'application/sparql-query' or . = 'application/sparql-results+xml' or . = 'application/spirits-event+xml' or . = 'application/srgs' or . = 'application/srgs+xml' or . = 'application/ssml+xml' or . = 'application/timestamp-query' or . = 'application/timestamp-reply' or . = 'application/tve-trigger' or . = 'application/ulpfec' or . = 'application/vemmi' or . = 'application/vnd.3gpp.bsf+xml' or . = 'application/vnd.3gpp.pic-bw-large' or . = 'application/vnd.3gpp.pic-bw-small' or . = 'application/vnd.3gpp.pic-bw-var' or . = 'application/vnd.3gpp.sms' or . = 'application/vnd.3gpp2.bcmcsinfo+xml' or . = 'application/vnd.3gpp2.sms' or . = 'application/vnd.3gpp2.tcap' or . = 'application/vnd.3M.Post-it-Notes' or . = 'application/vnd.accpac.simply.aso' or . = 'application/vnd.accpac.simply.imp' or . = 'application/vnd.acucobol' or . = 'application/vnd.acucorp' or . = 'application/vnd.adobe.xdp+xml' or . = 'application/vnd.adobe.xfdf' or . = 'application/vnd.aether.imp' or . = 'application/vnd.americandynamics.acc' or . = 'application/vnd.amiga.ami' or . = 'application/vnd.anser-web-certificate-issue-initiation' or . = 'application/vnd.antix.game-component' or . = 'application/vnd.apple.installer+xml' or . = 'application/vnd.audiograph' or . = 'application/vnd.autopackage' or . = 'application/vnd.avistar+xml' or . = 'application/vnd.blueice.multipass' or . = 'application/vnd.bmi' or . = 'application/vnd.businessobjects' or . = 'application/vnd.cab-jscript' or . = 'application/vnd.canon-cpdl' or . = 'application/vnd.canon-lips' or . = 'application/vnd.cendio.thinlinc.clientconf' or . = 'application/vnd.chemdraw+xml' or . = 'application/vnd.chipnuts.karaoke-mmd' or . = 'application/vnd.cinderella' or . = 'application/vnd.cirpack.isdn-ext' or . = 'application/vnd.claymore' or . = 'application/vnd.clonk.c4group' or . = 'application/vnd.commerce-battelle' or . = 'application/vnd.commonspace' or . = 'application/vnd.cosmocaller' or . = 'application/vnd.contact.cmsg' or . = 'application/vnd.crick.clicker' or . = 'application/vnd.crick.clicker.keyboard' or . = 'application/vnd.crick.clicker.palette' or . = 'application/vnd.crick.clicker.template' or . = 'application/vnd.crick.clicker.wordbank' or . = 'application/vnd.criticaltools.wbs+xml' or . = 'application/vnd.ctc-posml' or . = 'application/vnd.ctct.ws+xml' or . = 'application/vnd.cups-pdf' or . = 'application/vnd.cups-postscript' or . = 'application/vnd.cups-ppd' or . = 'application/vnd.cups-raster' or . = 'application/vnd.cups-raw' or . = 'application/vnd.curl' or . = 'application/vnd.cybank' or . = 'application/vnd.data-vision.rdz' or . = 'application/vnd.denovo.fcselayout-link' or . = 'application/vnd.dna' or . = 'application/vnd.dpgraph' or . = 'application/vnd.dreamfactory' or . = 'application/vnd.dvb.esgcontainer' or . = 'application/vnd.dvb.ipdcesgaccess' or . = 'application/vnd.dxr' or . = 'application/vnd.ecdis-update' or . = 'application/vnd.ecowin.chart' or . = 'application/vnd.ecowin.filerequest' or . = 'application/vnd.ecowin.fileupdate' or . = 'application/vnd.ecowin.series' or . = 'application/vnd.ecowin.seriesrequest' or . = 'application/vnd.ecowin.seriesupdate' or . = 'application/vnd.enliven' or . = 'application/vnd.epson.esf' or . = 'application/vnd.epson.msf' or . = 'application/vnd.epson.quickanime' or . = 'application/vnd.epson.salt' or . = 'application/vnd.epson.ssf' or . = 'application/vnd.ericsson.quickcall' or . = 'application/vnd.eszigno3+xml' or . = 'application/vnd.eudora.data' or . = 'application/vnd.ezpix-album' or . = 'application/vnd.ezpix-package' or . = 'application/vnd.fdf' or . = 'application/vnd.ffsns' or . = 'application/vnd.fints' or . = 'application/vnd.FloGraphIt' or . = 'application/vnd.fluxtime.clip' or . = 'application/vnd.framemaker' or . = 'application/vnd.frogans.fnc' or . = 'application/vnd.frogans.ltf' or . = 'application/vnd.fsc.weblaunch' or . = 'application/vnd.fujitsu.oasys' or . = 'application/vnd.fujitsu.oasys2' or . = 'application/vnd.fujitsu.oasys3' or . = 'application/vnd.fujitsu.oasysgp' or . = 'application/vnd.fujitsu.oasysprs' or . = 'application/vnd.fujixerox.ART4' or . = 'application/vnd.fujixerox.ART-EX' or . = 'application/vnd.fujixerox.ddd' or . = 'application/vnd.fujixerox.docuworks' or . = 'application/vnd.fujixerox.docuworks.binder' or . = 'application/vnd.fujixerox.HBPL' or . = 'application/vnd.fut-misnet' or . = 'application/vnd.fuzzysheet' or . = 'application/vnd.genomatix.tuxedo' or . = 'application/vnd.google-earth.kml+xml' or . = 'application/vnd.google-earth.kmz' or . = 'application/vnd.grafeq' or . = 'application/vnd.gridmp' or . = 'application/vnd.groove-account' or . = 'application/vnd.groove-help' or . = 'application/vnd.groove-identity-message' or . = 'application/vnd.groove-injector' or . = 'application/vnd.groove-tool-message' or . = 'application/vnd.groove-tool-template' or . = 'application/vnd.groove-vcard' or . = 'application/vnd.HandHeld-Entertainment+xml' or . = 'application/vnd.hbci' or . = 'application/vnd.hcl-bireports' or . = 'application/vnd.hhe.lesson-player' or . = 'application/vnd.hp-HPGL' or . = 'application/vnd.hp-hpid' or . = 'application/vnd.hp-hps' or . = 'application/vnd.hp-jlyt' or . = 'application/vnd.hp-PCL' or . = 'application/vnd.hp-PCLXL' or . = 'application/vnd.httphone' or . = 'application/vnd.hzn-3d-crossword' or . = 'application/vnd.ibm.afplinedata' or . = 'application/vnd.ibm.electronic-media' or . = 'application/vnd.ibm.MiniPay' or . = 'application/vnd.ibm.modcap' or . = 'application/vnd.ibm.rights-management' or . = 'application/vnd.ibm.secure-container' or . = 'application/vnd.iccprofile' or . = 'application/vnd.igloader' or . = 'application/vnd.immervision-ivp' or . = 'application/vnd.immervision-ivu' or . = 'application/vnd.informedcontrol.rms+xml' or . = 'application/vnd.informix-visionary' or . = 'application/vnd.intercon.formnet' or . = 'application/vnd.intertrust.digibox' or . = 'application/vnd.intertrust.nncp' or . = 'application/vnd.intu.qbo' or . = 'application/vnd.intu.qfx' or . = 'application/vnd.ipunplugged.rcprofile' or . = 'application/vnd.irepository.package+xml' or . = 'application/vnd.is-xpr' or . = 'application/vnd.jam' or . = 'application/vnd.japannet-directory-service' or . = 'application/vnd.japannet-jpnstore-wakeup' or . = 'application/vnd.japannet-payment-wakeup' or . = 'application/vnd.japannet-registration' or . = 'application/vnd.japannet-registration-wakeup' or . = 'application/vnd.japannet-setstore-wakeup' or . = 'application/vnd.japannet-verification' or . = 'application/vnd.japannet-verification-wakeup' or . = 'application/vnd.jcp.javame.midlet-rms' or . = 'application/vnd.jisp' or . = 'application/vnd.joost.joda-archive' or . = 'application/vnd.kahootz' or . = 'application/vnd.kde.karbon' or . = 'application/vnd.kde.kchart' or . = 'application/vnd.kde.kformula' or . = 'application/vnd.kde.kivio' or . = 'application/vnd.kde.kontour' or . = 'application/vnd.kde.kpresenter' or . = 'application/vnd.kde.kspread' or . = 'application/vnd.kde.kword' or . = 'application/vnd.kenameaapp' or . = 'application/vnd.kidspiration' or . = 'application/vnd.Kinar' or . = 'application/vnd.koan' or . = 'application/vnd.kodak-descriptor' or . = 'application/vnd.liberty-request+xml' or . = 'application/vnd.llamagraphics.life-balance.desktop' or . = 'application/vnd.llamagraphics.life-balance.exchange+xml' or . = 'application/vnd.lotus-1-2-3' or . = 'application/vnd.lotus-approach' or . = 'application/vnd.lotus-freelance' or . = 'application/vnd.lotus-notes' or . = 'application/vnd.lotus-organizer' or . = 'application/vnd.lotus-screencam' or . = 'application/vnd.lotus-wordpro' or . = 'application/vnd.macports.portpkg' or . = 'application/vnd.marlin.drm.actiontoken+xml' or . = 'application/vnd.marlin.drm.conftoken+xml' or . = 'application/vnd.marlin.drm.mdcf' or . = 'application/vnd.mcd' or . = 'application/vnd.medcalcdata' or . = 'application/vnd.mediastation.cdkey' or . = 'application/vnd.meridian-slingshot' or . = 'application/vnd.MFER' or . = 'application/vnd.mfmp' or . = 'application/vnd.micrografx.flo' or . = 'application/vnd.micrografx.igx' or . = 'application/vnd.mif' or . = 'application/vnd.minisoft-hp3000-save' or . = 'application/vnd.mitsubishi.misty-guard.trustweb' or . = 'application/vnd.Mobius.DAF' or . = 'application/vnd.Mobius.DIS' or . = 'application/vnd.Mobius.MBK' or . = 'application/vnd.Mobius.MQY' or . = 'application/vnd.Mobius.MSL' or . = 'application/vnd.Mobius.PLC' or . = 'application/vnd.Mobius.TXF' or . = 'application/vnd.mophun.application' or . = 'application/vnd.mophun.certificate' or . = 'application/vnd.motorola.flexsuite' or . = 'application/vnd.motorola.flexsuite.adsi' or . = 'application/vnd.motorola.flexsuite.fis' or . = 'application/vnd.motorola.flexsuite.gotap' or . = 'application/vnd.motorola.flexsuite.kmr' or . = 'application/vnd.motorola.flexsuite.ttc' or . = 'application/vnd.motorola.flexsuite.wem' or . = 'application/vnd.mozilla.xul+xml' or . = 'application/vnd.ms-artgalry' or . = 'application/vnd.ms-asf' or . = 'application/vnd.ms-cab-compressed' or . = 'application/vnd.mseq' or . = 'application/vnd.ms-excel' or . = 'application/vnd.ms-fontobject' or . = 'application/vnd.ms-htmlhelp' or . = 'application/vnd.msign' or . = 'application/vnd.ms-ims' or . = 'application/vnd.ms-lrm' or . = 'application/vnd.ms-playready.initiator+xml' or . = 'application/vnd.ms-powerpoint' or . = 'application/vnd.ms-project' or . = 'application/vnd.ms-tnef' or . = 'application/vnd.ms-wmdrm.lic-chlg-req' or . = 'application/vnd.ms-wmdrm.lic-resp' or . = 'application/vnd.ms-wmdrm.meter-chlg-req' or . = 'application/vnd.ms-wmdrm.meter-resp' or . = 'application/vnd.ms-works' or . = 'application/vnd.ms-wpl' or . = 'application/vnd.ms-xpsdocument' or . = 'application/vnd.multiad.creator' or . = 'application/vnd.multiad.creator.cif' or . = 'application/vnd.musician' or . = 'application/vnd.music-niff' or . = 'application/vnd.muvee.style' or . = 'application/vnd.ncd.control' or . = 'application/vnd.ncd.reference' or . = 'application/vnd.nervana' or . = 'application/vnd.netfpx' or . = 'application/vnd.neurolanguage.nlu' or . = 'application/vnd.noblenet-directory' or . = 'application/vnd.noblenet-sealer' or . = 'application/vnd.noblenet-web' or . = 'application/vnd.nokia.catalogs' or . = 'application/vnd.nokia.conml+wbxml' or . = 'application/vnd.nokia.conml+xml' or . = 'application/vnd.nokia.iptv.config+xml' or . = 'application/vnd.nokia.iSDS-radio-presets' or . = 'application/vnd.nokia.landmark+wbxml' or . = 'application/vnd.nokia.landmark+xml' or . = 'application/vnd.nokia.landmarkcollection+xml' or . = 'application/vnd.nokia.ncd' or . = 'application/vnd.nokia.n-gage.ac+xml' or . = 'application/vnd.nokia.n-gage.data' or . = 'application/vnd.nokia.n-gage.symbian.install' or . = 'application/vnd.nokia.pcd+wbxml' or . = 'application/vnd.nokia.pcd+xml' or . = 'application/vnd.nokia.radio-preset' or . = 'application/vnd.nokia.radio-presets' or . = 'application/vnd.novadigm.EDM' or . = 'application/vnd.novadigm.EDX' or . = 'application/vnd.novadigm.EXT' or . = 'application/vnd.oasis.opendocument.chart' or . = 'application/vnd.oasis.opendocument.chart-template' or . = 'application/vnd.oasis.opendocument.formula' or . = 'application/vnd.oasis.opendocument.formula-template' or . = 'application/vnd.oasis.opendocument.graphics' or . = 'application/vnd.oasis.opendocument.graphics-template' or . = 'application/vnd.oasis.opendocument.image' or . = 'application/vnd.oasis.opendocument.image-template' or . = 'application/vnd.oasis.opendocument.presentation' or . = 'application/vnd.oasis.opendocument.presentation-template' or . = 'application/vnd.oasis.opendocument.spreadsheet' or . = 'application/vnd.oasis.opendocument.spreadsheet-template' or . = 'application/vnd.oasis.opendocument.text' or . = 'application/vnd.oasis.opendocument.text-master' or . = 'application/vnd.oasis.opendocument.text-template' or . = 'application/vnd.oasis.opendocument.text-web' or . = 'application/vnd.obn' or . = 'application/vnd.olpc-sugar' or . = 'application/vnd.oma.bcast.associated-procedure-parameter+xml' or . = 'application/vnd.oma.bcast.drm-trigger+xml' or . = 'application/vnd.oma.bcast.imd+xml' or . = 'application/vnd.oma.bcast.ltkm' or . = 'application/vnd.oma.bcast.notification+xml' or . = 'application/vnd.oma.bcast.sgboot' or . = 'application/vnd.oma.bcast.sgdd+xml' or . = 'application/vnd.oma.bcast.sgdu' or . = 'application/vnd.oma.bcast.simple-symbol-container' or . = 'application/vnd.oma.bcast.smartcard-trigger+xml' or . = 'application/vnd.oma.bcast.sprov+xml' or . = 'application/vnd.oma.bcast.stkm' or . = 'application/vnd.oma.dd2+xml' or . = 'application/vnd.oma.drm.risd+xml' or . = 'application/vnd.oma.group-usage-list+xml' or . = 'application/vnd.oma.poc.detailed-progress-report+xml' or . = 'application/vnd.oma.poc.final-report+xml' or . = 'application/vnd.oma.poc.groups+xml' or . = 'application/vnd.oma.poc.invocation-descriptor+xml' or . = 'application/vnd.oma.poc.optimized-progress-report+xml' or . = 'application/vnd.oma.xcap-directory+xml' or . = 'application/vnd.omads-email+xml' or . = 'application/vnd.omads-file+xml' or . = 'application/vnd.omads-folder+xml' or . = 'application/vnd.omaloc-supl-init' or . = 'application/vnd.oma-scws-config' or . = 'application/vnd.oma-scws-http-request' or . = 'application/vnd.oma-scws-http-response' or . = 'application/vnd.openofficeorg.extension' or . = 'application/vnd.osa.netdeploy' or . = 'application/vnd.osgi.bundle' or . = 'application/vnd.osgi.dp' or . = 'application/vnd.otps.ct-kip+xml' or . = 'application/vnd.palm' or . = 'application/vnd.paos.xml' or . = 'application/vnd.pg.format' or . = 'application/vnd.pg.osasli' or . = 'application/vnd.piaccess.application-licence' or . = 'application/vnd.picsel' or . = 'application/vnd.poc.group-advertisement+xml' or . = 'application/vnd.pocketlearn' or . = 'application/vnd.powerbuilder6' or . = 'application/vnd.powerbuilder6-s' or . = 'application/vnd.powerbuilder7' or . = 'application/vnd.powerbuilder75' or . = 'application/vnd.powerbuilder75-s' or . = 'application/vnd.powerbuilder7-s' or . = 'application/vnd.preminet' or . = 'application/vnd.previewsystems.box' or . = 'application/vnd.proteus.magazine' or . = 'application/vnd.publishare-delta-tree' or . = 'application/vnd.pvi.ptid1' or . = 'application/vnd.pwg-multiplexed' or . = 'application/vnd.pwg-xhtml-print+xml' or . = 'application/vnd.qualcomm.brew-app-res' or . = 'application/vnd.Quark.QuarkXPress' or . = 'application/vnd.rapid' or . = 'application/vnd.recordare.musicxml' or . = 'application/vnd.recordare.musicxml+xml' or . = 'application/vnd.RenLearn.rlprint' or . = 'application/vnd.ruckus.download' or . = 'application/vnd.s3sms' or . = 'application/vnd.sbm.mid2' or . = 'application/vnd.scribus' or . = 'application/vnd.sealed.3df' or . = 'application/vnd.sealed.csf' or . = 'application/vnd.sealed.doc' or . = 'application/vnd.sealed.eml' or . = 'application/vnd.sealed.mht' or . = 'application/vnd.sealed.net' or . = 'application/vnd.sealed.ppt' or . = 'application/vnd.sealed.tiff' or . = 'application/vnd.sealed.xls' or . = 'application/vnd.sealedmedia.softseal.html' or . = 'application/vnd.sealedmedia.softseal.pdf' or . = 'application/vnd.seemail' or . = 'application/vnd.sema' or . = 'application/vnd.semd' or . = 'application/vnd.semf' or . = 'application/vnd.shana.informed.formdata' or . = 'application/vnd.shana.informed.formtemplate' or . = 'application/vnd.shana.informed.interchange' or . = 'application/vnd.shana.informed.package' or . = 'application/vnd.SimTech-MindMapper' or . = 'application/vnd.smaf' or . = 'application/vnd.solent.sdkm+xml' or . = 'application/vnd.spotfire.dxp' or . = 'application/vnd.spotfire.sfs' or . = 'application/vnd.sss-cod' or . = 'application/vnd.sss-dtf' or . = 'application/vnd.sss-ntf' or . = 'application/vnd.street-stream' or . = 'application/vnd.sun.wadl+xml' or . = 'application/vnd.sus-calendar' or . = 'application/vnd.svd' or . = 'application/vnd.swiftview-ics' or . = 'application/vnd.syncml.dm+wbxml' or . = 'application/vnd.syncml.dm+xml' or . = 'application/vnd.syncml.ds.notification' or . = 'application/vnd.syncml+xml' or . = 'application/vnd.tao.intent-module-archive' or . = 'application/vnd.tmobile-livetv' or . = 'application/vnd.trid.tpt' or . = 'application/vnd.triscape.mxs' or . = 'application/vnd.trueapp' or . = 'application/vnd.truedoc' or . = 'application/vnd.ufdl' or . = 'application/vnd.uiq.theme' or . = 'application/vnd.umajin' or . = 'application/vnd.unity' or . = 'application/vnd.uoml+xml' or . = 'application/vnd.uplanet.alert' or . = 'application/vnd.uplanet.alert-wbxml' or . = 'application/vnd.uplanet.bearer-choice' or . = 'application/vnd.uplanet.bearer-choice-wbxml' or . = 'application/vnd.uplanet.cacheop' or . = 'application/vnd.uplanet.cacheop-wbxml' or . = 'application/vnd.uplanet.channel' or . = 'application/vnd.uplanet.channel-wbxml' or . = 'application/vnd.uplanet.list' or . = 'application/vnd.uplanet.listcmd' or . = 'application/vnd.uplanet.listcmd-wbxml' or . = 'application/vnd.uplanet.list-wbxml' or . = 'application/vnd.uplanet.signal' or . = 'application/vnd.vcx' or . = 'application/vnd.vectorworks' or . = 'application/vnd.vd-study' or . = 'application/vnd.vidsoft.vidconference' or . = 'application/vnd.visio' or . = 'application/vnd.visionary' or . = 'application/vnd.vividence.scriptfile' or . = 'application/vnd.vsf' or . = 'application/vnd.wap.sic' or . = 'application/vnd.wap.slc' or . = 'application/vnd.wap.wbxml' or . = 'application/vnd.wap.wmlc' or . = 'application/vnd.wap.wmlscriptc' or . = 'application/vnd.webturbo' or . = 'application/vnd.wfa.wsc' or . = 'application/vnd.wmc' or . = 'application/vnd.wmf.bootstrap' or . = 'application/vnd.wordperfect' or . = 'application/vnd.wqd' or . = 'application/vnd.wrq-hp3000-labelled' or . = 'application/vnd.wt.stf' or . = 'application/vnd.wv.csp+xml' or . = 'application/vnd.wv.csp+wbxml' or . = 'application/vnd.wv.ssp+xml' or . = 'application/vnd.xara' or . = 'application/vnd.xfdl' or . = 'application/vnd.xmpie.cpkg' or . = 'application/vnd.xmpie.dpkg' or . = 'application/vnd.xmpie.plan' or . = 'application/vnd.xmpie.ppkg' or . = 'application/vnd.xmpie.xlim' or . = 'application/vnd.yamaha.hv-dic' or . = 'application/vnd.yamaha.hv-script' or . = 'application/vnd.yamaha.hv-voice' or . = 'application/vnd.yamaha.smaf-audio' or . = 'application/vnd.yamaha.smaf-phrase' or . = 'application/vnd.yellowriver-custom-menu' or . = 'application/vnd.zzazz.deck+xml' or . = 'application/voicexml+xml' or . = 'application/watcherinfo+xml' or . = 'application/whoispp-query' or . = 'application/whoispp-response' or . = 'application/wita' or . = 'application/wordperfect5.1' or . = 'application/wsdl+xml' or . = 'application/wspolicy+xml' or . = 'application/x400-bp' or . = 'application/xcap-att+xml' or . = 'application/xcap-caps+xml' or . = 'application/xcap-el+xml' or . = 'application/xcap-error+xml' or . = 'application/xcap-ns+xml' or . = 'application/xenc+xml' or . = 'application/xhtml-voice+xml (Obsolete)' or . = 'application/xhtml+xml' or . = 'application/xml' or . = 'application/xml-dtd' or . = 'application/xml-external-parsed-entity' or . = 'application/xmpp+xml' or . = 'application/xop+xml' or . = 'application/xv+xml' or . = 'application/zip' or . = 'audio/32kadpcm' or . = 'audio/3gpp' or . = 'audio/3gpp2' or . = 'audio/ac3' or . = 'audio/AMR' or . = 'audio/AMR-WB' or . = 'audio/amr-wb+' or . = 'audio/asc' or . = 'audio/basic' or . = 'audio/BV16' or . = 'audio/BV32' or . = 'audio/clearmode' or . = 'audio/CN' or . = 'audio/DAT12' or . = 'audio/dls' or . = 'audio/dsr-es201108' or . = 'audio/dsr-es202050' or . = 'audio/dsr-es202211' or . = 'audio/dsr-es202212' or . = 'audio/eac3' or . = 'audio/DVI4' or . = 'audio/EVRC' or . = 'audio/EVRC0' or . = 'audio/EVRC1' or . = 'audio/EVRCB' or . = 'audio/EVRCB0' or . = 'audio/EVRCB1' or . = 'audio/EVRC-QCP' or . = 'audio/EVRCWB' or . = 'audio/EVRCWB0' or . = 'audio/EVRCWB1' or . = 'audio/example' or . = 'audio/G722' or . = 'audio/G7221' or . = 'audio/G723' or . = 'audio/G726-16' or . = 'audio/G726-24' or . = 'audio/G726-32' or . = 'audio/G726-40' or . = 'audio/G728' or . = 'audio/G729' or . = 'audio/G7291' or . = 'audio/G729D' or . = 'audio/G729E' or . = 'audio/GSM' or . = 'audio/GSM-EFR' or . = 'audio/iLBC' or . = 'audio/L8' or . = 'audio/L16' or . = 'audio/L20' or . = 'audio/L24' or . = 'audio/LPC' or . = 'audio/mobile-xmf' or . = 'audio/MPA' or . = 'audio/mp4' or . = 'audio/MP4A-LATM' or . = 'audio/mpa-robust' or . = 'audio/mpeg' or . = 'audio/mpeg4-generic' or . = 'audio/parityfec' or . = 'audio/PCMA' or . = 'audio/PCMU' or . = 'audio/prs.sid' or . = 'audio/QCELP' or . = 'audio/RED' or . = 'audio/rtp-enc-aescm128' or . = 'audio/rRFC2045tp-midi' or . = 'audio/rtx' or . = 'audio/SMV' or . = 'audio/SMV0' or . = 'audio/SMV-QCP' or . = 'audio/sp-midi' or . = 'audio/t140c' or . = 'audio/t38' or . = 'audio/telephone-event' or . = 'audio/tone' or . = 'audio/ulpfec' or . = 'audio/VDVI' or . = 'audio/VMR-WB' or . = 'audio/vnd.3gpp.iufp' or . = 'audio/vnd.4SB' or . = 'audio/vnd.audiokoz' or . = 'audio/vnd.CELP' or . = 'audio/vnd.cisco.nse' or . = 'audio/vnd.cmles.radio-events' or . = 'audio/vnd.cns.anp1' or . = 'audio/vnd.cns.inf1' or . = 'audio/vnd.digital-winds' or . = 'audio/vnd.dlna.adts' or . = 'audio/vnd.dolby.mlp' or . = 'audio/vnd.everad.plj' or . = 'audio/vnd.hns.audio' or . = 'audio/vnd.lucent.voice' or . = 'audio/vnd.nokia.mobile-xmf' or . = 'audio/vnd.nortel.vbk' or . = 'audio/vnd.nuera.ecelp4800' or . = 'audio/vnd.nuera.ecelp7470' or . = 'audio/vnd.nuera.ecelp9600' or . = 'audio/vnd.octel.sbc' or . = 'audio/vnd.qcelp - DEPRECATED - Please use audio/qcelp' or . = 'audio/vnd.rhetorex.32kadpcm' or . = 'audio/vnd.sealedmedia.softseal.mpeg' or . = 'audio/vnd.vmx.cvsd' or . = 'image/cgm' or . = 'image/example' or . = 'image/fits' or . = 'image/g3fax' or . = 'image/gif' or . = 'image/ief' or . = 'image/jp2' or . = 'image/jpeg' or . = 'image/jpm' or . = 'image/jpx' or . = 'image/naplps' or . = 'image/png' or . = 'image/prs.btif' or . = 'image/prs.pti' or . = 'image/t38' or . = 'image/tiff' or . = 'image/tiff-fx' or . = 'image/vnd.adobe.photoshop' or . = 'image/vnd.cns.inf2' or . = 'image/vnd.djvu' or . = 'image/vnd.dwg' or . = 'image/vnd.dxf' or . = 'image/vnd.fastbidsheet' or . = 'image/vnd.fpx' or . = 'image/vnd.fst' or . = 'image/vnd.fujixerox.edmics-mmr' or . = 'image/vnd.fujixerox.edmics-rlc' or . = 'image/vnd.globalgraphics.pgb' or . = 'image/vnd.microsoft.icon' or . = 'image/vnd.mix' or . = 'image/vnd.ms-modi' or . = 'image/vnd.net-fpx' or . = 'image/vnd.sealed.png' or . = 'image/vnd.sealedmedia.softseal.gif' or . = 'image/vnd.sealedmedia.softseal.jpg' or . = 'image/vnd.svf' or . = 'image/vnd.wap.wbmp' or . = 'image/vnd.xiff' or . = 'message/CPIM' or . = 'message/delivery-status' or . = 'message/disposition-notification' or . = 'message/example' or . = 'message/external-body' or . = 'message/http' or . = 'message/news' or . = 'message/partial' or . = 'message/rfc822' or . = 'message/s-http' or . = 'message/sip' or . = 'message/sipfrag' or . = 'message/tracking-status' or . = 'message/vnd.si.simp' or . = 'model/example' or . = 'model/iges' or . = 'model/mesh' or . = 'model/vnd.dwf' or . = 'model/vnd.flatland.3dml' or . = 'model/vnd.gdl' or . = 'model/vnd.gs-gdl' or . = 'model/vnd.gtw' or . = 'model/vnd.moml+xml' or . = 'model/vnd.mts' or . = 'model/vnd.parasolid.transmit.binary' or . = 'model/vnd.parasolid.transmit.text' or . = 'model/vnd.vtu' or . = 'model/vrml' or . = 'multipart/alternative' or . = 'multipart/appledouble' or . = 'multipart/byteranges' or . = 'multipart/digest' or . = 'multipart/encrypted' or . = 'multipart/example' or . = 'multipart/form-data' or . = 'multipart/header-set' or . = 'multipart/mixed' or . = 'multipart/parallel' or . = 'multipart/related' or . = 'multipart/report' or . = 'multipart/signed' or . = 'multipart/voice-message' or . = 'text/calendar' or . = 'text/css' or . = 'text/csv' or . = 'text/directory' or . = 'text/dns' or . = 'text/ecmascript (obsolete)' or . = 'text/enriched' or . = 'text/example' or . = 'text/html' or . = 'text/javascript (obsolete)' or . = 'text/parityfec' or . = 'text/plain' or . = 'text/prs.fallenstein.rst' or . = 'text/prs.lines.tag' or . = 'text/RED' or . = 'text/rfc822-headers' or . = 'text/richtext' or . = 'text/rtf' or . = 'text/rtp-enc-aescm128' or . = 'text/rtx' or . = 'text/sgml' or . = 'text/t140' or . = 'text/tab-separated-values' or . = 'text/troff' or . = 'text/ulpfec' or . = 'text/uri-list' or . = 'text/vnd.abc' or . = 'text/vnd.curl' or . = 'text/vnd.DMClientScript' or . = 'text/vnd.esmertec.theme-descriptor' or . = 'text/vnd.fly' or . = 'text/vnd.fmi.flexstor' or . = 'text/vnd.in3d.3dml' or . = 'text/vnd.in3d.spot' or . = 'text/vnd.IPTC.NewsML' or . = 'text/vnd.IPTC.NITF' or . = 'text/vnd.latex-z' or . = 'text/vnd.motorola.reflex' or . = 'text/vnd.ms-mediapackage' or . = 'text/vnd.net2phone.commcenter.command' or . = 'text/vnd.si.uricatalogue' or . = 'text/vnd.sun.j2me.app-descriptor' or . = 'text/vnd.trolltech.linguist' or . = 'text/vnd.wap.si' or . = 'text/vnd.wap.sl' or . = 'text/vnd.wap.wml' or . = 'text/vnd.wap.wmlscript' or . = 'text/xml' or . = 'text/xml-external-parsed-entity' or . = 'video/3gpp' or . = 'video/3gpp2' or . = 'video/3gpp-tt' or . = 'video/BMPEG' or . = 'video/BT656' or . = 'video/CelB' or . = 'video/DV' or . = 'video/example' or . = 'video/H261' or . = 'video/H263' or . = 'video/H263-1998' or . = 'video/H263-2000' or . = 'video/H264' or . = 'video/JPEG' or . = 'video/MJ2' or . = 'video/MP1S' or . = 'video/MP2P' or . = 'video/MP2T' or . = 'video/mp4' or . = 'video/MP4V-ES' or . = 'video/MPV' or . = 'video/mpeg' or . = 'video/mpeg4-generic' or . = 'video/nv' or . = 'video/parityfec' or . = 'video/pointer' or . = 'video/quicktime' or . = 'video/raw' or . = 'video/rtp-enc-aescm128' or . = 'video/rtx' or . = 'video/SMPTE292M' or . = 'video/ulpfec' or . = 'video/vc1' or . = 'video/vnd.dlna.mpeg-tts' or . = 'video/vnd.fvt' or . = 'video/vnd.hns.video' or . = 'video/vnd.iptvforum.1dparityfec-1010' or . = 'video/vnd.iptvforum.1dparityfec-2005' or . = 'video/vnd.iptvforum.2dparityfec-1010' or . = 'video/vnd.iptvforum.2dparityfec-2005' or . = 'video/vnd.iptvforum.ttsavc' or . = 'video/vnd.iptvforum.ttsmpeg2' or . = 'video/vnd.motorola.video' or . = 'video/vnd.motorola.videop' or . = 'video/vnd.mpegurl' or . = 'video/vnd.nokia.interleaved-multimedia' or . = 'video/vnd.nokia.videovoip' or . = 'video/vnd.objectvideo' or . = 'video/vnd.sealed.mpeg1' or . = 'video/vnd.sealed.mpeg4' or . = 'video/vnd.sealed.swf' or . = 'video/vnd.sealedmedia.softseal.mov' or . = 'video/vnd.vivo' ) )"/>
|
1148
|
+
<axsl:otherwise>
|
1149
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="( ( . = 'application/activemessage' or . = 'application/andrew-inset' or . = 'application/applefile' or . = 'application/atom+xml' or . = 'application/atomicmail' or . = 'application/atomcat+xml' or . = 'application/atomsvc+xml' or . = 'application/auth-policy+xml' or . = 'application/batch-SMTP' or . = 'application/beep+xml' or . = 'application/cals-1840' or . = 'application/ccxml+xml' or . = 'application/cellml+xml' or . = 'application/cnrp+xml' or . = 'application/commonground' or . = 'application/conference-info+xml' or . = 'application/cpl+xml' or . = 'application/csta+xml' or . = 'application/CSTAdata+xml' or . = 'application/cybercash' or . = 'application/davmount+xml' or . = 'application/dca-rft' or . = 'application/dec-dx' or . = 'application/dialog-info+xml' or . = 'application/dicom' or . = 'application/dns' or . = 'application/dvcs' or . = 'application/ecmascript' or . = 'application/EDI-Consent' or . = 'application/EDIFACT' or . = 'application/EDI-X12' or . = 'application/epp+xml' or . = 'application/eshop' or . = 'application/example' or . = 'application/fastinfoset' or . = 'application/fastsoap' or . = 'application/fits' or . = 'application/font-tdpfr' or . = 'application/H224' or . = 'application/http' or . = 'application/hyperstudio' or . = 'application/iges' or . = 'application/im-iscomposing+xml' or . = 'application/index' or . = 'application/index.cmd' or . = 'application/index.obj' or . = 'application/index.response' or . = 'application/index.vnd' or . = 'application/iotp' or . = 'application/ipp' or . = 'application/isup' or . = 'application/javascript' or . = 'application/json' or . = 'application/kpml-request+xml' or . = 'application/kpml-response+xml' or . = 'application/mac-binhex40' or . = 'application/macwriteii' or . = 'application/marc' or . = 'application/mathematica' or . = 'application/mbms-associated-procedure-description+xml' or . = 'application/mbms-deregister+xml' or . = 'application/mbms-envelope+xml' or . = 'application/mbms-msk-response+xml' or . = 'application/mbms-msk+xml' or . = 'application/mbms-protection-description+xml' or . = 'application/mbms-reception-report+xml' or . = 'application/mbms-register-response+xml' or . = 'application/mbms-register+xml' or . = 'application/mbms-user-service-description+xml' or . = 'application/mbox' or . = 'application/media_control+xml' or . = 'application/mediaservercontrol+xml' or . = 'application/mikey' or . = 'application/moss-keys' or . = 'application/moss-signature' or . = 'application/mosskey-data' or . = 'application/mosskey-request' or . = 'application/mpeg4-generic' or . = 'application/mpeg4-iod' or . = 'application/mpeg4-iod-xmt' or . = 'application/mp4' or . = 'application/msword' or . = 'application/mxf' or . = 'application/nasdata' or . = 'application/news-message-id' or . = 'application/news-transmission' or . = 'application/nss' or . = 'application/ocsp-request' or . = 'application/ocsp-response' or . = 'application/octet-stream' or . = 'application/oda' or . = 'application/oebps-package+xml' or . = 'application/ogg' or . = 'application/parityfec' or . = 'application/pdf' or . = 'application/pgp-encrypted' or . = 'application/pgp-keys' or . = 'application/pgp-signature' or . = 'application/pidf+xml' or . = 'application/pkcs10' or . = 'application/pkcs7-mime' or . = 'application/pkcs7-signature' or . = 'application/pkix-cert' or . = 'application/pkixcmp' or . = 'application/pkix-crl' or . = 'application/pkix-pkipath' or . = 'application/pls+xml' or . = 'application/poc-settings+xml' or . = 'application/postscript' or . = 'application/prs.alvestrand.titrax-sheet' or . = 'application/prs.cww' or . = 'application/prs.nprend' or . = 'application/prs.plucker' or . = 'application/rdf+xml' or . = 'application/qsig' or . = 'application/reginfo+xml' or . = 'application/relax-ng-compact-syntax' or . = 'application/remote-printing' or . = 'application/resource-lists+xml' or . = 'application/riscos' or . = 'application/rlmi+xml' or . = 'application/rls-services+xml' or . = 'application/rtf' or . = 'application/rtx' or . = 'application/samlassertion+xml' or . = 'application/samlmetadata+xml' or . = 'application/sbml+xml' or . = 'application/scvp-cv-request' or . = 'application/scvp-cv-response' or . = 'application/scvp-vp-request' or . = 'application/scvp-vp-response' or . = 'application/sdp' or . = 'application/set-payment' or . = 'application/set-payment-initiation' or . = 'application/set-registration' or . = 'application/set-registration-initiation' or . = 'application/sgml' or . = 'application/sgml-open-catalog' or . = 'application/shf+xml' or . = 'application/sieve' or . = 'application/simple-filter+xml' or . = 'application/simple-message-summary' or . = 'application/simpleSymbolContainer' or . = 'application/slate' or . = 'application/smil (OBSOLETE)' or . = 'application/smil+xml' or . = 'application/soap+fastinfoset' or . = 'application/soap+xml' or . = 'application/sparql-query' or . = 'application/sparql-results+xml' or . = 'application/spirits-event+xml' or . = 'application/srgs' or . = 'application/srgs+xml' or . = 'application/ssml+xml' or . = 'application/timestamp-query' or . = 'application/timestamp-reply' or . = 'application/tve-trigger' or . = 'application/ulpfec' or . = 'application/vemmi' or . = 'application/vnd.3gpp.bsf+xml' or . = 'application/vnd.3gpp.pic-bw-large' or . = 'application/vnd.3gpp.pic-bw-small' or . = 'application/vnd.3gpp.pic-bw-var' or . = 'application/vnd.3gpp.sms' or . = 'application/vnd.3gpp2.bcmcsinfo+xml' or . = 'application/vnd.3gpp2.sms' or . = 'application/vnd.3gpp2.tcap' or . = 'application/vnd.3M.Post-it-Notes' or . = 'application/vnd.accpac.simply.aso' or . = 'application/vnd.accpac.simply.imp' or . = 'application/vnd.acucobol' or . = 'application/vnd.acucorp' or . = 'application/vnd.adobe.xdp+xml' or . = 'application/vnd.adobe.xfdf' or . = 'application/vnd.aether.imp' or . = 'application/vnd.americandynamics.acc' or . = 'application/vnd.amiga.ami' or . = 'application/vnd.anser-web-certificate-issue-initiation' or . = 'application/vnd.antix.game-component' or . = 'application/vnd.apple.installer+xml' or . = 'application/vnd.audiograph' or . = 'application/vnd.autopackage' or . = 'application/vnd.avistar+xml' or . = 'application/vnd.blueice.multipass' or . = 'application/vnd.bmi' or . = 'application/vnd.businessobjects' or . = 'application/vnd.cab-jscript' or . = 'application/vnd.canon-cpdl' or . = 'application/vnd.canon-lips' or . = 'application/vnd.cendio.thinlinc.clientconf' or . = 'application/vnd.chemdraw+xml' or . = 'application/vnd.chipnuts.karaoke-mmd' or . = 'application/vnd.cinderella' or . = 'application/vnd.cirpack.isdn-ext' or . = 'application/vnd.claymore' or . = 'application/vnd.clonk.c4group' or . = 'application/vnd.commerce-battelle' or . = 'application/vnd.commonspace' or . = 'application/vnd.cosmocaller' or . = 'application/vnd.contact.cmsg' or . = 'application/vnd.crick.clicker' or . = 'application/vnd.crick.clicker.keyboard' or . = 'application/vnd.crick.clicker.palette' or . = 'application/vnd.crick.clicker.template' or . = 'application/vnd.crick.clicker.wordbank' or . = 'application/vnd.criticaltools.wbs+xml' or . = 'application/vnd.ctc-posml' or . = 'application/vnd.ctct.ws+xml' or . = 'application/vnd.cups-pdf' or . = 'application/vnd.cups-postscript' or . = 'application/vnd.cups-ppd' or . = 'application/vnd.cups-raster' or . = 'application/vnd.cups-raw' or . = 'application/vnd.curl' or . = 'application/vnd.cybank' or . = 'application/vnd.data-vision.rdz' or . = 'application/vnd.denovo.fcselayout-link' or . = 'application/vnd.dna' or . = 'application/vnd.dpgraph' or . = 'application/vnd.dreamfactory' or . = 'application/vnd.dvb.esgcontainer' or . = 'application/vnd.dvb.ipdcesgaccess' or . = 'application/vnd.dxr' or . = 'application/vnd.ecdis-update' or . = 'application/vnd.ecowin.chart' or . = 'application/vnd.ecowin.filerequest' or . = 'application/vnd.ecowin.fileupdate' or . = 'application/vnd.ecowin.series' or . = 'application/vnd.ecowin.seriesrequest' or . = 'application/vnd.ecowin.seriesupdate' or . = 'application/vnd.enliven' or . = 'application/vnd.epson.esf' or . = 'application/vnd.epson.msf' or . = 'application/vnd.epson.quickanime' or . = 'application/vnd.epson.salt' or . = 'application/vnd.epson.ssf' or . = 'application/vnd.ericsson.quickcall' or . = 'application/vnd.eszigno3+xml' or . = 'application/vnd.eudora.data' or . = 'application/vnd.ezpix-album' or . = 'application/vnd.ezpix-package' or . = 'application/vnd.fdf' or . = 'application/vnd.ffsns' or . = 'application/vnd.fints' or . = 'application/vnd.FloGraphIt' or . = 'application/vnd.fluxtime.clip' or . = 'application/vnd.framemaker' or . = 'application/vnd.frogans.fnc' or . = 'application/vnd.frogans.ltf' or . = 'application/vnd.fsc.weblaunch' or . = 'application/vnd.fujitsu.oasys' or . = 'application/vnd.fujitsu.oasys2' or . = 'application/vnd.fujitsu.oasys3' or . = 'application/vnd.fujitsu.oasysgp' or . = 'application/vnd.fujitsu.oasysprs' or . = 'application/vnd.fujixerox.ART4' or . = 'application/vnd.fujixerox.ART-EX' or . = 'application/vnd.fujixerox.ddd' or . = 'application/vnd.fujixerox.docuworks' or . = 'application/vnd.fujixerox.docuworks.binder' or . = 'application/vnd.fujixerox.HBPL' or . = 'application/vnd.fut-misnet' or . = 'application/vnd.fuzzysheet' or . = 'application/vnd.genomatix.tuxedo' or . = 'application/vnd.google-earth.kml+xml' or . = 'application/vnd.google-earth.kmz' or . = 'application/vnd.grafeq' or . = 'application/vnd.gridmp' or . = 'application/vnd.groove-account' or . = 'application/vnd.groove-help' or . = 'application/vnd.groove-identity-message' or . = 'application/vnd.groove-injector' or . = 'application/vnd.groove-tool-message' or . = 'application/vnd.groove-tool-template' or . = 'application/vnd.groove-vcard' or . = 'application/vnd.HandHeld-Entertainment+xml' or . = 'application/vnd.hbci' or . = 'application/vnd.hcl-bireports' or . = 'application/vnd.hhe.lesson-player' or . = 'application/vnd.hp-HPGL' or . = 'application/vnd.hp-hpid' or . = 'application/vnd.hp-hps' or . = 'application/vnd.hp-jlyt' or . = 'application/vnd.hp-PCL' or . = 'application/vnd.hp-PCLXL' or . = 'application/vnd.httphone' or . = 'application/vnd.hzn-3d-crossword' or . = 'application/vnd.ibm.afplinedata' or . = 'application/vnd.ibm.electronic-media' or . = 'application/vnd.ibm.MiniPay' or . = 'application/vnd.ibm.modcap' or . = 'application/vnd.ibm.rights-management' or . = 'application/vnd.ibm.secure-container' or . = 'application/vnd.iccprofile' or . = 'application/vnd.igloader' or . = 'application/vnd.immervision-ivp' or . = 'application/vnd.immervision-ivu' or . = 'application/vnd.informedcontrol.rms+xml' or . = 'application/vnd.informix-visionary' or . = 'application/vnd.intercon.formnet' or . = 'application/vnd.intertrust.digibox' or . = 'application/vnd.intertrust.nncp' or . = 'application/vnd.intu.qbo' or . = 'application/vnd.intu.qfx' or . = 'application/vnd.ipunplugged.rcprofile' or . = 'application/vnd.irepository.package+xml' or . = 'application/vnd.is-xpr' or . = 'application/vnd.jam' or . = 'application/vnd.japannet-directory-service' or . = 'application/vnd.japannet-jpnstore-wakeup' or . = 'application/vnd.japannet-payment-wakeup' or . = 'application/vnd.japannet-registration' or . = 'application/vnd.japannet-registration-wakeup' or . = 'application/vnd.japannet-setstore-wakeup' or . = 'application/vnd.japannet-verification' or . = 'application/vnd.japannet-verification-wakeup' or . = 'application/vnd.jcp.javame.midlet-rms' or . = 'application/vnd.jisp' or . = 'application/vnd.joost.joda-archive' or . = 'application/vnd.kahootz' or . = 'application/vnd.kde.karbon' or . = 'application/vnd.kde.kchart' or . = 'application/vnd.kde.kformula' or . = 'application/vnd.kde.kivio' or . = 'application/vnd.kde.kontour' or . = 'application/vnd.kde.kpresenter' or . = 'application/vnd.kde.kspread' or . = 'application/vnd.kde.kword' or . = 'application/vnd.kenameaapp' or . = 'application/vnd.kidspiration' or . = 'application/vnd.Kinar' or . = 'application/vnd.koan' or . = 'application/vnd.kodak-descriptor' or . = 'application/vnd.liberty-request+xml' or . = 'application/vnd.llamagraphics.life-balance.desktop' or . = 'application/vnd.llamagraphics.life-balance.exchange+xml' or . = 'application/vnd.lotus-1-2-3' or . = 'application/vnd.lotus-approach' or . = 'application/vnd.lotus-freelance' or . = 'application/vnd.lotus-notes' or . = 'application/vnd.lotus-organizer' or . = 'application/vnd.lotus-screencam' or . = 'application/vnd.lotus-wordpro' or . = 'application/vnd.macports.portpkg' or . = 'application/vnd.marlin.drm.actiontoken+xml' or . = 'application/vnd.marlin.drm.conftoken+xml' or . = 'application/vnd.marlin.drm.mdcf' or . = 'application/vnd.mcd' or . = 'application/vnd.medcalcdata' or . = 'application/vnd.mediastation.cdkey' or . = 'application/vnd.meridian-slingshot' or . = 'application/vnd.MFER' or . = 'application/vnd.mfmp' or . = 'application/vnd.micrografx.flo' or . = 'application/vnd.micrografx.igx' or . = 'application/vnd.mif' or . = 'application/vnd.minisoft-hp3000-save' or . = 'application/vnd.mitsubishi.misty-guard.trustweb' or . = 'application/vnd.Mobius.DAF' or . = 'application/vnd.Mobius.DIS' or . = 'application/vnd.Mobius.MBK' or . = 'application/vnd.Mobius.MQY' or . = 'application/vnd.Mobius.MSL' or . = 'application/vnd.Mobius.PLC' or . = 'application/vnd.Mobius.TXF' or . = 'application/vnd.mophun.application' or . = 'application/vnd.mophun.certificate' or . = 'application/vnd.motorola.flexsuite' or . = 'application/vnd.motorola.flexsuite.adsi' or . = 'application/vnd.motorola.flexsuite.fis' or . = 'application/vnd.motorola.flexsuite.gotap' or . = 'application/vnd.motorola.flexsuite.kmr' or . = 'application/vnd.motorola.flexsuite.ttc' or . = 'application/vnd.motorola.flexsuite.wem' or . = 'application/vnd.mozilla.xul+xml' or . = 'application/vnd.ms-artgalry' or . = 'application/vnd.ms-asf' or . = 'application/vnd.ms-cab-compressed' or . = 'application/vnd.mseq' or . = 'application/vnd.ms-excel' or . = 'application/vnd.ms-fontobject' or . = 'application/vnd.ms-htmlhelp' or . = 'application/vnd.msign' or . = 'application/vnd.ms-ims' or . = 'application/vnd.ms-lrm' or . = 'application/vnd.ms-playready.initiator+xml' or . = 'application/vnd.ms-powerpoint' or . = 'application/vnd.ms-project' or . = 'application/vnd.ms-tnef' or . = 'application/vnd.ms-wmdrm.lic-chlg-req' or . = 'application/vnd.ms-wmdrm.lic-resp' or . = 'application/vnd.ms-wmdrm.meter-chlg-req' or . = 'application/vnd.ms-wmdrm.meter-resp' or . = 'application/vnd.ms-works' or . = 'application/vnd.ms-wpl' or . = 'application/vnd.ms-xpsdocument' or . = 'application/vnd.multiad.creator' or . = 'application/vnd.multiad.creator.cif' or . = 'application/vnd.musician' or . = 'application/vnd.music-niff' or . = 'application/vnd.muvee.style' or . = 'application/vnd.ncd.control' or . = 'application/vnd.ncd.reference' or . = 'application/vnd.nervana' or . = 'application/vnd.netfpx' or . = 'application/vnd.neurolanguage.nlu' or . = 'application/vnd.noblenet-directory' or . = 'application/vnd.noblenet-sealer' or . = 'application/vnd.noblenet-web' or . = 'application/vnd.nokia.catalogs' or . = 'application/vnd.nokia.conml+wbxml' or . = 'application/vnd.nokia.conml+xml' or . = 'application/vnd.nokia.iptv.config+xml' or . = 'application/vnd.nokia.iSDS-radio-presets' or . = 'application/vnd.nokia.landmark+wbxml' or . = 'application/vnd.nokia.landmark+xml' or . = 'application/vnd.nokia.landmarkcollection+xml' or . = 'application/vnd.nokia.ncd' or . = 'application/vnd.nokia.n-gage.ac+xml' or . = 'application/vnd.nokia.n-gage.data' or . = 'application/vnd.nokia.n-gage.symbian.install' or . = 'application/vnd.nokia.pcd+wbxml' or . = 'application/vnd.nokia.pcd+xml' or . = 'application/vnd.nokia.radio-preset' or . = 'application/vnd.nokia.radio-presets' or . = 'application/vnd.novadigm.EDM' or . = 'application/vnd.novadigm.EDX' or . = 'application/vnd.novadigm.EXT' or . = 'application/vnd.oasis.opendocument.chart' or . = 'application/vnd.oasis.opendocument.chart-template' or . = 'application/vnd.oasis.opendocument.formula' or . = 'application/vnd.oasis.opendocument.formula-template' or . = 'application/vnd.oasis.opendocument.graphics' or . = 'application/vnd.oasis.opendocument.graphics-template' or . = 'application/vnd.oasis.opendocument.image' or . = 'application/vnd.oasis.opendocument.image-template' or . = 'application/vnd.oasis.opendocument.presentation' or . = 'application/vnd.oasis.opendocument.presentation-template' or . = 'application/vnd.oasis.opendocument.spreadsheet' or . = 'application/vnd.oasis.opendocument.spreadsheet-template' or . = 'application/vnd.oasis.opendocument.text' or . = 'application/vnd.oasis.opendocument.text-master' or . = 'application/vnd.oasis.opendocument.text-template' or . = 'application/vnd.oasis.opendocument.text-web' or . = 'application/vnd.obn' or . = 'application/vnd.olpc-sugar' or . = 'application/vnd.oma.bcast.associated-procedure-parameter+xml' or . = 'application/vnd.oma.bcast.drm-trigger+xml' or . = 'application/vnd.oma.bcast.imd+xml' or . = 'application/vnd.oma.bcast.ltkm' or . = 'application/vnd.oma.bcast.notification+xml' or . = 'application/vnd.oma.bcast.sgboot' or . = 'application/vnd.oma.bcast.sgdd+xml' or . = 'application/vnd.oma.bcast.sgdu' or . = 'application/vnd.oma.bcast.simple-symbol-container' or . = 'application/vnd.oma.bcast.smartcard-trigger+xml' or . = 'application/vnd.oma.bcast.sprov+xml' or . = 'application/vnd.oma.bcast.stkm' or . = 'application/vnd.oma.dd2+xml' or . = 'application/vnd.oma.drm.risd+xml' or . = 'application/vnd.oma.group-usage-list+xml' or . = 'application/vnd.oma.poc.detailed-progress-report+xml' or . = 'application/vnd.oma.poc.final-report+xml' or . = 'application/vnd.oma.poc.groups+xml' or . = 'application/vnd.oma.poc.invocation-descriptor+xml' or . = 'application/vnd.oma.poc.optimized-progress-report+xml' or . = 'application/vnd.oma.xcap-directory+xml' or . = 'application/vnd.omads-email+xml' or . = 'application/vnd.omads-file+xml' or . = 'application/vnd.omads-folder+xml' or . = 'application/vnd.omaloc-supl-init' or . = 'application/vnd.oma-scws-config' or . = 'application/vnd.oma-scws-http-request' or . = 'application/vnd.oma-scws-http-response' or . = 'application/vnd.openofficeorg.extension' or . = 'application/vnd.osa.netdeploy' or . = 'application/vnd.osgi.bundle' or . = 'application/vnd.osgi.dp' or . = 'application/vnd.otps.ct-kip+xml' or . = 'application/vnd.palm' or . = 'application/vnd.paos.xml' or . = 'application/vnd.pg.format' or . = 'application/vnd.pg.osasli' or . = 'application/vnd.piaccess.application-licence' or . = 'application/vnd.picsel' or . = 'application/vnd.poc.group-advertisement+xml' or . = 'application/vnd.pocketlearn' or . = 'application/vnd.powerbuilder6' or . = 'application/vnd.powerbuilder6-s' or . = 'application/vnd.powerbuilder7' or . = 'application/vnd.powerbuilder75' or . = 'application/vnd.powerbuilder75-s' or . = 'application/vnd.powerbuilder7-s' or . = 'application/vnd.preminet' or . = 'application/vnd.previewsystems.box' or . = 'application/vnd.proteus.magazine' or . = 'application/vnd.publishare-delta-tree' or . = 'application/vnd.pvi.ptid1' or . = 'application/vnd.pwg-multiplexed' or . = 'application/vnd.pwg-xhtml-print+xml' or . = 'application/vnd.qualcomm.brew-app-res' or . = 'application/vnd.Quark.QuarkXPress' or . = 'application/vnd.rapid' or . = 'application/vnd.recordare.musicxml' or . = 'application/vnd.recordare.musicxml+xml' or . = 'application/vnd.RenLearn.rlprint' or . = 'application/vnd.ruckus.download' or . = 'application/vnd.s3sms' or . = 'application/vnd.sbm.mid2' or . = 'application/vnd.scribus' or . = 'application/vnd.sealed.3df' or . = 'application/vnd.sealed.csf' or . = 'application/vnd.sealed.doc' or . = 'application/vnd.sealed.eml' or . = 'application/vnd.sealed.mht' or . = 'application/vnd.sealed.net' or . = 'application/vnd.sealed.ppt' or . = 'application/vnd.sealed.tiff' or . = 'application/vnd.sealed.xls' or . = 'application/vnd.sealedmedia.softseal.html' or . = 'application/vnd.sealedmedia.softseal.pdf' or . = 'application/vnd.seemail' or . = 'application/vnd.sema' or . = 'application/vnd.semd' or . = 'application/vnd.semf' or . = 'application/vnd.shana.informed.formdata' or . = 'application/vnd.shana.informed.formtemplate' or . = 'application/vnd.shana.informed.interchange' or . = 'application/vnd.shana.informed.package' or . = 'application/vnd.SimTech-MindMapper' or . = 'application/vnd.smaf' or . = 'application/vnd.solent.sdkm+xml' or . = 'application/vnd.spotfire.dxp' or . = 'application/vnd.spotfire.sfs' or . = 'application/vnd.sss-cod' or . = 'application/vnd.sss-dtf' or . = 'application/vnd.sss-ntf' or . = 'application/vnd.street-stream' or . = 'application/vnd.sun.wadl+xml' or . = 'application/vnd.sus-calendar' or . = 'application/vnd.svd' or . = 'application/vnd.swiftview-ics' or . = 'application/vnd.syncml.dm+wbxml' or . = 'application/vnd.syncml.dm+xml' or . = 'application/vnd.syncml.ds.notification' or . = 'application/vnd.syncml+xml' or . = 'application/vnd.tao.intent-module-archive' or . = 'application/vnd.tmobile-livetv' or . = 'application/vnd.trid.tpt' or . = 'application/vnd.triscape.mxs' or . = 'application/vnd.trueapp' or . = 'application/vnd.truedoc' or . = 'application/vnd.ufdl' or . = 'application/vnd.uiq.theme' or . = 'application/vnd.umajin' or . = 'application/vnd.unity' or . = 'application/vnd.uoml+xml' or . = 'application/vnd.uplanet.alert' or . = 'application/vnd.uplanet.alert-wbxml' or . = 'application/vnd.uplanet.bearer-choice' or . = 'application/vnd.uplanet.bearer-choice-wbxml' or . = 'application/vnd.uplanet.cacheop' or . = 'application/vnd.uplanet.cacheop-wbxml' or . = 'application/vnd.uplanet.channel' or . = 'application/vnd.uplanet.channel-wbxml' or . = 'application/vnd.uplanet.list' or . = 'application/vnd.uplanet.listcmd' or . = 'application/vnd.uplanet.listcmd-wbxml' or . = 'application/vnd.uplanet.list-wbxml' or . = 'application/vnd.uplanet.signal' or . = 'application/vnd.vcx' or . = 'application/vnd.vectorworks' or . = 'application/vnd.vd-study' or . = 'application/vnd.vidsoft.vidconference' or . = 'application/vnd.visio' or . = 'application/vnd.visionary' or . = 'application/vnd.vividence.scriptfile' or . = 'application/vnd.vsf' or . = 'application/vnd.wap.sic' or . = 'application/vnd.wap.slc' or . = 'application/vnd.wap.wbxml' or . = 'application/vnd.wap.wmlc' or . = 'application/vnd.wap.wmlscriptc' or . = 'application/vnd.webturbo' or . = 'application/vnd.wfa.wsc' or . = 'application/vnd.wmc' or . = 'application/vnd.wmf.bootstrap' or . = 'application/vnd.wordperfect' or . = 'application/vnd.wqd' or . = 'application/vnd.wrq-hp3000-labelled' or . = 'application/vnd.wt.stf' or . = 'application/vnd.wv.csp+xml' or . = 'application/vnd.wv.csp+wbxml' or . = 'application/vnd.wv.ssp+xml' or . = 'application/vnd.xara' or . = 'application/vnd.xfdl' or . = 'application/vnd.xmpie.cpkg' or . = 'application/vnd.xmpie.dpkg' or . = 'application/vnd.xmpie.plan' or . = 'application/vnd.xmpie.ppkg' or . = 'application/vnd.xmpie.xlim' or . = 'application/vnd.yamaha.hv-dic' or . = 'application/vnd.yamaha.hv-script' or . = 'application/vnd.yamaha.hv-voice' or . = 'application/vnd.yamaha.smaf-audio' or . = 'application/vnd.yamaha.smaf-phrase' or . = 'application/vnd.yellowriver-custom-menu' or . = 'application/vnd.zzazz.deck+xml' or . = 'application/voicexml+xml' or . = 'application/watcherinfo+xml' or . = 'application/whoispp-query' or . = 'application/whoispp-response' or . = 'application/wita' or . = 'application/wordperfect5.1' or . = 'application/wsdl+xml' or . = 'application/wspolicy+xml' or . = 'application/x400-bp' or . = 'application/xcap-att+xml' or . = 'application/xcap-caps+xml' or . = 'application/xcap-el+xml' or . = 'application/xcap-error+xml' or . = 'application/xcap-ns+xml' or . = 'application/xenc+xml' or . = 'application/xhtml-voice+xml (Obsolete)' or . = 'application/xhtml+xml' or . = 'application/xml' or . = 'application/xml-dtd' or . = 'application/xml-external-parsed-entity' or . = 'application/xmpp+xml' or . = 'application/xop+xml' or . = 'application/xv+xml' or . = 'application/zip' or . = 'audio/32kadpcm' or . = 'audio/3gpp' or . = 'audio/3gpp2' or . = 'audio/ac3' or . = 'audio/AMR' or . = 'audio/AMR-WB' or . = 'audio/amr-wb+' or . = 'audio/asc' or . = 'audio/basic' or . = 'audio/BV16' or . = 'audio/BV32' or . = 'audio/clearmode' or . = 'audio/CN' or . = 'audio/DAT12' or . = 'audio/dls' or . = 'audio/dsr-es201108' or . = 'audio/dsr-es202050' or . = 'audio/dsr-es202211' or . = 'audio/dsr-es202212' or . = 'audio/eac3' or . = 'audio/DVI4' or . = 'audio/EVRC' or . = 'audio/EVRC0' or . = 'audio/EVRC1' or . = 'audio/EVRCB' or . = 'audio/EVRCB0' or . = 'audio/EVRCB1' or . = 'audio/EVRC-QCP' or . = 'audio/EVRCWB' or . = 'audio/EVRCWB0' or . = 'audio/EVRCWB1' or . = 'audio/example' or . = 'audio/G722' or . = 'audio/G7221' or . = 'audio/G723' or . = 'audio/G726-16' or . = 'audio/G726-24' or . = 'audio/G726-32' or . = 'audio/G726-40' or . = 'audio/G728' or . = 'audio/G729' or . = 'audio/G7291' or . = 'audio/G729D' or . = 'audio/G729E' or . = 'audio/GSM' or . = 'audio/GSM-EFR' or . = 'audio/iLBC' or . = 'audio/L8' or . = 'audio/L16' or . = 'audio/L20' or . = 'audio/L24' or . = 'audio/LPC' or . = 'audio/mobile-xmf' or . = 'audio/MPA' or . = 'audio/mp4' or . = 'audio/MP4A-LATM' or . = 'audio/mpa-robust' or . = 'audio/mpeg' or . = 'audio/mpeg4-generic' or . = 'audio/parityfec' or . = 'audio/PCMA' or . = 'audio/PCMU' or . = 'audio/prs.sid' or . = 'audio/QCELP' or . = 'audio/RED' or . = 'audio/rtp-enc-aescm128' or . = 'audio/rRFC2045tp-midi' or . = 'audio/rtx' or . = 'audio/SMV' or . = 'audio/SMV0' or . = 'audio/SMV-QCP' or . = 'audio/sp-midi' or . = 'audio/t140c' or . = 'audio/t38' or . = 'audio/telephone-event' or . = 'audio/tone' or . = 'audio/ulpfec' or . = 'audio/VDVI' or . = 'audio/VMR-WB' or . = 'audio/vnd.3gpp.iufp' or . = 'audio/vnd.4SB' or . = 'audio/vnd.audiokoz' or . = 'audio/vnd.CELP' or . = 'audio/vnd.cisco.nse' or . = 'audio/vnd.cmles.radio-events' or . = 'audio/vnd.cns.anp1' or . = 'audio/vnd.cns.inf1' or . = 'audio/vnd.digital-winds' or . = 'audio/vnd.dlna.adts' or . = 'audio/vnd.dolby.mlp' or . = 'audio/vnd.everad.plj' or . = 'audio/vnd.hns.audio' or . = 'audio/vnd.lucent.voice' or . = 'audio/vnd.nokia.mobile-xmf' or . = 'audio/vnd.nortel.vbk' or . = 'audio/vnd.nuera.ecelp4800' or . = 'audio/vnd.nuera.ecelp7470' or . = 'audio/vnd.nuera.ecelp9600' or . = 'audio/vnd.octel.sbc' or . = 'audio/vnd.qcelp - DEPRECATED - Please use audio/qcelp' or . = 'audio/vnd.rhetorex.32kadpcm' or . = 'audio/vnd.sealedmedia.softseal.mpeg' or . = 'audio/vnd.vmx.cvsd' or . = 'image/cgm' or . = 'image/example' or . = 'image/fits' or . = 'image/g3fax' or . = 'image/gif' or . = 'image/ief' or . = 'image/jp2' or . = 'image/jpeg' or . = 'image/jpm' or . = 'image/jpx' or . = 'image/naplps' or . = 'image/png' or . = 'image/prs.btif' or . = 'image/prs.pti' or . = 'image/t38' or . = 'image/tiff' or . = 'image/tiff-fx' or . = 'image/vnd.adobe.photoshop' or . = 'image/vnd.cns.inf2' or . = 'image/vnd.djvu' or . = 'image/vnd.dwg' or . = 'image/vnd.dxf' or . = 'image/vnd.fastbidsheet' or . = 'image/vnd.fpx' or . = 'image/vnd.fst' or . = 'image/vnd.fujixerox.edmics-mmr' or . = 'image/vnd.fujixerox.edmics-rlc' or . = 'image/vnd.globalgraphics.pgb' or . = 'image/vnd.microsoft.icon' or . = 'image/vnd.mix' or . = 'image/vnd.ms-modi' or . = 'image/vnd.net-fpx' or . = 'image/vnd.sealed.png' or . = 'image/vnd.sealedmedia.softseal.gif' or . = 'image/vnd.sealedmedia.softseal.jpg' or . = 'image/vnd.svf' or . = 'image/vnd.wap.wbmp' or . = 'image/vnd.xiff' or . = 'message/CPIM' or . = 'message/delivery-status' or . = 'message/disposition-notification' or . = 'message/example' or . = 'message/external-body' or . = 'message/http' or . = 'message/news' or . = 'message/partial' or . = 'message/rfc822' or . = 'message/s-http' or . = 'message/sip' or . = 'message/sipfrag' or . = 'message/tracking-status' or . = 'message/vnd.si.simp' or . = 'model/example' or . = 'model/iges' or . = 'model/mesh' or . = 'model/vnd.dwf' or . = 'model/vnd.flatland.3dml' or . = 'model/vnd.gdl' or . = 'model/vnd.gs-gdl' or . = 'model/vnd.gtw' or . = 'model/vnd.moml+xml' or . = 'model/vnd.mts' or . = 'model/vnd.parasolid.transmit.binary' or . = 'model/vnd.parasolid.transmit.text' or . = 'model/vnd.vtu' or . = 'model/vrml' or . = 'multipart/alternative' or . = 'multipart/appledouble' or . = 'multipart/byteranges' or . = 'multipart/digest' or . = 'multipart/encrypted' or . = 'multipart/example' or . = 'multipart/form-data' or . = 'multipart/header-set' or . = 'multipart/mixed' or . = 'multipart/parallel' or . = 'multipart/related' or . = 'multipart/report' or . = 'multipart/signed' or . = 'multipart/voice-message' or . = 'text/calendar' or . = 'text/css' or . = 'text/csv' or . = 'text/directory' or . = 'text/dns' or . = 'text/ecmascript (obsolete)' or . = 'text/enriched' or . = 'text/example' or . = 'text/html' or . = 'text/javascript (obsolete)' or . = 'text/parityfec' or . = 'text/plain' or . = 'text/prs.fallenstein.rst' or . = 'text/prs.lines.tag' or . = 'text/RED' or . = 'text/rfc822-headers' or . = 'text/richtext' or . = 'text/rtf' or . = 'text/rtp-enc-aescm128' or . = 'text/rtx' or . = 'text/sgml' or . = 'text/t140' or . = 'text/tab-separated-values' or . = 'text/troff' or . = 'text/ulpfec' or . = 'text/uri-list' or . = 'text/vnd.abc' or . = 'text/vnd.curl' or . = 'text/vnd.DMClientScript' or . = 'text/vnd.esmertec.theme-descriptor' or . = 'text/vnd.fly' or . = 'text/vnd.fmi.flexstor' or . = 'text/vnd.in3d.3dml' or . = 'text/vnd.in3d.spot' or . = 'text/vnd.IPTC.NewsML' or . = 'text/vnd.IPTC.NITF' or . = 'text/vnd.latex-z' or . = 'text/vnd.motorola.reflex' or . = 'text/vnd.ms-mediapackage' or . = 'text/vnd.net2phone.commcenter.command' or . = 'text/vnd.si.uricatalogue' or . = 'text/vnd.sun.j2me.app-descriptor' or . = 'text/vnd.trolltech.linguist' or . = 'text/vnd.wap.si' or . = 'text/vnd.wap.sl' or . = 'text/vnd.wap.wml' or . = 'text/vnd.wap.wmlscript' or . = 'text/xml' or . = 'text/xml-external-parsed-entity' or . = 'video/3gpp' or . = 'video/3gpp2' or . = 'video/3gpp-tt' or . = 'video/BMPEG' or . = 'video/BT656' or . = 'video/CelB' or . = 'video/DV' or . = 'video/example' or . = 'video/H261' or . = 'video/H263' or . = 'video/H263-1998' or . = 'video/H263-2000' or . = 'video/H264' or . = 'video/JPEG' or . = 'video/MJ2' or . = 'video/MP1S' or . = 'video/MP2P' or . = 'video/MP2T' or . = 'video/mp4' or . = 'video/MP4V-ES' or . = 'video/MPV' or . = 'video/mpeg' or . = 'video/mpeg4-generic' or . = 'video/nv' or . = 'video/parityfec' or . = 'video/pointer' or . = 'video/quicktime' or . = 'video/raw' or . = 'video/rtp-enc-aescm128' or . = 'video/rtx' or . = 'video/SMPTE292M' or . = 'video/ulpfec' or . = 'video/vc1' or . = 'video/vnd.dlna.mpeg-tts' or . = 'video/vnd.fvt' or . = 'video/vnd.hns.video' or . = 'video/vnd.iptvforum.1dparityfec-1010' or . = 'video/vnd.iptvforum.1dparityfec-2005' or . = 'video/vnd.iptvforum.2dparityfec-1010' or . = 'video/vnd.iptvforum.2dparityfec-2005' or . = 'video/vnd.iptvforum.ttsavc' or . = 'video/vnd.iptvforum.ttsmpeg2' or . = 'video/vnd.motorola.video' or . = 'video/vnd.motorola.videop' or . = 'video/vnd.mpegurl' or . = 'video/vnd.nokia.interleaved-multimedia' or . = 'video/vnd.nokia.videovoip' or . = 'video/vnd.objectvideo' or . = 'video/vnd.sealed.mpeg1' or . = 'video/vnd.sealed.mpeg4' or . = 'video/vnd.sealed.swf' or . = 'video/vnd.sealedmedia.softseal.mov' or . = 'video/vnd.vivo' ) )">
|
1150
|
+
<axsl:attribute name="flag">fatal</axsl:attribute>
|
1151
|
+
<axsl:attribute name="location">
|
1152
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
1153
|
+
</axsl:attribute>
|
1154
|
+
<svrl:text>[CL-T10-R008]-For Mime code in attribute use MIMEMediaType.</svrl:text>
|
1155
|
+
</svrl:failed-assert>
|
1156
|
+
</axsl:otherwise>
|
1157
|
+
</axsl:choose>
|
1158
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1159
|
+
</axsl:template>
|
1160
|
+
|
1161
|
+
<!--RULE -->
|
1162
|
+
|
1163
|
+
<axsl:template match="cac:AllowanceCharge//cbc:AllowanceChargeReasonCode" priority="1000" mode="M7">
|
1164
|
+
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" context="cac:AllowanceCharge//cbc:AllowanceChargeReasonCode"/>
|
1165
|
+
|
1166
|
+
<!--ASSERT -->
|
1167
|
+
|
1168
|
+
<axsl:choose>
|
1169
|
+
<axsl:when test="( ( not(contains(normalize-space(.),' ')) and contains( ' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 ',concat(' ',normalize-space(.),' ') ) ) )"/>
|
1170
|
+
<axsl:otherwise>
|
1171
|
+
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="( ( not(contains(normalize-space(.),' ')) and contains( ' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 ',concat(' ',normalize-space(.),' ') ) ) )">
|
1172
|
+
<axsl:attribute name="flag">warning</axsl:attribute>
|
1173
|
+
<axsl:attribute name="location">
|
1174
|
+
<axsl:apply-templates select="." mode="schematron-get-full-path"/>
|
1175
|
+
</axsl:attribute>
|
1176
|
+
<svrl:text>[CL-T10-R010]-Coded allowance and charge reasons SHOULD belong to the UNCL 4465 code list BII2 subset</svrl:text>
|
1177
|
+
</svrl:failed-assert>
|
1178
|
+
</axsl:otherwise>
|
1179
|
+
</axsl:choose>
|
1180
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1181
|
+
</axsl:template>
|
1182
|
+
<axsl:template match="text()" priority="-1" mode="M7"/>
|
1183
|
+
<axsl:template match="@*|node()" priority="-2" mode="M7">
|
1184
|
+
<axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M7"/>
|
1185
|
+
</axsl:template>
|
1186
|
+
</axsl:stylesheet>
|