Contents

1. Introduction

In order to facilitate interoperability for the Evidence Exchange, a set of business rules is defined which must be applied in each transaction (Evidence Request, Evidence Reponse, Error Response). For each business rule, a corresponding schematron rule is defined that references the same rule ID. The business rules are sets of rules that guarantee the correct structure of the transactions and they clarify the content of instances by stating mandatory fields, fixed values (like code lists), the dependency between fields in the same object and dependency between different objects. The business rules are grouped into two main sections depending on their scope:

  • Structure: Business rules that guarantee the correct structure of the message use the prefix "S" before the numer (e.g. S009):
    • Check information constraints related to the use of different components such as namespaces, root elements, slots, data types including "multidimensional" checks crossing the barrier between the different XSD schemes (XSD-Binding and XSD-Restriction).
  • Content: Business rules that ensure the correct content format of information objects use the prefix "C" before the numer (e.g. C012):
    • Check cardinalities, identifiers, formats, fixed values, mandatory set of values on specific fields (code lists) and dependencies between fields;

Each business rule is associated with an error level (flag) that expresses a validation result when an XML instance is proven against the rules through schematron validation:

  • note: a hint that an additional object is mandatory in some cases;
  • warning: offering recommendations to improve the quality of the instance or regain full validity;
  • fatal: the rule point to a major issue of consistency or data correctness.

The rule type classifies the principle goal of a business rule. The rule ID is used to identify the rule and can be used as an error code next to the rule description. Rule descriptions containing "MUST" correspond to an error level that is flagged as fatal, while "SHOULD" rules correspond to an error level that is flagged as a warning. "MAY" rules point to error level note. The Element and Location points to the correct information object that is affected by the rule. 

2. Business rules associated to the Evidence Request

The tables below collect the set of business rules affecting the creation of Evidence Request instances. 

2.1 Business rules that prove the correct structure of Evidence Requests

The rule ID references to the transaction "Evidence Request" (EDM-REQ) and indicates the proof of structure through the prefix "S" before the number.

RuleTypeRule IDElementLocationRuleFlag
RootElementR-EDM-REQ-S001query:QueryRequestquery:QueryRequestThe root element of a query request document MUST be 'query:QueryRequest'Fatal
NamespaceR-EDM-REQ-S002query:QueryRequestquery:QueryRequest/@xmlns:queryThe namespace of root element of a 'query:QueryRequest' must be 'urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0'Fatal
RootAttributeR-EDM-REQ-S003query:QueryRequestquery:QueryRequest/@idThe 'id' attribute of a 'query:QueryRequest' MUST be present. Fatal
RootAttributeR-EDM-REQ-S004query:QueryRequestquery:QueryRequest/@idThe 'id' attribute of a 'QueryRequest' MUST be unique UUID (RFC 4122) for each request starting with prefix "urn:uuid:"Fatal
SlotR-EDM-REQ-S005rim:Slot (SpecificationIdentifier)query:QueryRequest/rim:Slot[@name='SpecificationIdentifier']The rim:Slot name="SpecificationIdentifier" MUST be present in the QueryRequest.Fatal
SlotR-EDM-REQ-S006rim:Slot (IssueDateTime)query:QueryRequest/rim:Slot[@name='IssueDateTime']The rim:Slot name="IssueDateTime" MUST be present  in the QueryRequest.Fatal
SlotR-EDM-REQ-S007rim:Slot (Procedure)query:QueryRequest/rim:Slot[@name='Procedure']The rim:Slot name="Procedure" SHOULD be present in the QueryRequest.Warning
SlotR-EDM-REQ-S008rim:Slot (PreviewLocation)query:QueryRequest/rim:Slot[@name='PreviewLocation']The rim:Slot name="PreviewLocation" MAY be present in the QueryRequest.Information
SlotR-EDM-REQ-S009rim:Slot (PossibilityForPreview)query:QueryRequest/rim:Slot[@name='PossibilityForPreview']The rim:Slot name="PossibilityForPreview" MUST be present in the QueryRequest.Fatal
SlotR-EDM-REQ-S010rim:Slot (ExplicitRequestGiven)query:QueryRequest/rim:Slot[@name='ExplicitRequestGiven']The rim:Slot name="ExplicitRequestGiven" MUST be present in the QueryRequest.Fatal
SlotR-EDM-REQ-S011rim:Slot (Requirement)query:QueryRequest/rim:Slot[@name='Requirement']The rim:Slot name="Requirements" SHOULD be present in the QueryRequest.Warning
SlotR-EDM-REQ-S012rim:Slot (EvidenceRequester)query:QueryRequeste/rim:Slot[@name='EvidenceRequester']The rim:Slot name="EvidenceRequester" MUST be present in the QueryRequest.Fatal
SlotR-EDM-REQ-S013rim:Slot (EvidenceProvider)query:QueryRequest/rim:Slot[@name='EvidenceProvider']The rim:Slot name="EvidenceProvider" MUST be present in the QueryRequest.Fatal
SlotR-EDM-REQ-S014rim:Slot (EvidenceProviderClassificationValues)query:QueryRequest/rim:Slot[@name='EvidenceProviderClassificationValues']The rim:Slot name="EvidenceProviderClassificationValues" MAY be present in the QueryRequest.Information
SlotR-EDM-REQ-S015rim:Slot (EvidenceRequest)query:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']The rim:Slot name="EvidenceRequest" MUST be present in the Query.Fatal
SlotR-EDM-REQ-S016rim:Slot (LegalPerson)query:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']A Query MUST contain either a rim:Slot name="LegalPerson" or a rim:Slot name="NaturalPerson" but NOT both.Fatal
SlotR-EDM-REQ-S017rim:Slot (NaturalPerson)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']A Query MUST contain either a rim:Slot name="LegalPerson" or a rim:Slot name="NaturalPerson" but NOT both.Fatal
SlotR-EDM-REQ-S018rim:Slot (AuthorizedRepresentative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']The rim:Slot name="AuthorizedRepresentative" MAY be present in the Query.Note
SlotR-EDM-REQ-S019rim:Slot (QueryRequest)query:QueryRequestA 'query:QueryRequest' MUST not contain any other rim:Slots.Fatal
DataTypeR-EDM-REQ-S020rim:SlotValue (SpecificationIdentifier)

query:QueryRequest/rim:Slot[@name='SpecificationIdentifier']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="SpecificationIdentifier" MUST be of "rim:StringValueType"Fatal
DataTypeR-EDM-REQ-S021rim:SlotValue (IssueDateTime)

query:QueryRequest/rim:Slot[@name='IssueDateTime']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="IssueDateTime" MUST be of "rim:DateTimeValueType"Fatal
DataTypeR-EDM-REQ-S022rim:SlotValue (Procedure)

query:QueryRequest/rim:Slot[@name='Procedure']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="Procedure" MUST be of "rim:InternationalStringValueType"Fatal
DataTypeR-EDM-REQ-S023rim:SlotValue (PreviewLocation)

query:QueryRequest/rim:Slot[@name='PreviewLocation']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="PreviewLocation" MUST be of "rim:StringValueType"Fatal
DataTypeR-EDM-REQ-S024rim:SlotValue (PossibilityForPreview)

query:QueryRequest/rim:Slot[@name='PossibilityForPreview']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="PossibilityForPreview" MUST be of "rim:BooleanValueType"Fatal
DataTypeR-EDM-REQ-S025rim:SlotValue (ExplicitRequestGiven)

query:QueryRequest/rim:Slot[@name='ExplicitRequestGiven']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="ExplicitRequestGiven" MUST be of "rim:BooleanValueType"Fatal
DataTypeR-EDM-REQ-S026rim:SlotValue (Requirement)

query:QueryRequest/rim:Slot[@name='Requirements']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="Requirements MUST be of "rim:CollectionValueType"Fatal
DataTypeR-EDM-REQ-S027rim:Element (Requirement)

query:QueryRequest/rim:Slot[@name='Requirements']/

rim:SlotValue/rim:Element

The rim:Element of rim:SlotValue of rim:Slot name="Requirements" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-REQ-S028rim:SlotValue (EvidenceRequester)

query:QueryRequeste/rim:Slot[@name='EvidenceRequester']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="EvidenceRequester" MUST be of "rim:CollectionValueType"Fatal
DataTypeR-EDM-REQ-S029rim:Element (EvidenceRequester)

query:QueryRequeste/rim:Slot[@name='EvidenceRequester']/

rim:SlotValue/rim:Element

The rim:Element of rim:SlotValue of rim:Slot name="EvidenceRequester" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-REQ-S030rim:SlotValue (EvidenceProvider)query:QueryRequest/rim:Slot[@name='EvidenceProvider']/rim:SlotValueThe rim:SlotValue of rim:Slot name="EvidenceProvider" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-REQ-S031rim:SlotValue (EvidenceProviderClassification)

query:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="EvidenceProviderClassification" MUST be of "rim:CollectionValueType"Fatal
DataTypeR-EDM-REQ-S032rim:Element (EvidenceProviderClassification)

query:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/

rim:SlotValue/rim:Element

The rim:Element of rim:SlotValue of rim:Slot name="EvidenceProviderClassification" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-REQ-S033rim:SlotValue (EvidenceRequest)

query:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="EvidenceRequest" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-REQ-S034rim:SlotValue (LegalPerson)

query:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="LegalPerson" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-REQ-S035rim:SlotValue (NaturalPerson)

query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="NaturalPerson" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-REQ-S036rim:SlotValue (AuthorizedRepresentative)

query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/

rim:SlotValue

The rim:SlotValue of rim:Slot name="AuthorizedRepresentative" MUST be of "rim:AnyValueType"Fatal
XSD-BindingR-EDM-REQ-S037sdg:Requirement (Requirement)

query:QueryRequest/rim:Slot[@name='Requirements']/

rim:SlotValue/rim:Element/sdg:Requirement

The 'query:QueryRequest/rim:Slot[@name='Requirements']/ rim:SlotValue/rim:Element' MUST use the 'sdg:Requirement' of the targetNamespace="http://data.europa.eu/p4s"

Fatal
XSD-Restriction R-EDM-REQ-S038sdg:Requirement (Requirement)

query:QueryRequest/rim:Slot[@name='Requirements']/

rim:SlotValue/rim:Element/sdg:Requirement

A Requirement  'rim:Element/Requirement' MUST not contain any other elements than 'sdg:Identifier' and 'sdg:Name'.Fatal
XSD-BindingR-EDM-REQ-S039sdg:Agent (EvidenceRequester)

query:QueryRequest/rim:Slot[@name='EvidenceRequester']/

rim:SlotValue/rim:Element/sdg:Agent

The 'query:QueryRequest/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/rim:Element' MUST use the 'sdg:Agent' of the targetNamespace="http://data.europa.eu/p4s"Fatal
XSD-Restriction R-EDM-REQ-S040sdg:Agent (EvidenceRequester)

query:QueryRequest/rim:Slot[@name='EvidenceRequester']/

rim:SlotValue/rim:Element/sdg:Agent

An EvidenceRequester ''rim:Element/Agent' MUST not contain any other elements than 'sdg:Identifier' and 'sdg:Name', 'sdg:Address' and 'sdg:Classification'.Fatal
XSD-BindingR-EDM-REQ-S041sdg:EvidenceProviderClassification (EvidenceProviderClassification)

query:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/

rim:SlotValue/sdg:EvidenceProviderClassification

The 'query:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/ rim:SlotValue' MUST use the 'sdg:EvidenceProviderClassification' of the targetNamespace="http://data.europa.eu/p4s"Fatal
XSD-BindingR-EDM-REQ-S042sdg:Agent (EvidenceProvider)

query:QueryRequest/rim:Slot[@name='EvidenceProvider']/

rim:SlotValue/sdg:Agent

The 'query:QueryRequest/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue' MUST use the 'sdg:Agent' of the targetNamespace="http://data.europa.eu/p4s"Fatal
XSD-Restriction R-EDM-REQ-S043sdg:Agent (EvidenceProvider)

query:QueryRequest/rim:Slot[@name='EvidenceProvider']/

rim:SlotValue/sdg:Agent

An EvidenceProvider 'rim:SlotValue/Agent' MUST not contain any other elements than 'sdg:Identifier' and 'sdg:Name'.Fatal
XSD-BindingR-EDM-REQ-S044sdg:DataServiceEvidenceType (EvidenceRequest)

query:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/

rim:SlotValue/sdg:DataServiceEvidenceType

The 'query:QueryRequest/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue' MUST use the 'sdg:DataServiceEvidenceType' of the targetNamespace="http://data.europa.eu/p4s"Fatal
XSD-Restriction R-EDM-REQ-S045sdg:DataServiceEvidenceType (EvidenceRequest)

query:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/

rim:SlotValue/sdg:DataServiceEvidenceType

An EvidenceRequest 'rim:SlotValue/DataServiceEvidenceType' MUST not contain any other elements than 'sdg:Identifier', 'sdg:EvidenceTypeClassification', 'sdg:Title', 'sdg:Description' and 'sdg:DistributedAs'Fatal
XSD-BindingR-EDM-REQ-S046sdg:Person (NaturalPerson)

query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/

rim:SlotValue/sdg:Person

The 'query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue' MUST use the 'sdg:Person' of the targetNamespace="http://data.europa.eu/p4s"Fatal
XSD-BindingR-EDM-REQ-S047sdg:LegalPerson (LegalPerson)

query:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/

rim:SlotValue/sdg:LegalPerson

The 'query:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue' MUST use the 'sdg:LegalPerson' of the targetNamespace="http://data.europa.eu/p4s"Fatal
XSD-BindingR-EDM-REQ-S048sdg:Person (AuthorizedRepresentative)

query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/

rim:SlotValue/sdg:Person

The 'query:QueryRequest/query:Query/ rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue' MUST use the 'sdg:Person' of the targetNamespace="http://data.europa.eu/p4s"Fatal

2.2 Business rules that prove the correct use of information objects in Evidence Requests

The rule ID references to the transaction "Evidence Request" (EDM-REQ) and indicates the proof of structure through the prefix "C" before the number.

Rule Type Rules IDElementLocationRuleFlag
IdentifierR-EDM-REQ-C001rim:Value (SpecificationIdentifier)query:QueryRequest/rim:Slot[@name='SpecificationIdentifier']/ rim:SlotValue/rim:ValueThe 'rim:Value' of the 'SpecificationIdentifier' MUST be the fixed value "oots-edm:v1.0".Fatal
FormatR-EDM-REQ-C002rim:Value (IssueDateTime)query:QueryRequest/rim:Slot[@name='IssueDateTime']/ rim:SlotValue/rim:ValueThe 'rim:Value' of 'IssueDateTime' MUST be according to xsd:dateTime. Fatal
CodeListR-EDM-REQ-C003rim:Value (Procedure)query:QueryRequest/rim:Slot[@name='Procedure']/ rim:SlotValue/rim:Value/rim:LocalizedString/@valueThe 'value' attribute of 'Procedure' MUST be part of the code list 'Procedures'Fatal
CodeListR-EDM-REQ-C004rim:Value (Procedure)query:QueryRequest/rim:Slot[@name='Procedure']/ rim:SlotValue/rim:Value/rim:LocalizedString/@xml:langThe 'language' attribute of 'Procedure' MUST be specified using the code list 'LanguageCode' (ISO 639-1 two-letter code). Default value "en"Fatal
IdentifierR-EDM-REQ-C005rim:Value (PreviewLocation)query:QueryRequest/rim:Slot[@name='PreviewLocation']/ rim:SlotValue/rim:ValueThe 'rim:Value' of a 'PreviewLocation' MUST be a URI starting with 'https://'.Fatal
CodeListR-EDM-REQ-C006rim:Value (PossibilityForPreview)query:QueryRequest/rim:Slot[@name='PossibilityForPreview']/ rim:SlotValue/rim:ValueThe 'rim:Value' of 'PossibilityForPreview' MUST be according to xs:boolean.Fatal
CodeListR-EDM-REQ-C007rim:Value (ExplicitRequestGiven)query:QueryRequest/rim:Slot[@name='ExplicitRequestGiven']/ rim:SlotValue/rim:ValueThe 'rim:Value' of 'ExplicitRequestGiven' MUST be xs:boolean.Fatal
IdentifierR-EDM-REQ-C008sdg:Requirementquery:QueryRequest/rim:Slot[@name='Requirement']/ rim:SlotValue/rim:Element/sdg:Requirement/sdg:IdentifierThe value of 'Identifier' of a 'Requirement' MUST be a unique UUID (RFC 4122) listed in the EvidenceBroker and use the prefix ''https://sr.oots.tech.europa.eu/requirements/[UUID]'' pointing to the Semantic Repository.Fatal
CodeListR-EDM-REQ-C009sdg:Requirementquery:QueryRequest/rim:Slot[@name='Requirement']/ rim:SlotValue/rim:Element/sdg:Requirement/sdg:Name/@langThe value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C010sdg:Requirementquery:QueryRequest/rim:Slot[@name='Requirement']/ rim:SlotValue/rim:Element/sdg:Requirement/sdg:Name/@langThe value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CardinalityR-EDM-REQ-C011sdg:Agent (EvidenceRequester)query:QueryRequest/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-REQ-C012sdg:Agent (EvidenceRequester)query:QueryRequest/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Identifier/@schemeIDThe value of the 'schemeID' attribute of the 'Identifier' MUST be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'Fatal
CardinalityR-EDM-REQ-C013sdg:Agent (EvidenceRequester)query:QueryRequest/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:ClassificationThe value for 'Agent/Classification' MUST be provided. Fatal
CodeListR-EDM-REQ-C014sdg:Agent (EvidenceRequester)query:QueryRequest/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:ClassificationThe value MUST be part of the code list 'AgentClassification'. Default value: ER (Evidence Requester). If the code 'IP' (Intermediary Platform) is present there must be another 'sdg:Agent' Element containing the code 'ER'. The codes 'EP' and 'ERRP' shall not be used by this transaction. Fatal
CodeListR-EDM-REQ-C015sdg:Address (EvidenceRequester)query:QueryRequest/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Address/sdg:AdminUnitLevel1The value of the 'AdminUnitLevel1' MUST be coded using the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes).Fatal
CodeListR-EDM-REQ-C016sdg:Address (EvidenceRequester)query:QueryRequest/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Address/sdg:AdminUnitLevel2The value of the 'AdminUnitLevel2' MUST be coded using the code list 'NUTS' (Nomenclature of Territorial Units for Statistics).Fatal
CardinalityR-EDM-REQ-C017sdg:Agent (EvidenceProvider)query:QueryRequest/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-REQ-C018sdg:Agent (EvidenceProvider)query:QueryRequest/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeIDThe value of the 'schemeID' attribute of the 'Identifier' MUST be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'.Fatal
IdentifierR-EDM-REQ-C019sdg:EvidenceProviderClassificationquery:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/ rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:IdentifierThe value of 'Identifier' of MUST be unique UUID (RFC 4122).Fatal
CardinalityR-EDM-REQ-C020sdg:EvidenceProviderClassificationquery:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/ rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:TypeThe value for 'Type' MUST be provided. Fatal
CodeListR-EDM-REQ-C021sdg:EvidenceProviderClassificationquery:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/ rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:Description/@langThe value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C022sdg:EvidenceProviderClassificationquery:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/ rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:Description/@langThe value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CardinalityR-EDM-REQ-C023sdg:EvidenceProviderClassificationquery:QueryRequest/rim:Slot[@name='EvidenceProviderClassification']/ rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:SupportedValueA value for 'SupportedValue' MUST be provided. Fatal
FixedValueR-EDM-REQ-C024query:ResponseOptionquery:QueryRequest/query:ResponseOption/@returnTypeThe 'returnType' attribute of 'ResponseOption' MUST be the fixed value "LeafClassWithRepositoryItem".Fatal
FixedValueR-EDM-REQ-C025query:Queryquery:QueryRequest/query:Query/@queryDefinitionThe 'queryDefinition' attribute of 'Query' MUST be the fixed value "DocumentQuery".Fatal
IdentifierR-EDM-REQ-C026sdg:DataServiceEvidenceTypequery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:IdentifierThe value of 'Identifier' of an 'DataServiceEvidenceType' MUST be unique UUID (RFC 4122) retrieved from the Data Service Directory.Fatal
CodeListR-EDM-REQ-C027sdg:DataServiceEvidenceTypequery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:EvidenceTypeClassificationThe value of 'EvidenceTypeClassification' of a 'DataServiceEvidenceType' MUST be a UUID retrieved from the Evidence Broker and inlude a code of the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes) using the prefix and scheme ''https://sr.oots.tech.europa.eu/evidencetypeclassifications/[CountryIdentificationCode]/[UUID]'' pointing to the Semantic Repository. Fatal
CodeListR-EDM-REQ-C028sdg:DataServiceEvidenceTypequery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Title/@langThe value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C029sdg:DataServiceEvidenceTypequery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Title/@langThe value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CodeListR-EDM-REQ-C030sdg:DataServiceEvidenceTypequery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Description/@langThe value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C031sdg:DataServiceEvidenceTypequery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Description/@langThe value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CardinalityR-EDM-REQ-C032sdg:DistributedAsquery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAsThe Element 'DistributedAs' must occur not more than once (maxOccurs="1)' in the EvidenceRequest. Fatal
CodeListR-EDM-REQ-C033sdg:DistributedAsquery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs/sdg:FormatThe value of 'Format' of the requested distribution MUST be be part of the code list 'OOTSMediaTypes'.Fatal
IdentifierR-EDM-REQ-C034sdg:DistributedAsquery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs/sdg:ConformsToThe value of 'ConformsTo' of the requested distribution MUST be a persistent URL with a link to a "DataModelScheme" of the Evidence Type retrieved by the DSD and described in the Semantic Repository which uses the prefix "https://sr.oots.tech.europa.eu/distributions/[DataModelScheme]".Fatal
IdentifierR-EDM-REQ-C035sdg:DistributedAsquery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs/sdg:TransformationThe value of 'Transformation' of the requested distribution MUST be a persistent URL with link to a "DataModelScheme" and "Subset" of the EvidenceType retrieved from the Data Service Directory, desribed in the Semantic Repository which uses the prefix "https://sr.oots.tech.europa.eu/distributions/[DataModelScheme]/[Subset]".Fatal
CardinalityR-EDM-REQ-C036sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:LevelOfAssuranceThe Element 'LevelOfAssurance' must be provided  (minOccurs="1)' in the EvidenceRequest when rim:Slot[@name='NaturalPerson'] is used. Fatal
CodeLIstR-EDM-REQ-C037sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:LevelOfAssuranceThe value of 'LevelOfAssurance' must be part of the code list 'LoA' (eIDAS Levels Of Assurance).Fatal
CardinalityR-EDM-REQ-C038sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:IdentifierThe value of a Person 'Identifier' SHOULD be provided. Warning
FormatR-EDM-REQ-C039sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:IdentifierThe value of a Person 'Identifier' MUST have the format XX/YY/ZZZZZZZ where XX is the Nationality Code of the identifier and YY is the Nationality Code of the destination country and ZZZZZZZ is an undefined combination of characters which uniquely identifies the identity asserted in the country of origin. Example: ES/AT/02635542Y Fatal
CodeListR-EDM-REQ-C040sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:IdentifierThe value of Person 'Identifier' MUST have the format XX/YY/ZZZZZZZ where the values of XX and YY MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes).  Example: ES/AT/02635542Y Fatal
CardinalityR-EDM-REQ-C041sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
FixedValueR-EDM-REQ-C042sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:Identifier/@schemeIDThe 'schemeID' attribute of the 'Identifier' MUST have the fixed value 'eidas'.Fatal
FormatR-EDM-REQ-C043sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:DateOfBirthThe value of 'DateOfBirth' MUST use the following format YYYY + “-“ + MM + “-“ + DD (as defined for xsd:date) Fatal
CodeListR-EDM-REQ-C044sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:GenderThe value of 'Gender' MUST be part of the code list 'Gender' (eIDAS Gender Code).Fatal
CodeListR-EDM-REQ-C045sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:CurrentAddress/sdg:AdminUnitLevel1The value of the 'AdminUnitLevel1' SHOULD be part of the code list the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes).Warning
CodeListR-EDM-REQ-C046sdg:Person (Natural Person)query:QueryRequest/query:Query/rim:Slot[@name='NaturalPerson']/ rim:SlotValue/sdg:Person/sdg:CurrentAddress/sdg:AdminUnitLevel2The value of the 'AdminUnitLevel2' SHOULD be coded using the code list 'Nuts' (Nomenclature of Territorial Units for Statistics).Warning
CardinalityR-EDM-REQ-C047sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:LevelOfAssuranceThe Element 'LevelOfAssurance' must be provided  (minOccurs="1)' in the EvidenceRequest when rim:Slot[@name='LegalPerson'] is used. Fatal
CodeListR-EDM-REQ-C048sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:LevelOfAssuranceThe value of 'LevelOfAssurance' must be part of the code list 'LoA' (eIDAS Levels Of Assurance).Fatal
CardinalityR-EDM-REQ-C049sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifierThe value of a Legal Person 'LegalPersonIdentifier' SHOULD be provided. Warning
FormatR-EDM-REQ-C050sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifierThe value of a 'LegalPersonIdentifier' MUST have the format XX/YY/ZZZZZZZ where XX is the Nationality Code of the identifier and YY is the Nationality Code of the destination country and ZZZZZZZ is an undefined combination of characters which uniquely identifies the identity asserted in the country of origin. Example: ES/AT/02635542Y Fatal
CodeListR-EDM-REQ-C051sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifierThe value of a 'LegalPersonIdentifier' MUST have the format XX/YY/ZZZZZZZ where the values of XX and YY MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes).  Example: ES/AT/02635542Y Fatal
CardinalityR-EDM-REQ-C052sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifier/@schemeIDThe 'schemeID' attribute of 'LegalPersonIdentifier' MUST be present.Fatal
FixedValueR-EDM-REQ-C053sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifier/@schemeIDThe 'schemeID' attribute of the 'LegalPersonIdentifier' MUST have the fixed value 'eidas'.Fatal
CardinalityR-EDM-REQ-C054sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-REQ-C055sdg:LegalPersonquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:Identifier/@schemeIDThe 'schemeID' attribute of the 'Identifier' MUST have be part of the code list 'IdentifierSchemes' (eIDAS Legal Person Identifier Schemes).Fatal
CodeListR-EDM-REQ-C056sdg:RegisteredAddressquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:RegisteredAddress/sdg:AdminUnitLevel1The value of the 'AdminUnitLevel1' SHOULD be part of the code list the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes).Warning
CodeListR-EDM-REQ-C057sdg:RegisteredAddressquery:QueryRequest/query:Query/rim:Slot[@name='LegalPerson']/ rim:SlotValue/sdg:LegalPerson/sdg:RegisteredAddress/sdg:AdminUnitLevel2The value of the 'AdminUnitLevel2' SHOULD be part of the code list 'Nuts' (Nomenclature of Territorial Units for Statistics).Warning
CardinalityR-EDM-REQ-C058sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:LevelOfAssuranceThe Element 'LevelOfAssurance' must be provided (minOccurs="1)' in the EvidenceRequest when rim:Slot[@name='AuthorizedRepresentative'] is used. Fatal
CodeLIstR-EDM-REQ-C059sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:LevelOfAssuranceThe value of 'LevelOfAssurance' must be part of the code list 'LoA' (eIDAS Levels Of Assurance).Fatal
CardinalityR-EDM-REQ-C060sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:IdentifierThe value of a Person 'Identifier' SHOULD be provided. Warning
FormatR-EDM-REQ-C061sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:IdentifierThe value of a Person 'Identifier' MUST have the format XX/YY/ZZZZZZZ where XX is the Nationality Code of the identifier and YY is the Nationality Code of the destination country and ZZZZZZZ is an undefined combination of characters which uniquely identifies the identity asserted in the country of origin. Example: ES/AT/02635542Y Fatal
CodeListR-EDM-REQ-C062sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:IdentifierThe value of Person 'Identifier' MUST have the format XX/YY/ZZZZZZZ where the values of XX and YY MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes).  Example: ES/AT/02635542Y Fatal
CardinalityR-EDM-REQ-C063sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
FixedValueR-EDM-REQ-C064sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:Identifier/@schemeIDThe 'schemeID' attribute of the 'Identifier' MUST have the fixed value 'eidas'.Fatal
FormatR-EDM-REQ-C065sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:DateOfBirthThe value of 'DateOfBirth' MUST use the following format YYYY + “-“ + MM + “-“ + DD (as defined for xsd:date) Fatal
CodeListR-EDM-REQ-C066sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:GenderThe value of 'Gender' MUST be part of the code list 'Gender' (eIDAS Gender Code).Fatal
CodeListR-EDM-REQ-C067sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:CurrentAddress/sdg:AdminUnitLevel1The value of the 'AdminUnitLevel1' SHOULD be part of the code list the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes).Warning
CodeListR-EDM-REQ-C068sdg:Person (Authorized Representative)query:QueryRequest/query:Query/rim:Slot[@name='AuthorizedRepresentative']/ rim:SlotValue/sdg:Person/sdg:CurrentAddress/sdg:AdminUnitLevel2The value of the 'AdminUnitLevel2' SHOULD be part of the code list 'Nuts' (Nomenclature of Territorial Units for Statistics).Warning
CodeListR-EDM-REQ-C069query:QueryRequestquery:QueryRequest/@langThe value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C070sdg:DistributedAsquery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs/sdg:ConformsToThe value of 'sdg:ConformsTo' of the distribution MUST be present if the 'sdg:DistributedAs/sdg:Format' uses the codes 'application/xml' or 'application/json' of the codelist 'OOTSMediaTypes'.Fatal
CardinalityR-EDM-REQ-C071sdg:DistributedAsquery:QueryRequest/query:Query/rim:Slot[@name='EvidenceRequest']/ rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs/sdg:ConformsToThe value of  'sdg:ConformsTo'  of the distribution MUST be present if the Element 'sdg:Transformation' of the distribution is present. Fatal


3. Business rules associated to the Evidence Response

The tables below collect the set of business rules affecting the creation of Evidence Response instances. 

3.1 Business rules that prove the correct structure of Evidence Responses

The rule ID references to the transaction "Evidence Response" (EDM-RESP) and indicates the proof of structure through the prefix "S" before the number.

Rule TypeRule IDElementLocationRuleFlag
RootElementR-EDM-RESP-S001query:QueryResponsequery:QueryResponseThe root element of a query response document MUST be 'query:QueryResponse'Fatal
NameSpaceR-EDM-RESP-S002query:QueryResponsequery:QueryResponse/@xmlns:queryThe namespace of root element of a 'query:QueryResponse' must be 'urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0'Fatal
RootAttributeR-EDM-RESP-S003query:QueryResponsequery:QueryResponse/@requestIDThe 'requestID' attribute of a 'QueryResponse' MUST be present. Fatal
RootAttributeR-EDM-RESP-S004query:QueryResponsequery:QueryResponse/@requestIDThe 'requestID' attribute of a 'QueryResponse' MUST be unique UUID (RFC 4122) starting with prefix "urn:uuid:" and match the corresponding request.Fatal
RootAttributeR-EDM-RESP-S005query:QueryResponsequery:QueryResponse/@statusThe 'status' attribute of a 'QueryResponse' MUST be present. Fatal
RootAttributeR-EDM-RESP-S006query:QueryResponsequery:QueryResponse/@statusThe 'status attribute of a 'QueryResponse' MUST be encoded as "urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" for successful responses or as "urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Unavailable" for responses that will be available at a later time .Fatal
StructureR-EDM-RESP-S007query:QueryResponsequery:QueryResponse/rim:RegistryObjectListAn successful 'query:QueryResponse' includes a 'rim:RegistryObjectList'Fatal
StructureR-EDM-RESP-S008query:QueryResponsequery:QueryResponse/@statusAn successful 'query:QueryResponse' does not include a rs:ExceptionFatal
SlotR-EDM-RESP-S009rim:Slot (SpecificationIdentifier)query:QueryResponse/rim:Slot[@name='SpecificationIdentifier']The rim:Slot name="SpecificationIdentifier" MUST be present in the QueryResponse.Fatal
SlotR-EDM-RESP-S010rim:Slot (EvidenceResponseIdentifier)query:QueryResponse/rim:Slot[@name='EvidenceResponseIdentifier']The rim:Slot name="EvidenceResponseIdentifier" MUST be present in the QueryResponse.Fatal
SlotR-EDM-RESP-S011rim:Slot (IssueDateTime)query:QueryResponse/rim:Slot[@name='IssueDateTime']The rim:Slot name="IssueDateTime" MUST be present  in the QueryResponse.Fatal
SlotR-EDM-RESP-S012rim:Slot (EvidenceProvider)query:QueryResponse/rim:Slot[@name='EvidenceProvider']The rim:Slot name="EvidenceProvider" MUST be present in the QueryResponse.Fatal
SlotR-EDM-RESP-S013rim:Slot (EvidenceRequester)query:QueryResponsee/rim:Slot[@name='EvidenceRequester']The rim:Slot name="EvidenceRequester" MUST be present in the QueryResponse.Fatal
SlotR-EDM-RESP-S014rim:Slot (ResponseAvailableDateTime)query:QueryResponse/rim:Slot[@name='ResponseAvailableDateTime']The rim:Slot name="ResponseAvailableDateTime" MAY be present in the QueryResponse.Note
SlotR-EDM-RESP-S015rim:Slot (EvidenceMetadata)

query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/

rim:Slot[@name='EvidenceMetadata']

The rim:Slot name="EvidenceMetadata" MUST be present in the RegistryObject.Fatal
SlotR-EDM-RESP-S016query:QueryResponsequery:QueryResponseA 'query:QueryResponse' MUST not contain any other rim:Slots.Fatal
DataTypeR-EDM-RESP-S017rim:SlotValue (SpecificationIdentifier)query:QueryResponse/rim:Slot[@name='SpecificationIdentifier']/rim:SlotValueThe rim:SlotValue of rim:Slot name="SpecificationIdentifier" MUST be of "rim:StringValueType"Fatal
DataTypeR-EDM-RESP-S018rim:SlotValue (EvidenceResponseIdentifier)query:QueryResponse/rim:Slot[@name='EvidenceResponseIdentifier']/rim:SlotValueThe rim:SlotValue of rim:Slot name="EvidenceResponseIdentifier" MUST be of "rim:StringValueType"Fatal
DataTypeR-EDM-RESP-S019rim:SlotValue (IssueDateTime)query:QueryResponse/rim:Slot[@name='IssueDateTime']/rim:SlotValueThe rim:SlotValue of rim:Slot name="IssueDateTime" MUST be of "rim:DateTimeValueType"Fatal
DataTypeR-EDM-RESP-S020rim:SlotValue (EvidenceProvider)query:QueryResponse/rim:Slot[@name='EvidenceProvider']/rim:SlotValueThe rim:SlotValue of rim:Slot name="EvidenceProvider" MUST be of "rim:CollectionValueType"Fatal
DataTypeR-EDM-RESP-S021rim:Element (EvidenceProvider)

query:QueryResponse/rim:Slot[@name='EvidenceProvider']/

rim:SlotValue/rim:Element

The rim:Element of rim:SlotValue of rim:Slot name="EvidenceProvider" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-RESP-S022rim:SlotValue (EvidenceRequester)query:QueryResponsee/rim:Slot[@name='EvidenceRequester']/rim:SlotValueThe rim:SlotValue of rim:Slot name="EvidenceRequester" MUST be of "rim:AnyValueType"Fatal
DataTypeR-EDM-RESP-S023rim:SlotValue (ResponseAvailableDateTime)query:QueryResponse/rim:Slot[@name='ResponseAvailableDateTime']/rim:SlotValueThe rim:SlotValue of rim:Slot name="ResponseAvailableDateTime" MUST be of "rim:DateTimeValueType"Fatal
DataTypeR-EDM-RESP-S024rim:SlotValue (EvidenceMetadata)

query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/

rim:Slot[@name='EvidenceMetadata']/rim:SlotValue

The rim:SlotValue of rim:Slot name="EvidenceMetadata MUST be of "rim:AnyValueType"Fatal
XSD-BindingR-EDM-RESP-S025sdg:Agent (EvidenceProvider)

query:QueryResponse/rim:Slot[@name='EvidenceProvider']/

rim:SlotValue/sdg:Agent

The 'query:QueryResponse/rim:Slot[@name='EvidenceProvider']/rim:SlotValue' MUST use the 'sdg:Agent' of the targetNamespace="http://data.europa.eu/p4s"Fatal
XSD-Restriction R-EDM-RESP-S026sdg:Agent (EvidenceProvider)

query:QueryResponse/rim:Slot[@name='EvidenceProvider']/

rim:SlotValue/sdg:Agent

An EvidenceProvider 'rim:SlotValue/sdg:Agent' MUST not contain any other elements than 'sdg:Identifier' and 'sdg:Name', 'Address', "Classification". Fatal
XSD-BindingR-EDM-RESP-S027sdg:Agent (EvidenceRequester)

query:QueryResponse/rim:Slot[@name='EvidenceRequester']/

rim:SlotValue/rim:Element/sdg:Agent

The 'query:QueryResponse/rim:Slot[@name='EvidenceRequester']/rim:SlotValue' MUST 'sdg:Agent' of the targetNamespace="http://data.europa.eu/p4s"Fatal
XSD-Restriction R-EDM-RESP-S028sdg:Agent (EvidenceRequester)

query:QueryResponse/rim:Slot[@name='EvidenceRequester']/

rim:SlotValue/rim:Element/sdg:Agent

An EvidenceRequester ''rim:SlotValue/sdg:Agent' MUST not contain any other elements than 'sdg:Identifier' and 'sdg:Name'.Fatal
XSD-BindingR-EDM-RESP-S029sdg:Evidence (EvidenceMetadata)

query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/

rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence

The 'query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/

rim:Slot[@name='EvidenceMetadata']/rim:SlotValue' MUST use the 'sdg:Evidence' of the targetNamespace="http://data.europa.eu/p4s"

Fatal
XSD-Restriction R-EDM-RESP-S030sdg:IsConformantTo

query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/

rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/sdg:IsConformantTo

The class 'IsConformantTo' of 'Evidence' MUST not contain any other elements than 'sdg:Identifier', 'sdg:Title' and 'sdg:Description'.Fatal
CardinalityR-EDM-RESP-S031query:QueryResponsequery:QueryResponse/@requestIDThe 'requestID' attribute of a 'QueryResponse' MUST be present. Fatal
CardinalityR-EDM-RESP-S032query:QueryResponsequery:QueryResponse/@statusThe 'status' attribute of a 'QueryResponse' MUST be present. Fatal
CardinalityR-EDM-RESP-S033rim:RespositoryItemRef

query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/

rim:RepositoryItemRef

The 'rim:RespositoryItemRef' of a 'rim:RegistryObject' MUST be present. Fatal
CardinalityR-EDM-RESP-S034rim:RespositoryItemRef

query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/

rim:RepositoryItemRef/@xlink:href

The 'xlink:href' attribute of 'RepositoryItemRef' MUST be present.Fatal
CardinalityR-EDM-RESP-S035rim:RespositoryItemRef

query:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/

rim:RepositoryItemRef/@xlink:title

The 'xlink:title' attribute of 'RepositoryItemRef' MUST be present.Fatal
CardinalityR-EDM-RESP-S036rim:RegistryObjectquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/@idThe 'id' attribute of a 'RegistryObject' MUST be present. Fatal
IdentifierR-EDM-RESP-S037rim:RegistryObjectquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/@idThe 'id' attribute of a 'RegistryObject' MUST be unique UUID (RFC 4122) starting with prefix "urn:uuid:".Fatal


3.2 Business rules that prove the correct use of information objects in Evidence Responses

The rule ID references to the transaction "Evidence Response" (EDM-RESP) and indicates the proof of structure through the prefix "C" before the number.

Rule Type Rule IDElementLocationRuleFlag
IdentifierR-EDM-RESP-C002rim:Value (SpecificationIdentifier)query:QueryResponse/rim:Slot[@name='SpecificationIdentifier']/ rim:SlotValue/rim:ValueThe 'rim:Value' of the 'SpecificationIdentifier' MUST be the fixed value "oots-edm:v1.0".Fatal
IdentifierR-EDM-RESP-C003rim:Value (EvidenceResponseIdentifier)query:QueryResponse/rim:Slot[@name='EvidenceResponseIdentifier']/ rim:SlotValue/rim:ValueThe 'rim:Value' of the 'EvidenceResponseIdentifier' MUST be unique UUID (RFC 4122) for each response starting.Fatal
FormatR-EDM-RESP-C004rim:Value (IssueDateTime)query:QueryResponse/rim:Slot[@name='IssueDateTime']/ rim:SlotValue/rim:ValueThe 'rim:Value' of 'IssueDateTime' MUST be according to xsd:dateTime. Fatal
FormatR-EDM-RESP-C005rim:Value (ResponseAvailableDateTime)query:QueryResponse/rim:Slot[@name='IssueDateTime']/ rim:SlotValue/rim:ValueThe 'rim:Value' of 'ResponseAvailableDateTime' MUST be according to xsd:dateTime. Fatal
CardinalityR-EDM-RESP-C006sdg:Agent (EvidenceProvider)query:QueryResponse/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-RESP-C007sdg:Agent (EvidenceProvider)query:QueryResponse/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Identifier/@schemeIDThe value of the 'schemeID' attribute of the 'Identifier' MUST  be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'.Fatal
CodeListR-EDM-RESP-C008sdg:Agent (EvidenceProvider)query:QueryResponse/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Address/sdg:AdminUnitLevel1The value of the 'AdminUnitLevel1' MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1 alpha-2 codes).Fatal
CodeListR-EDM-RESP-C009sdg:Agent (EvidenceProvider)query:QueryResponse/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Address/sdg:AdminUnitLevel2The value of the 'AdminUnitLevel2' MUST be coded using the code list 'Nuts' (Nomenclature of Territorial Units for Statistics).Fatal
CardinalityR-EDM-RESP-C010sdg:Agent (EvidenceProvider)query:QueryResponse/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:ClassificationThe value for 'Agent/Classification' MUST be provided. Fatal
CodeListR-EDM-RESP-C011sdg:Agent (EvidenceProvider)query:QueryResponse/rim:Slot[@name='EvidenceProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:ClassificationThe value MUST be part of the code list 'AgentClassification'. Default value: EP (Evidence Provider). If the code 'IP' (Intermediary Platform) is present there must be another 'sdg:Agent' Element containing the code 'EP'. The code 'ER' and 'ERRP' shall not be used by this transaction. Fatal
CardinalityR-EDM-RESP-C012sdg:Agent (EvidenceRequester)query:QueryResponse/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-RESP-C013sdg:Agent (EvidenceRequester)query:QueryResponse/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeIDThe value of the 'schemeID' attribute of the 'Identifier' MUST  be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'.Fatal
IdentifierR-EDM-RESP-C015sdg:Evidencequery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/sdg:IdentifierThe value of 'Identifier' of an 'Evidence' MUST be unique UUID (RFC 4122).Fatal
FormatR-EDM-RESP-C016sdg:Evidencequery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/sdg:IssuingDateThe value of 'IssuingDate' of an 'Evidence' MUST be be according to xsd:date.Fatal
CodelistR-EDM-RESP-C017sdg:IsConformantToquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsConformantTo/sdg:EvidenceTypeClassificationThe value of 'EvidenceTypeClassification' of 'IsConformantTo' MUST be a UUID desribed in the Evidence Broker and inlude a code of the code list 'CountryIdentificationCode' (ISO 3166-1' alpha-2 codes) using the prefix and scheme 'https://sr.oots.tech.europa.eu/evidencetypeclassifications/[CountryIdentificationCode]/[UUID]' pointing to the Semantic Repository. Fatal
CodeListR-EDM-RESP-C018sdg:IsConformantToquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsConformantTo/sdg:Title/@langThe value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-RESP-C019sdg:IsConformantToquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsConformantTo/sdg:Title/@langThe value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CodeListR-EDM-RESP-C020sdg:IsConformantToquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsConformantTo/sdg:Description/@langThe value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-RESP-C021sdg:IsConformantToquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsConformantTo/sdg:Description/@langThe value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
IdentifierR-EDM-RESP-C022sdg:Distributionquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:Distribution/sdg:ConformsToThe value of 'ConformsTo' of the requested distribution MUST be a persistent URL with a link to a "DataModelScheme" of the Evidence Type described in the Semantic Repository which uses the prefix "https://sr.oots.tech.europa.eu/distributions/[DataModelScheme]".Fatal
CodeListR-EDM-RESP-C023sdg:Distributionquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:Distribution/sdg:FormatThe value of 'Format' of the requested distribution MUST be be part of the code list 'OOTSMediaTypes'.Fatal
CodeListR-EDM-RESP-C026sdg:Distributionquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:Distribution/sdg:LanguageThe value of 'Language'  MUST  be part of the code list 'Language Code' (two-letter ISO 639-1).Fatal
CardinalityR-EDM-RESP-C027sdg:IsAboutNaturalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutNaturalPerson/sdg:IdentifierThe value of a Person 'Identifier' SHOULD be provided. Warning
FormatR-EDM-RESP-C028sdg:IsAboutNaturalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutNaturalPerson/sdg:IdentifierThe value of a Person 'Identifier' MUST have the format XX/YY/ZZZZZZZ where XX is the Nationality Code of the identifier and YY is the Nationality Code of the destination country and ZZZZZZZ is an undefined combination of characters which uniquely identifies the identity asserted in the country of origin. Example: ES/AT/02635542Y Fatal
CodeListR-EDM-RESP-C029sdg:IsAboutNaturalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutNaturalPerson/sdg:IdentifierThe value of Person 'Identifier' MUST have the format XX/YY/ZZZZZZZ where the values of XX and YY MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1 alpha-2 codes).  Example: ES/AT/02635542Y Fatal
CardinalityR-EDM-RESP-C030sdg:IsAboutNaturalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutNaturalPerson/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
FixedValueR-EDM-RESP-C031sdg:IsAboutNaturalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutNaturalPerson/sdg:Identifier/@schemeIDThe 'schemeID' attribute of the 'Identifier' MUST have the fixed value 'eidas'.Fatal
FormatR-EDM-RESP-C032sdg:IsAboutNaturalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutNaturalPerson/sdg:DateOfBirthThe value of 'DateOfBirth' MUST use the following format YYYY + “-“ + MM + “-“ + DD (as defined for xsd:date) Fatal
CardinalityR-EDM-RESP-C033sdg:IsAboutLegalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutLegalPerson/sdg:LegalIdentifierThe value of a Legal Person 'LegalPersonIdentifier' SHOULD be provided. Fatal
FormatR-EDM-RESP-C034sdg:IsAboutLegalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutLegalPerson/sdg:LegalIdentifierThe value of a 'LegalIdentifier' MUST have the format XX/YY/ZZZZZZZ where XX is the Nationality Code of the identifier and YY is the Nationality Code of the destination country and ZZZZZZZ is an undefined combination of characters which uniquely identifies the identity asserted in the country of origin. Example: ES/AT/02635542Y Fatal
CodeListR-EDM-RESP-C035sdg:IsAboutLegalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutLegalPerson/sdg:LegalIdentifierThe value of a 'LegalIdentifier' MUST have the format XX/YY/ZZZZZZZ where the values of XX and YY MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1 alpha-2 codes).  Example: ES/AT/02635542Y Fatal
CardinalityR-EDM-RESP-C036sdg:IsAboutLegalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutLegalPerson/sdg:LegalIdentifier/@schemeIDThe 'schemeID' attribute of 'LegalIdentifier' MUST be present.Fatal
FixedValueR-EDM-RESP-C037sdg:IsAboutLegalPersonquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IsAboutLegalPerson/sdg:LegalIdentifier/@schemeIDThe 'schemeID' attribute of the 'LegalIdentifier' MUST have the fixed value 'eidas'.Fatal
CardinalityR-EDM-RESP-C038sdg:IssuingAuthorityquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IssuingAuthority/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-RESP-C039sdg:IssuingAuthorityquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:IssuingAuthority/sdg:Identifier/@schemeIDThe value of the 'schemeID' attribute of the 'Identifier' MUST  be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'.Fatal
FormatR-EDM-RESP-C040sdg:ValidityPeriodquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:ValidityPeriod/sdg:StartDateThe value of 'StartDate' of an 'ValidityPeriod' MUST be be according to xsd:dateTime.Fatal
FormatR-EDM-RESP-C041sdg:ValidityPeriodquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:ValidityPeriod/sdg:EndDateThe value of 'EndDate' of an 'ValidityPeriod' MUST be be according to xsd:dateTime.Fatal
FormatR-EDM-RESP-C042RepositoryItemRefquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:RepositoryItemRef/@xlink:hrefThe value of the attribute "xlink:href" of "rim:RepositoryItemRef" MUST follow the URI scheme cid and start with the prefix 'cid:……'Fatal
IdentifierR-EDM-RESP-C043sdg:DistributedAsquery:QueryResponse/rim:RegistryObjectList/rim:RegistryObject/ rim:Slot[@name='EvidenceMetadata']/rim:SlotValue/sdg:Evidence/ sdg:Distribution/sdg:TransformationThe value of 'Transformation' of the requested distribution MUST be a persistent URL with link to a "DataModelScheme" and "Subset" of the EvidenceType desribed in the Semantic Repository which uses the prefix "https://sr.oots.tech.europa.eu/distributions/[DataModelScheme]/[Subset]".Fatal

4. Business rules associated to the Error Response

The tables below collect the set of business rules affecting the creation of Error Response instances. 

4.1 Business rules that prove the correct structure of Error Responses

The rule ID references to the transaction "EDM Error Response" (EDM-ERR) and indicates the proof of structure through the prefix "S" before the number.

Rule TypeRule IDElementLocationRuleFlag
RootElementR-EDM-ERR-S001query:QueryResponsequery:QueryResponseThe root element of a query response document MUST be 'query:QueryResponse'Fatal
NameSpaceR-EDM-ERR-S002query:QueryResponsequery:QueryResponse/@xmlns:queryThe namespace of root element of a 'query:QueryResponse' must be 'urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0'Fatal
RootAttributeR-EDM-ERR-S003query:QueryResponsequery:QueryResponse/@requestIDThe 'requestID' attribute of a 'QueryResponse' MUST be present. Fatal
RootAttributeR-EDM-ERR-S004query:QueryResponsequery:QueryResponse/@requestIDThe 'requestID' attribute of a 'QueryResponse' MUST be unique UUID (RFC 4122) starting with prefix "urn:uuid:" and match the corresponding request.Fatal
RootAttributeR-EDM-ERR-S005query:QueryResponsequery:QueryResponse/@statusThe 'status' attribute of a 'QueryResponse' MUST be present. Fatal
RootAttributeR-EDM-ERR-S006query:QueryResponsequery:QueryResponse/@statusThe 'status' attribute of an unsuccessfull 'query:QueryResponse' MUST be encoded as as 'urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure'.Fatal
StructureR-EDM-ERR-S007query:QueryResponsequery:QueryResponse/@statusAn unsuccessful 'query:QueryResponse' does not include a 'rim:RegistryObjectList'Fatal
StructureR-EDM-ERR-S008rs:Exceptionquery:QueryResponse/rs:ExceptionAn unsuccessful 'query:QueryResponse' includes an ExceptionFatal
SlotR-EDM-ERR-S009rim:Slot (SpecificationIdentifier)query:QueryResponse/rim:Slot[@name='SpecificationIdentifier']The rim:Slot name="SpecificationIdentifier" MUST be present in the QueryResponse.Fatal
SlotR-EDM-ERR-S010rim:Slot (EvidenceResponseIdentifier)query:QueryResponse/rim:Slot[@name='EvidenceResponseIdentifier']The rim:Slot name="EvidenceResponseIdentifier" MUST be present in the QueryResponse.Fatal
SlotR-EDM-ERR-S011rim:Slot (ErrorProvider)query:QueryResponse/rim:Slot[@name='ErrorProvider']The rim:Slot name="ErrorProvider" MUST be present in the QueryResponse.Fatal
SlotR-EDM-ERR-S012rim:Slot (EvidenceRequester)query:QueryResponsee/rim:Slot[@name='EvidenceRequester']The rim:Slot name="EvidenceRequester" MUST be present in the QueryResponse.Fatal
SlotR-EDM-ERR-S013rim:Slot (Timestamp)query:QueryResponse/rs:Exception/rim:Slot[@name='Timestamp']The rim:Slot name="Timestamp" MUST be present in the rs:Exception.Fatal
SlotR-EDM-ERR-S014rim:Slot (PreviewLocation)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewLocation']The rim:Slot name="PreviewLocation" MAY be present in the rs:Exception.Note
SlotR-EDM-ERR-S015rim:Slot (PreviewDescription)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewDescription']The rim:Slot name="PreviewDescription" MAY be present in the rs:Exception.Note
SlotR-EDM-ERR-S016rim:Slot (PreviewMethod)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewMethod']The rim:Slot name="PreviewMethod" MAY be present in the rs:Exception.Note
SlotR-EDM-ERR-S017query:QueryResponsequery:QueryResponseA 'query:QueryResponse' MUST not contain any other rim:Slots.Fatal
DatatypeR-EDM-ERR-S018rim:SlotValue (SpecificationIdentifier)query:QueryResponse/rim:Slot[@name='SpecificationIdentifier']/rim:SlotValueThe rim:SlotValue of rim:Slot name="SpecificationIdentifier" MUST be of "rim:StringValueType"Fatal
DatatypeR-EDM-ERR-S019rim:SlotValue (EvidenceResponseIdentifier)query:QueryResponse/rim:Slot[@name='EvidenceResponseIdentifier']/rim:SlotValueThe rim:SlotValue of rim:Slot name="EvidenceResponseIdentifier" MUST be of "rim:StringValueType"Fatal
DatatypeR-EDM-ERR-S020rim:SlotValue (ErrorProvider)query:QueryResponse/rim:Slot[@name='ErrorProvider']/rim:SlotValueThe rim:SlotValue of rim:Slot name="ErrorProvider" MUST be of "rim:CollectionValueType"Fatal
DatatypeR-EDM-ERR-S021rim:SlotValue (EvidenceRequester)query:QueryResponsee/rim:Slot[@name='EvidenceRequester']/rim:SlotValueThe rim:SlotValue of rim:Slot name="EvidenceRequester" MUST be of "rim:AnyValueType"Fatal
DatatypeR-EDM-ERR-S022rim:SlotValue (Timestamp)query:QueryResponse/rs:Exception/rim:Slot[@name='Timestamp']/rim:SlotValueThe rim:SlotValue of rim:Slot name="Timestamp" MUST be of "rim:DateTimeValueType"Fatal
DatatypeR-EDM-ERR-S023rim:SlotValue (PreviewLocation)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewLocation']/rim:SlotValueThe rim:SlotValue of rim:Slot name="PreviewLocation" MUST be of "rim:StringValueType"Fatal
DatatypeR-EDM-ERR-S024rim:SlotValue (PreviewDescription)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewDescription']/rim:SlotValueThe rim:SlotValue of rim:Slot name="PreviewDescription" MUST be of "rim:InternationalStringValueType"Fatal
DatatypeR-EDM-ERR-S025rim:SlotValue (PreviewMethod)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewMethod']/rim:SlotValueThe rim:SlotValue of rim:Slot name="PreviewMethod" MUST be of "rim:StringValueType"Fatal


4.2 Business rules that prove the correct use of information objects in Error Responses

The rule ID references to the transaction "EDM Error Response" (EDM-ERR) and indicates the proof of structure through the prefix "C" before the number.

Rule TypeRule IDElementLocationRuleFlag
IdentifierR-EDM-ERR-C001rim:Value (SpecificationIdentifier)query:QueryResponse/rim:Slot[@name='SpecificationIdentifier']/ rim:SlotValue/rim:ValueThe 'rim:Value' of the 'SpecificationIdentifier' MUST be the fixed value "oots-edm:v1.0".Fatal
IdentifierR-EDM-ERR-C002rim:Value (EvidenceResponseIdentifier)query:QueryResponse/rim:Slot[@name='EvidenceResponseIdentifier']/ rim:SlotValue/rim:ValueThe 'rim:Value' of the 'EvidenceResponseIdentifier' MUST be unique UUID (RFC 4122) for each response.Fatal
CardinalityR-EDM-ERR-C003sdg:Agent (ErrorProvider)query:QueryResponse/rim:Slot[@name='ErrorProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-ERR-C004sdg:Agent (ErrorProvider)query:QueryResponse/rim:Slot[@name='ErrorProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Identifier/@schemeIDThe value of the 'schemeID' attribute of the 'Identifier' MUST  be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'.Fatal
CodeListR-EDM-ERR-C005sdg:Agent (ErrorProvider)query:QueryResponse/rim:Slot[@name='ErrorProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Address/sdg:AdminUnitLevel1The value of the 'AdminUnitLevel1' MUST be part of the code list 'CountryIdentificationCode' (ISO 3166-1 alpha-2 codes).Fatal
CodeListR-EDM-ERR-C006sdg:Agent (ErrorProvider)query:QueryResponse/rim:Slot[@name='ErrorProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:Address/sdg:AdminUnitLevel2The value of the 'AdminUnitLevel2' MUST be coded using the code list 'Nuts' (Nomenclature of Territorial Units for Statistics).Fatal
CardinalityR-EDM-ERR-C007sdg:Agent (ErrorProvider)query:QueryResponse/rim:Slot[@name='ErrorProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:ClassificationThe value for 'Agent/Classification' MUST be provided. Fatal
CodeListR-EDM-ERR-C008sdg:Agent (ErrorProvider)query:QueryResponse/rim:Slot[@name='ErrorProvider']/ rim:SlotValue/rim:Element/sdg:Agent/sdg:ClassificationThe value MUST be part of the code list 'AgentClassification'. Default value: ERRP (Error Provider). The code 'ER' shall not be used by this transaction. Fatal
CardinalityR-EDM-ERR-C009sdg:Agent (EvidenceRequester)query:QueryResponse/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeIDThe 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-ERR-C010sdg:Agent (EvidenceRequester)query:QueryResponse/rim:Slot[@name='EvidenceRequester']/ rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeIDThe value of the 'schemeID' attribute of the 'Identifier' MUST  be part of the code list 'EAS' (Electronic Address Scheme ) and use the prefix 'urn:cef.eu:names:identifier:EAS:[Code]'.Fatal
CardinalityR-EDM-ERR-C011rs:Exceptionquery:QueryResponse/rs:ExceptionThe 'rs:Exception' class of a 'QueryResponse' MUST be present if  'status' attribute of a 'QueryResponse' is "urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure".Fatal
CardinalityR-EDM-ERR-C012rs:Exceptionquery:QueryResponse/rs:Exception/@xsi:typeThe 'xsi:type' attribute of a 'rs:Exception' MUST be present. Fatal
CodeListR-EDM-ERR-C013rs:Exceptionquery:QueryResponse/rs:Exception/@xsi:typeThe value of 'xsi:type' attribute of a 'rs:Exception' MUST be a 'type' provided by code list 'EDMErrorCodes' (Exchange Data Model Error Response Codes). Fatal
CardinalityR-EDM-ERR-C014rs:Exceptionquery:QueryResponse/rs:Exception/@severityThe 'severity' attribute of a 'rs:Exception' MUST be present. It must be part of the code list 'ErrorSeverity' (Error Severity). The code 'urn:sr.oots.tech.europa.eu:codes:ErrorSeverity:DSDErrorResponse:AdditionalInput' shall not be used by this transaction. Fatal
CodeListR-EDM-ERR-C015rs:Exceptionquery:QueryResponse/rs:Exception/@severityThe value of 'severity' attribute of a 'rs:Exception' MUST  be 'urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error' if the rs:Exception xsi:type='rs:AuthorizationExceptionType' (@code 'EDM:ERR:0001') is NOT used. Fatal
CardinalityR-EDM-ERR-C016rs:Exceptionquery:QueryResponse/rs:Exception/@messageThe 'message' attribute of a 'rs:Exception' MUST be present. Fatal
CodeListR-EDM-ERR-C017rs:Exceptionquery:QueryResponse/rs:Exception/@codeThe value of 'code' attribute of a 'rs:Exception' MUST be a 'code' matching the 'type' provided by code list 'EDMErrorCodes' (Exchange Data Model Error Response Codes).  Fatal
FormatR-EDM-ERR-C018rim:Value (Timestamp)query:QueryResponse/rs:Exception/rim:Slot[@name='Timestamp']/ rim:SlotValue/rim:ValueThe 'rim:Value' of 'Timestamp' MUST be according to xsd:dateTime. Fatal
IdentifierR-EDM-ERR-C019rim:Value (PreviewLocation)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewLocation']/ rim:SlotValue/rim:ValueThe 'rim:Value' of a 'PreviewLocation' MUST be a URI starting with 'https://'.Fatal
CodeListR-EDM-ERR-C020rim:Value (PreviewDescription)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewDescription']/ rim:SlotValue/rim:ValueThe 'language' attribute of 'PreviewDescription' MUST be specified using the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CodeListR-EDM-ERR-C021rim:Value (PreviewMethod)query:QueryResponse/rs:Exception/rim:Slot[@name='PreviewMethod']/ rim:SlotValue/rim:ValueThe 'rim:Value' of a 'PreviewMethod' MUST be either the HTTP verb 'GET' or 'POST'.Fatal
CodelistR-EDM-ERR-C022rs:Exceptionquery:QueryResponse/rs:Exception/@severityIf a 'rim:Slot[@name='PreviewLocation']' is provided, the 'rs:Exception' MUST  be 'urn:sr.oots.tech.europa.eu:codes:ErrorSeverity:EDMErrorResponse:PreviewRequired' and use the rs:Exception xsi:type='rs:AuthorizationExceptionType' (@code 'EDM:ERR:0001'). Fatal






  • No labels