Loading 104144/dictionaries/ts_104144_DictionaryDefinitions.xml +1 −1 Original line number Diff line number Diff line Loading @@ -330,7 +330,7 @@ <Name>EPOCNotificationType</Name> <DictionaryEntries> <DictionaryEntry> <Value>DeFactoImpossibility</Value> <Value>NonExecution</Value> <Meaning>Indicates that the Service Provider has raised an object to the EPOC or EPOC-PR according to the Regulation [i.1] Form 3.</Meaning> </DictionaryEntry> <DictionaryEntry> Loading 104144/examples/form3.xml +131 −90 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <HI1Message xmlns="http://uri.etsi.org/03120/common/2019/10/Core" xmlns:auth="http://uri.etsi.org/03120/common/2020/09/Authorisation" xmlns:doc="http://uri.etsi.org/03120/common/2020/09/Document" xmlns:task="http://uri.etsi.org/03120/common/2020/09/Task" xmlns:notify="http://uri.etsi.org/03120/common/2016/02/Notification" xmlns:ef1="http://uri.etsi.org/03120/common/2025/02/EpocForm1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ph="http://uri.etsi.org/03120/common/2025/02/EPOCPlaceholder" xmlns:epoc="http://data.europa.eu/edm/1/ns/epoc" xmlns:eio="http://data.europa.eu/edm/1/ns/eio" xmlns:epocform1="http://data.europa.eu/edm/1/ns/forms/EPOC-FORM-1#" xmlns:epocform2="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-2#" xmlns:epocform3="http://data.europa.eu/edm/1/ns/forms/EPOC-FORM-3#" xmlns:eopcform5="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-5#" xmlns:eopcform6="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-6#" xmlns:common="http://uri.etsi.org/03120/common/2016/02/Common" xmlns:ecauth="http://uri.etsi.org/03120/common/2025/02/EioAuthority"> <HI1Message xmlns="http://uri.etsi.org/03120/common/2019/10/Core" xmlns:auth="http://uri.etsi.org/03120/common/2020/09/Authorisation" xmlns:doc="http://uri.etsi.org/03120/common/2020/09/Document" xmlns:task="http://uri.etsi.org/03120/common/2020/09/Task" xmlns:notify="http://uri.etsi.org/03120/common/2016/02/Notification" xmlns:ef1="http://uri.etsi.org/03120/common/2025/02/EpocForm1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ph="http://uri.etsi.org/03120/common/2025/02/EPOCPlaceholder" xmlns:epoc="http://data.europa.eu/edm/1/ns/epoc" xmlns:eio="http://data.europa.eu/edm/1/ns/eio" xmlns:epocform1="http://data.europa.eu/edm/1/ns/forms/EPOC-FORM-1#" xmlns:epocform2="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-2#" xmlns:epocform3="http://data.europa.eu/edm/1/ns/forms/EPOC-FORM-3#" xmlns:eopcform5="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-5#" xmlns:eopcform6="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-6#" xmlns:common="http://uri.etsi.org/03120/common/2016/02/Common" xmlns:form3="http://uri.etsi.org/03120/common/2025/06/Form3Information"> <Header> <SenderIdentifier> <CountryCode>DE</CountryCode> Loading Loading @@ -34,7 +34,7 @@ <notify:NotificationType> <common:Owner>ETSI</common:Owner> <common:Name>EPOCNotificationType</common:Name> <common:Value>DeFactoImpossibility</common:Value> <common:Value>NonExecution</common:Value> </notify:NotificationType> <notify:NewNotification>true</notify:NewNotification> <notify:NotificationTimestamp>2025-05-30T14:54:24+01:00</notify:NotificationTimestamp> Loading Loading @@ -64,9 +64,7 @@ InformationRequiredFromIssuingAuthority: SectionF_1_Form3</notify:Details> <common:Name>LPTaskStatus</common:Name> <common:Value>Invalid</common:Value> </notify:Status> <notify:Details>Reason: INCOMPLETE Reason: CONTAINS_MANIFEST_ERRORS ExplanationOrOtherReason:SectionD_1_Form3</notify:Details> <notify:Details>Incomplete and conflict of law</notify:Details> </notify:AssociatedObjectStatus> </notify:StatusOfAssociatedObjects> </HI1Object> Loading Loading @@ -95,6 +93,49 @@ ExplanationOrOtherReason:SectionD_1_Form3</notify:Details> </HI1Object> </CREATE> </ActionRequest> <ActionRequest> <ActionIdentifier>2</ActionIdentifier> <CREATE> <HI1Object xsi:type="form3:Form3Information"> <ObjectIdentifier>8e3bec9c-0851-46b4-8444-4d6f0384af56</ObjectIdentifier> <CountryCode>DE</CountryCode> <OwnerIdentifier>service-provider-1</OwnerIdentifier> <AssociatedObjects> <AssociatedObject>f966e795-bc92-4bc4-9c6b-96c1b1b8cb1d</AssociatedObject> </AssociatedObjects> <form3:NonExecutionReasons> <form3:Reasons>INCOMPLETE</form3:Reasons> <form3:Reasons>CONFLICT_OF_LAWS</form3:Reasons> <form3:ExplanationOrOtherReason>Other free text can go here</form3:ExplanationOrOtherReason> </form3:NonExecutionReasons> <form3:ConflictOfLaw> <form3:TitleOfLaw>Title of law</form3:TitleOfLaw> <form3:ApplicableStatutoryProvision>Applicable statutory provision</form3:ApplicableStatutoryProvision> <form3:NatureOfConflictingObligations> <form3:NatureOfConflictingObligation> <form3:Interest>FUNDAMENTAL_RIGHTS_OF_INDIVIDUALS</form3:Interest> <form3:Description>Description of conflicting obligation</form3:Description> </form3:NatureOfConflictingObligation> <form3:NatureOfConflictingObligation> <form3:Interest>FUNDAMENTAL_INTERESTS_OF_THIRD_COUNTRY</form3:Interest> <form3:Description>Description of conflicting obligation</form3:Description> </form3:NatureOfConflictingObligation> <form3:NatureOfConflictingObligation> <form3:Interest>OTHER_INTERESTS</form3:Interest> <form3:Description>Description of conflicting obligation</form3:Description> </form3:NatureOfConflictingObligation> </form3:NatureOfConflictingObligations> <form3:WhyLawIsApplicable>Why law is applicable</form3:WhyLawIsApplicable> <form3:WhyConflictOfLawConsidered>Why conflict of law is considered</form3:WhyConflictOfLawConsidered> <form3:LinkBetweenServiceProviderAndThirdCountry>Link between service provider and third country</form3:LinkBetweenServiceProviderAndThirdCountry> <form3:ConsequencesForAddressee>Consequences for addressee</form3:ConsequencesForAddressee> <form3:AnyOtherRelevantInformation>Any other relevant information</form3:AnyOtherRelevantInformation> </form3:ConflictOfLaw> <form3:PreservationStatus>PRESERVED</form3:PreservationStatus> <form3:AdditionalInformation>Any additional information from section G</form3:AdditionalInformation> </HI1Object> </CREATE> </ActionRequest> </ActionRequests> </RequestPayload> </Payload> Loading 104144/schema/xsd/ts_104144_Form3.xsd 0 → 100644 +79 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:etsi="http://uri.etsi.org/03280/common/2017/07" xmlns:core="http://uri.etsi.org/03120/common/2019/10/Core" xmlns="http://uri.etsi.org/03120/common/2025/06/Form3Information" targetNamespace="http://uri.etsi.org/03120/common/2025/06/Form3Information" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://uri.etsi.org/03120/common/2019/10/Core"/> <xs:import namespace="http://uri.etsi.org/03280/common/2017/07"/> <xs:complexType name="Form3Information"> <xs:complexContent> <xs:extension base="core:HI1Object"> <xs:sequence> <xs:element name="NonExecutionReasons" type="ListOfNonExecutionReasons" minOccurs="0"/> <xs:element name="ConflictOfLaw" type="ConflictOfLaw" minOccurs="0"/> <xs:element name="RequestForClarification" type="RequestForClarification" minOccurs="0"/> <xs:element name="PreservationStatus" type="PreservationStatus" minOccurs="0"/> <xs:element name="AdditionalInformation" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="ListOfNonExecutionReasons"> <xs:sequence> <xs:element name="Reasons" type="NonExecutionReason" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExplanationOrOtherReason" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:simpleType name="NonExecutionReason"> <xs:restriction base="xs:string"> <xs:enumeration value="INCOMPLETE"/> <xs:enumeration value="CONTAINS_MANIFEST_ERRORS"/> <xs:enumeration value="INSUFFICIENT_INFORMATION"/> <xs:enumeration value="NOT_STORED_AT_THE_TIME_OF_THE_RECEIPT"/> <xs:enumeration value="OTHER_REASONS_OF_DE_FACTO_IMPOSSIBILITY"/> <xs:enumeration value="NOT_ISSUED_OR_VALIDATED_AS_DEFINED_BY_REGULATION"/> <xs:enumeration value="TRAFFIC_DATA_REQUESTED_NOT_FOR_IDENTIFYING_USER"/> <xs:enumeration value="SERVICE_NOT_COVERED_BY_REGULATION"/> <xs:enumeration value="DATA_REQUESTED_IS_PROTECTED_BY_IMMUNITIES"/> <xs:enumeration value="CONFLICT_OF_LAWS"/> </xs:restriction> </xs:simpleType> <xs:complexType name="ConflictOfLaw"> <xs:sequence> <xs:element name="TitleOfLaw" type="etsi:LongString" minOccurs="0"/> <xs:element name="ApplicableStatutoryProvision" type="etsi:LongString" minOccurs="0"/> <xs:element name="NatureOfConflictingObligations" type="NatureOfConflictingObligations" minOccurs="0"/> <xs:element name="WhyLawIsApplicable" type="etsi:LongString" minOccurs="0"/> <xs:element name="WhyConflictOfLawConsidered" type="etsi:LongString" minOccurs="0"/> <xs:element name="LinkBetweenServiceProviderAndThirdCountry" type="etsi:LongString" minOccurs="0"/> <xs:element name="ConsequencesForAddressee" type="etsi:LongString" minOccurs="0"/> <xs:element name="AnyOtherRelevantInformation" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="NatureOfConflictingObligations"> <xs:sequence> <xs:element name="NatureOfConflictingObligation" type="NatureOfConflictingObligation" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="NatureOfConflictingObligation"> <xs:sequence> <xs:element name="Interest" type="InterestType"/> <xs:element name="Description" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:simpleType name="InterestType"> <xs:restriction base="xs:string"> <xs:enumeration value="FUNDAMENTAL_RIGHTS_OF_INDIVIDUALS"/> <xs:enumeration value="FUNDAMENTAL_INTERESTS_OF_THIRD_COUNTRY"/> <xs:enumeration value="OTHER_INTERESTS"/> </xs:restriction> </xs:simpleType> <xs:complexType name="RequestForClarification"> <xs:sequence> <xs:element name="InformationRequiredFromIssuingAuthority" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:simpleType name="PreservationStatus"> <xs:restriction base="xs:string"> <xs:enumeration value="PRESERVED"/> <xs:enumeration value="NOT_PRESERVED"/> </xs:restriction> </xs:simpleType> </xs:schema> No newline at end of file testing/xml/lint_xml.py +2 −2 Original line number Diff line number Diff line Loading @@ -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: Loading testing/xml/ts_104144_xsd.json +2 −0 Original line number Diff line number Diff line Loading @@ -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" ], Loading Loading
104144/dictionaries/ts_104144_DictionaryDefinitions.xml +1 −1 Original line number Diff line number Diff line Loading @@ -330,7 +330,7 @@ <Name>EPOCNotificationType</Name> <DictionaryEntries> <DictionaryEntry> <Value>DeFactoImpossibility</Value> <Value>NonExecution</Value> <Meaning>Indicates that the Service Provider has raised an object to the EPOC or EPOC-PR according to the Regulation [i.1] Form 3.</Meaning> </DictionaryEntry> <DictionaryEntry> Loading
104144/examples/form3.xml +131 −90 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <HI1Message xmlns="http://uri.etsi.org/03120/common/2019/10/Core" xmlns:auth="http://uri.etsi.org/03120/common/2020/09/Authorisation" xmlns:doc="http://uri.etsi.org/03120/common/2020/09/Document" xmlns:task="http://uri.etsi.org/03120/common/2020/09/Task" xmlns:notify="http://uri.etsi.org/03120/common/2016/02/Notification" xmlns:ef1="http://uri.etsi.org/03120/common/2025/02/EpocForm1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ph="http://uri.etsi.org/03120/common/2025/02/EPOCPlaceholder" xmlns:epoc="http://data.europa.eu/edm/1/ns/epoc" xmlns:eio="http://data.europa.eu/edm/1/ns/eio" xmlns:epocform1="http://data.europa.eu/edm/1/ns/forms/EPOC-FORM-1#" xmlns:epocform2="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-2#" xmlns:epocform3="http://data.europa.eu/edm/1/ns/forms/EPOC-FORM-3#" xmlns:eopcform5="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-5#" xmlns:eopcform6="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-6#" xmlns:common="http://uri.etsi.org/03120/common/2016/02/Common" xmlns:ecauth="http://uri.etsi.org/03120/common/2025/02/EioAuthority"> <HI1Message xmlns="http://uri.etsi.org/03120/common/2019/10/Core" xmlns:auth="http://uri.etsi.org/03120/common/2020/09/Authorisation" xmlns:doc="http://uri.etsi.org/03120/common/2020/09/Document" xmlns:task="http://uri.etsi.org/03120/common/2020/09/Task" xmlns:notify="http://uri.etsi.org/03120/common/2016/02/Notification" xmlns:ef1="http://uri.etsi.org/03120/common/2025/02/EpocForm1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ph="http://uri.etsi.org/03120/common/2025/02/EPOCPlaceholder" xmlns:epoc="http://data.europa.eu/edm/1/ns/epoc" xmlns:eio="http://data.europa.eu/edm/1/ns/eio" xmlns:epocform1="http://data.europa.eu/edm/1/ns/forms/EPOC-FORM-1#" xmlns:epocform2="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-2#" xmlns:epocform3="http://data.europa.eu/edm/1/ns/forms/EPOC-FORM-3#" xmlns:eopcform5="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-5#" xmlns:eopcform6="http://data.europa.eu/edm/1/ns/forms/EPOC-PR-FORM-6#" xmlns:common="http://uri.etsi.org/03120/common/2016/02/Common" xmlns:form3="http://uri.etsi.org/03120/common/2025/06/Form3Information"> <Header> <SenderIdentifier> <CountryCode>DE</CountryCode> Loading Loading @@ -34,7 +34,7 @@ <notify:NotificationType> <common:Owner>ETSI</common:Owner> <common:Name>EPOCNotificationType</common:Name> <common:Value>DeFactoImpossibility</common:Value> <common:Value>NonExecution</common:Value> </notify:NotificationType> <notify:NewNotification>true</notify:NewNotification> <notify:NotificationTimestamp>2025-05-30T14:54:24+01:00</notify:NotificationTimestamp> Loading Loading @@ -64,9 +64,7 @@ InformationRequiredFromIssuingAuthority: SectionF_1_Form3</notify:Details> <common:Name>LPTaskStatus</common:Name> <common:Value>Invalid</common:Value> </notify:Status> <notify:Details>Reason: INCOMPLETE Reason: CONTAINS_MANIFEST_ERRORS ExplanationOrOtherReason:SectionD_1_Form3</notify:Details> <notify:Details>Incomplete and conflict of law</notify:Details> </notify:AssociatedObjectStatus> </notify:StatusOfAssociatedObjects> </HI1Object> Loading Loading @@ -95,6 +93,49 @@ ExplanationOrOtherReason:SectionD_1_Form3</notify:Details> </HI1Object> </CREATE> </ActionRequest> <ActionRequest> <ActionIdentifier>2</ActionIdentifier> <CREATE> <HI1Object xsi:type="form3:Form3Information"> <ObjectIdentifier>8e3bec9c-0851-46b4-8444-4d6f0384af56</ObjectIdentifier> <CountryCode>DE</CountryCode> <OwnerIdentifier>service-provider-1</OwnerIdentifier> <AssociatedObjects> <AssociatedObject>f966e795-bc92-4bc4-9c6b-96c1b1b8cb1d</AssociatedObject> </AssociatedObjects> <form3:NonExecutionReasons> <form3:Reasons>INCOMPLETE</form3:Reasons> <form3:Reasons>CONFLICT_OF_LAWS</form3:Reasons> <form3:ExplanationOrOtherReason>Other free text can go here</form3:ExplanationOrOtherReason> </form3:NonExecutionReasons> <form3:ConflictOfLaw> <form3:TitleOfLaw>Title of law</form3:TitleOfLaw> <form3:ApplicableStatutoryProvision>Applicable statutory provision</form3:ApplicableStatutoryProvision> <form3:NatureOfConflictingObligations> <form3:NatureOfConflictingObligation> <form3:Interest>FUNDAMENTAL_RIGHTS_OF_INDIVIDUALS</form3:Interest> <form3:Description>Description of conflicting obligation</form3:Description> </form3:NatureOfConflictingObligation> <form3:NatureOfConflictingObligation> <form3:Interest>FUNDAMENTAL_INTERESTS_OF_THIRD_COUNTRY</form3:Interest> <form3:Description>Description of conflicting obligation</form3:Description> </form3:NatureOfConflictingObligation> <form3:NatureOfConflictingObligation> <form3:Interest>OTHER_INTERESTS</form3:Interest> <form3:Description>Description of conflicting obligation</form3:Description> </form3:NatureOfConflictingObligation> </form3:NatureOfConflictingObligations> <form3:WhyLawIsApplicable>Why law is applicable</form3:WhyLawIsApplicable> <form3:WhyConflictOfLawConsidered>Why conflict of law is considered</form3:WhyConflictOfLawConsidered> <form3:LinkBetweenServiceProviderAndThirdCountry>Link between service provider and third country</form3:LinkBetweenServiceProviderAndThirdCountry> <form3:ConsequencesForAddressee>Consequences for addressee</form3:ConsequencesForAddressee> <form3:AnyOtherRelevantInformation>Any other relevant information</form3:AnyOtherRelevantInformation> </form3:ConflictOfLaw> <form3:PreservationStatus>PRESERVED</form3:PreservationStatus> <form3:AdditionalInformation>Any additional information from section G</form3:AdditionalInformation> </HI1Object> </CREATE> </ActionRequest> </ActionRequests> </RequestPayload> </Payload> Loading
104144/schema/xsd/ts_104144_Form3.xsd 0 → 100644 +79 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:etsi="http://uri.etsi.org/03280/common/2017/07" xmlns:core="http://uri.etsi.org/03120/common/2019/10/Core" xmlns="http://uri.etsi.org/03120/common/2025/06/Form3Information" targetNamespace="http://uri.etsi.org/03120/common/2025/06/Form3Information" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://uri.etsi.org/03120/common/2019/10/Core"/> <xs:import namespace="http://uri.etsi.org/03280/common/2017/07"/> <xs:complexType name="Form3Information"> <xs:complexContent> <xs:extension base="core:HI1Object"> <xs:sequence> <xs:element name="NonExecutionReasons" type="ListOfNonExecutionReasons" minOccurs="0"/> <xs:element name="ConflictOfLaw" type="ConflictOfLaw" minOccurs="0"/> <xs:element name="RequestForClarification" type="RequestForClarification" minOccurs="0"/> <xs:element name="PreservationStatus" type="PreservationStatus" minOccurs="0"/> <xs:element name="AdditionalInformation" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="ListOfNonExecutionReasons"> <xs:sequence> <xs:element name="Reasons" type="NonExecutionReason" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExplanationOrOtherReason" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:simpleType name="NonExecutionReason"> <xs:restriction base="xs:string"> <xs:enumeration value="INCOMPLETE"/> <xs:enumeration value="CONTAINS_MANIFEST_ERRORS"/> <xs:enumeration value="INSUFFICIENT_INFORMATION"/> <xs:enumeration value="NOT_STORED_AT_THE_TIME_OF_THE_RECEIPT"/> <xs:enumeration value="OTHER_REASONS_OF_DE_FACTO_IMPOSSIBILITY"/> <xs:enumeration value="NOT_ISSUED_OR_VALIDATED_AS_DEFINED_BY_REGULATION"/> <xs:enumeration value="TRAFFIC_DATA_REQUESTED_NOT_FOR_IDENTIFYING_USER"/> <xs:enumeration value="SERVICE_NOT_COVERED_BY_REGULATION"/> <xs:enumeration value="DATA_REQUESTED_IS_PROTECTED_BY_IMMUNITIES"/> <xs:enumeration value="CONFLICT_OF_LAWS"/> </xs:restriction> </xs:simpleType> <xs:complexType name="ConflictOfLaw"> <xs:sequence> <xs:element name="TitleOfLaw" type="etsi:LongString" minOccurs="0"/> <xs:element name="ApplicableStatutoryProvision" type="etsi:LongString" minOccurs="0"/> <xs:element name="NatureOfConflictingObligations" type="NatureOfConflictingObligations" minOccurs="0"/> <xs:element name="WhyLawIsApplicable" type="etsi:LongString" minOccurs="0"/> <xs:element name="WhyConflictOfLawConsidered" type="etsi:LongString" minOccurs="0"/> <xs:element name="LinkBetweenServiceProviderAndThirdCountry" type="etsi:LongString" minOccurs="0"/> <xs:element name="ConsequencesForAddressee" type="etsi:LongString" minOccurs="0"/> <xs:element name="AnyOtherRelevantInformation" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="NatureOfConflictingObligations"> <xs:sequence> <xs:element name="NatureOfConflictingObligation" type="NatureOfConflictingObligation" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="NatureOfConflictingObligation"> <xs:sequence> <xs:element name="Interest" type="InterestType"/> <xs:element name="Description" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:simpleType name="InterestType"> <xs:restriction base="xs:string"> <xs:enumeration value="FUNDAMENTAL_RIGHTS_OF_INDIVIDUALS"/> <xs:enumeration value="FUNDAMENTAL_INTERESTS_OF_THIRD_COUNTRY"/> <xs:enumeration value="OTHER_INTERESTS"/> </xs:restriction> </xs:simpleType> <xs:complexType name="RequestForClarification"> <xs:sequence> <xs:element name="InformationRequiredFromIssuingAuthority" type="etsi:LongString" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:simpleType name="PreservationStatus"> <xs:restriction base="xs:string"> <xs:enumeration value="PRESERVED"/> <xs:enumeration value="NOT_PRESERVED"/> </xs:restriction> </xs:simpleType> </xs:schema> No newline at end of file
testing/xml/lint_xml.py +2 −2 Original line number Diff line number Diff line Loading @@ -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: Loading
testing/xml/ts_104144_xsd.json +2 −0 Original line number Diff line number Diff line Loading @@ -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" ], Loading