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" ],