diff --git a/104144/dictionaries/ts_104144_DictionaryDefinitions.xml b/104144/dictionaries/ts_104144_DictionaryDefinitions.xml
index b9654374d3c88ea054f8ace1cd5bc18eccbb0cb0..e0e37ba1dcb4d36bea585eed326add1b793a4f44 100644
--- a/104144/dictionaries/ts_104144_DictionaryDefinitions.xml
+++ b/104144/dictionaries/ts_104144_DictionaryDefinitions.xml
@@ -330,7 +330,7 @@
EPOCNotificationType
- DeFactoImpossibility
+ NonExecution
Indicates that the Service Provider has raised an object to the EPOC or EPOC-PR according to the Regulation [i.1] Form 3.
diff --git a/104144/examples/form3.xml b/104144/examples/form3.xml
index f4c0cddbd389e6bc24fe7812a4f22e9d12e9e316..b74a4a136bc0899555c8c49108a6092c1e05c09c 100644
--- a/104144/examples/form3.xml
+++ b/104144/examples/form3.xml
@@ -1,52 +1,52 @@
-
-
-
- DE
- service-provider-1
-
-
- XX
- RI_API
-
- 116e67f9-82ad-481e-9b17-e9f007f91434
- 2025-05-30T14:54:24.545502+01:00
-
- V1.20.1
- EU
- v1.1.1
-
-
-
-
-
-
- 0
-
-
- 6801ad8b-4e86-4237-acaa-611684207af9
- DE
- service-provider-1
-
- 7e84603b-be7b-4cba-af26-8468d177f36a
-
- Notification of Form 3
-
- ETSI
- EPOCNotificationType
- DeFactoImpossibility
-
- true
- 2025-05-30T14:54:24+01:00
-
-
- 7e84603b-be7b-4cba-af26-8468d177f36a
-
- ETSI
- AuthorisationStatus
- Invalid
-
- From Form 3 Section E (as an example of what could be done)
+
+
+
+ DE
+ service-provider-1
+
+
+ XX
+ RI_API
+
+ 116e67f9-82ad-481e-9b17-e9f007f91434
+ 2025-05-30T14:54:24.545502+01:00
+
+ V1.20.1
+ EU
+ v1.1.1
+
+
+
+
+
+
+ 0
+
+
+ 6801ad8b-4e86-4237-acaa-611684207af9
+ DE
+ service-provider-1
+
+ 7e84603b-be7b-4cba-af26-8468d177f36a
+
+ Notification of Form 3
+
+ ETSI
+ EPOCNotificationType
+ NonExecution
+
+ true
+ 2025-05-30T14:54:24+01:00
+
+
+ 7e84603b-be7b-4cba-af26-8468d177f36a
+
+ ETSI
+ AuthorisationStatus
+ Invalid
+
+ From Form 3 Section E (as an example of what could be done)
TitleOfLaw: SectionE_1_Form3
ApplicableStatutoryProvision: SectionE_2_Form3
WhyLawIsApplicable: SectionE_6_Form3
@@ -56,46 +56,87 @@ ConsequencesForAddressee: SectionE_9_Form3
AnyOtherRelevantInformation: SectionE_10_Form3
From Section F
InformationRequiredFromIssuingAuthority: SectionF_1_Form3
-
-
- f966e795-bc92-4bc4-9c6b-96c1b1b8cb1d
-
- ETSI
- LPTaskStatus
- Invalid
-
- Reason: INCOMPLETE
-Reason: CONTAINS_MANIFEST_ERRORS
-ExplanationOrOtherReason:SectionD_1_Form3
-
-
-
-
-
-
- 1
-
-
- 03e36530-cdf2-4cb8-bfa3-ceff9fd96c59
- DE
- service-provider-1
-
- 7e84603b-be7b-4cba-af26-8468d177f36a
-
- EPOC/EPOC-PR Form
-
- ETSI
- EPOCDocumentType
- Form3
-
-
- RVBPQy9FUE9DLVBSIEZvcm0=
- text/plain
-
-
-
-
-
-
-
+
+
+ f966e795-bc92-4bc4-9c6b-96c1b1b8cb1d
+
+ ETSI
+ LPTaskStatus
+ Invalid
+
+ Incomplete and conflict of law
+
+
+
+
+
+
+ 1
+
+
+ 03e36530-cdf2-4cb8-bfa3-ceff9fd96c59
+ DE
+ service-provider-1
+
+ 7e84603b-be7b-4cba-af26-8468d177f36a
+
+ EPOC/EPOC-PR Form
+
+ ETSI
+ EPOCDocumentType
+ Form3
+
+
+ RVBPQy9FUE9DLVBSIEZvcm0=
+ text/plain
+
+
+
+
+
+ 2
+
+
+ 8e3bec9c-0851-46b4-8444-4d6f0384af56
+ DE
+ service-provider-1
+
+ f966e795-bc92-4bc4-9c6b-96c1b1b8cb1d
+
+
+ INCOMPLETE
+ CONFLICT_OF_LAWS
+ Other free text can go here
+
+
+ Title of law
+ Applicable statutory provision
+
+
+ FUNDAMENTAL_RIGHTS_OF_INDIVIDUALS
+ Description of conflicting obligation
+
+
+ FUNDAMENTAL_INTERESTS_OF_THIRD_COUNTRY
+ Description of conflicting obligation
+
+
+ OTHER_INTERESTS
+ Description of conflicting obligation
+
+
+ Why law is applicable
+ Why conflict of law is considered
+ Link between service provider and third country
+ Consequences for addressee
+ Any other relevant information
+
+ PRESERVED
+ Any additional information from section G
+
+
+
+
+
+
\ No newline at end of file
diff --git a/104144/schema/xsd/ts_104144_Form3.xsd b/104144/schema/xsd/ts_104144_Form3.xsd
new file mode 100644
index 0000000000000000000000000000000000000000..c965f3c71c7e6b1ffbfc882c10e1195542a7ccc6
--- /dev/null
+++ b/104144/schema/xsd/ts_104144_Form3.xsd
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/testing/xml/lint_xml.py b/testing/xml/lint_xml.py
index 85365e36131fa1a1a492b1fdc5ea0eedc949613c..fdaac248f718c2e83d40a103ba3e042ca8e096c7 100644
--- a/testing/xml/lint_xml.py
+++ b/testing/xml/lint_xml.py
@@ -21,11 +21,11 @@ def print_colorized_diff_line(line: str):
def lint(file: Path):
completed = subprocess.run(
- ["xmllint", str(file)], capture_output=True, text=True, encoding="utf8"
+ ["xmllint", "--format", str(file)], capture_output=True, text=True, encoding="utf8"
)
if completed.returncode != 0:
- print(f" {str(f)}: FAIL")
+ print(f"❌ {str(f)}: FAIL")
print(f" xmlint error code {completed.returncode}")
lines = completed.stderr.splitlines()
for line in lines:
diff --git a/testing/xml/ts_104144_xsd.json b/testing/xml/ts_104144_xsd.json
index 2ae1b3056564b5a3f6e74c2bd0ac27bb062bd0f9..accb9320dc4061473d234f127b4f85f345fc950c 100644
--- a/testing/xml/ts_104144_xsd.json
+++ b/testing/xml/ts_104144_xsd.json
@@ -11,6 +11,8 @@
"103120/schema/xsd/ts_103120_Task.xsd",
"103120/schema/xsd/ts_103120_TrafficPolicy.xsd",
"103280/TS_103_280.xsd",
+ "104144/schema/xsd/ts_104144_EPOCAdditionalInfo.xsd",
+ "104144/schema/xsd/ts_104144_Form3.xsd",
"testing/deps/xmldsig/xmldsig-core-schema.xsd",
"103120/examples/xml/FooServiceSchema.xsd"
],