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 TypeRules IDElementLocationRuleFlag
IdentifierR-EDM-REQ-C001rim:Value (SpecificationIdentifier)

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

rim:SlotValue/rim:Value

The '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:Value

The '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/@value

The 'value' attribute of 'Procedure' MUST be part of the code list 'Procedure Types'Fatal
CodeListR-EDM-REQ-C004rim:Value (Procedure)

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

rim:SlotValue/rim:Value/rim:LocalizedString/@xml:lang

The 'language' attribute of 'Procedure' MUST be specified using the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
IdentifierR-EDM-REQ-C005rim:Value (PreviewLocation)

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

rim:SlotValue/rim:Value

The '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:Value

The '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:Value

The 'rim:Value' of 'ExplicitRequestGiven' MUST be xs:boolean.Fatal
IdentifierR-EDM-REQ-C008sdg:Requirement

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

rim:SlotValue/rim:Element/sdg:Requirement/sdg:Identifier

The value of 'Identifier' of a 'Requirement' MUST be unique UUID (RFC 4122) provided by the EvidenceBroker.Fatal
CodeListR-EDM-REQ-C009sdg:Requirement

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

rim:SlotValue/rim:Element/sdg:Requirement/sdg:Name/@lang

The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C010sdg:Requirement

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

rim:SlotValue/rim:Element/sdg:Requirement/sdg:Name/@lang

The 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/@schemeID

The '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/@schemeID

The 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:Classification

The 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:Classification

The value MUST be part of the code list 'AgentClassification'. Default value: EvidenceRequesterFatal
CodeListR-EDM-REQ-C015sdg:Address (EvidenceRequester)

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

rim:SlotValue/rim:Element/sdg:Agent/sdg:Address/sdg:AdminUnitLevel1

The 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:AdminUnitLevel2

The value of the 'AdminUnitLevel2' MUST be coded using the code list 'Nomenclature of Territorial Units for Statistics' (NUTS)Fatal
CardinalityR-EDM-REQ-C017sdg:Agent (EvidenceProvider)

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

rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeID

The '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/@schemeID

The 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:EvidenceProviderClassification

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

rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:Identifier

The value of 'Identifier' of MUST be unique UUID (RFC 4122).Fatal
CardinalityR-EDM-REQ-C020sdg:EvidenceProviderClassification

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

rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:Type

The value for 'Type' MUST be provided. Fatal
CodeListR-EDM-REQ-C021sdg:EvidenceProviderClassification

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

rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:Description/@lang

The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C022sdg:EvidenceProviderClassification

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

rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:Description/@lang

The value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CardinalityR-EDM-REQ-C023sdg:EvidenceProviderClassification

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

rim:SlotValue/rim:Element/sdg:EvidenceProviderClassification/sdg:SupportedValue

A 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:DataServiceEvidenceType

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Identifier

The value of 'Identifier' of an 'DataServiceEvidenceType' MUST be unique UUID (RFC 4122) retrieved from the Data Service Directory.Fatal
CodeListR-EDM-REQ-C027sdg:DataServiceEvidenceType

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:EvidenceTypeClassification

The value of 'EvidenceTypeClassification' of a 'DataServiceEvidenceType' MUST be a URI with the following format 'http:://……' pointing to the Semantic Repository encoded in the EvidenceBroker.Fatal
CodeListR-EDM-REQ-C028sdg:DataServiceEvidenceType

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Title/@lang

The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C029sdg:DataServiceEvidenceType

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Title/@lang

The value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CodeListR-EDM-REQ-C030sdg:DataServiceEvidenceType

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Description/@lang

The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-REQ-C031sdg:DataServiceEvidenceType

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:Description/@lang

The value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CardinalityR-EDM-REQ-C032sdg:DistributedAs

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs

The Element 'DistributedAs' must occur not more than once (maxOccurs="1)' in the EvidenceRequest. Fatal
CodeListR-EDM-REQ-C033sdg:DistributedAs

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs/sdg:Format

The value of 'Format' of the requested distribution MUST be be part of the code list 'BinaryObjectMimeCode'.Fatal
IdentifierR-EDM-REQ-C034sdg:DistributedAs

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs/sdg:ConformsTo

The value of 'ConformsTo' of the requested distribution MUST be a persistent URL pointing to the Data Service Directory (Semantic Respository).Fatal
IdentifierR-EDM-REQ-C035sdg:DistributedAs

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

rim:SlotValue/sdg:DataServiceEvidenceType/sdg:DistributedAs/sdg:Transformation

The value of 'Transformation' of an requested distribution MUST be a persistent URL pointing to the Data Service Directory (Semantic Respository).Fatal
CardinalityR-EDM-REQ-C036sdg:Person (Natural Person)

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

rim:SlotValue/sdg:Person/sdg:LevelOfAssurance

The 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:LevelOfAssurance

The value of 'LevelOfAssurance' must be part of the code list 'LevelsOfAssuranceCode'Fatal
CardinalityR-EDM-REQ-C038sdg:Person (Natural Person)

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

rim:SlotValue/sdg:Person/sdg:Identifier

The 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:Identifier

The 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:Identifier

The 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/@schemeID

The '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/@schemeID

The '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:DateOfBirth

The 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:Gender

The value of 'Gender' MUST be  'Male',  'Female' or  'Unspecified'.Fatal
CodeListR-EDM-REQ-C045sdg:Person (Natural Person)

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

rim:SlotValue/sdg:Person/sdg:CurrentAddress/sdg:AdminUnitLevel1

The 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:AdminUnitLevel2

The value of the 'AdminUnitLevel2' SHOULD be coded using the code list 'Nomenclature of Territorial Units for Statistics' (NUTS)Warning
CardinalityR-EDM-REQ-C047sdg:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:LevelOfAssurance

The Element 'LevelOfAssurance' must be provided  (minOccurs="1)' in the EvidenceRequest when rim:Slot[@name='LegalPerson'] is used. Fatal
CodeListR-EDM-REQ-C048sdg:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:LevelOfAssurance

The value of 'LevelOfAssurance' must be part of the code list 'LevelsOfAssuranceCode'Fatal
CardinalityR-EDM-REQ-C049sdg:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifier

The value of a Legal Person 'LegalPersonIdentifier' SHOULD be provided. Warning
FormatR-EDM-REQ-C050sdg:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifier

The 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:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifier

The 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:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifier/@schemeID

The 'schemeID' attribute of 'LegalPersonIdentifier' MUST be present.Fatal
FixedValueR-EDM-REQ-C053sdg:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:LegalPersonIdentifier/@schemeID

The 'schemeID' attribute of the 'LegalPersonIdentifier' MUST have the fixed value 'eidas'.Fatal
CardinalityR-EDM-REQ-C054sdg:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:Identifier/@schemeID

The 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-REQ-C055sdg:LegalPerson

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

rim:SlotValue/sdg:LegalPerson/sdg:Identifier/@schemeID

The 'schemeID' attribute of the 'Identifier' MUST have be part of the code list 'IdentifierTypeCodes'.Fatal
CodeListR-EDM-REQ-C056sdg:RegisteredAddress

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

rim:SlotValue/sdg:LegalPerson/sdg:RegisteredAddress/sdg:AdminUnitLevel1

The 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:RegisteredAddress

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

rim:SlotValue/sdg:LegalPerson/sdg:RegisteredAddress/sdg:AdminUnitLevel2

The 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:LevelOfAssurance

The 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:LevelOfAssurance

The value of 'LevelOfAssurance' must be part of the code list 'LevelsOfAssuranceCode'Fatal
CardinalityR-EDM-REQ-C060sdg:Person (Authorized Representative)

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

rim:SlotValue/sdg:Person/sdg:Identifier

The 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:Identifier

The 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:Identifier

The 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/@schemeID

The '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/@schemeID

The '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:DateOfBirth

The 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:Gender

The value of 'Gender' MUST be  'Male',  'Female' or  'Unspecified'.Fatal
CodeListR-EDM-REQ-C067sdg:Person (Authorized Representative)

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

rim:SlotValue/sdg:Person/sdg:CurrentAddress/sdg:AdminUnitLevel1

The 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:AdminUnitLevel2

The 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

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 TypeRule 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.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/@schemeID

The '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/@schemeID

The 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:AdminUnitLevel1

The 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:AdminUnitLevel2

The 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:Classification

The 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:Classification

The value MUST be part of the code list 'AgentClassification'. Default value: Evidence ProviderFatal
CardinalityR-EDM-RESP-C012sdg:Agent (EvidenceRequester)

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

rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeID

The '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/@schemeID

The 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:Evidence

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

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

The value of 'Identifier' of an 'Evidence' MUST be unique UUID (RFC 4122).Fatal
FormatR-EDM-RESP-C016sdg:Evidence

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

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

The value of 'IssuingDate' of an 'Evidence' MUST be be according to xsd:date.Fatal
CodelistR-EDM-RESP-C017sdg:IsConformantTo

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

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

sdg:IsConformantTo/sdg:EvidenceTypeClassification

The value of 'EvidenceTypeClassification' of 'IsConformantTo' MUST be a URI with the following format 'http:://……' pointing to the Semantic Repository encoded in the EvidenceBroker.Fatal
CodeListR-EDM-RESP-C018sdg:IsConformantTo

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

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

sdg:IsConformantTo/sdg:Title/@lang

The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-RESP-C019sdg:IsConformantTo

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

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

sdg:IsConformantTo/sdg:Title/@lang

The value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
CodeListR-EDM-RESP-C020sdg:IsConformantTo

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

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

sdg:IsConformantTo/sdg:Description/@lang

The value of 'lang' attribute MUST be part of the code list 'LanguageCode' (ISO 639-1 two-letter code).Fatal
CardinalityR-EDM-RESP-C021sdg:IsConformantTo

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

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

sdg:IsConformantTo/sdg:Description/@lang

The value of 'lang' attribute MUST be be provided. Default value: 'en'.Fatal
IdentifierR-EDM-RESP-C022sdg:Distribution

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

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

sdg:Distribution/sdg:ConformsTo

The value of 'ConformsTo' of the 'Distribution' MUST be a persistent URL pointing to the Data Service Directory (Semantic Respository).Fatal
CodeListR-EDM-RESP-C023sdg:Distribution

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

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

sdg:Distribution/sdg:Format

The value of 'Format' of the 'Distribution' MUST be be part of the code list 'BinaryObjectMimeCode'.Fatal
CodeListR-EDM-RESP-C024sdg:Distribution

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

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

sdg:Distribution/sdg:PackagingFormat

The value of 'PackagingFormat' of the 'Distribution' MUST be be part of the code list 'BinaryObjectMimeCode'.Fatal
CodeListR-EDM-RESP-C025sdg:Distribution

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

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

sdg:Distribution/sdg:CompressionFormat

The value of 'CompressionFormat' of the 'Distribution' MUST be be part of the code list 'BinaryObjectMimeCode'.Fatal
CodeListR-EDM-RESP-C026sdg:Distribution

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

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

sdg:Distribution/sdg:Language

The value of 'Language'  MUST  be part of the code list 'Language Code' (two-letter ISO 639-1).Fatal
CardinalityR-EDM-RESP-C027sdg:IsAboutNaturalPerson

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

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

sdg:IsAboutNaturalPerson/sdg:Identifier

The value of a Person 'Identifier' SHOULD be provided. Warning
FormatR-EDM-RESP-C028sdg:IsAboutNaturalPerson

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

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

sdg:IsAboutNaturalPerson/sdg:Identifier

The 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:IsAboutNaturalPerson

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

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

sdg:IsAboutNaturalPerson/sdg:Identifier

The 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:IsAboutNaturalPerson

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

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

sdg:IsAboutNaturalPerson/sdg:Identifier/@schemeID

The 'schemeID' attribute of 'Identifier' MUST be present.Fatal
FixedValueR-EDM-RESP-C031sdg:IsAboutNaturalPerson

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

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

sdg:IsAboutNaturalPerson/sdg:Identifier/@schemeID

The 'schemeID' attribute of the 'Identifier' MUST have the fixed value 'eidas'.Fatal
FormatR-EDM-RESP-C032sdg:IsAboutNaturalPerson

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

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

sdg:IsAboutNaturalPerson/sdg:DateOfBirth

The value of 'DateOfBirth' MUST use the following format YYYY + “-“ + MM + “-“ + DD (as defined for xsd:date) Fatal
CardinalityR-EDM-RESP-C033sdg:IsAboutLegalPerson

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

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

sdg:IsAboutLegalPerson/sdg:LegalIdentifier

The value of a Legal Person 'LegalPersonIdentifier' SHOULD be provided. Fatal
FormatR-EDM-RESP-C034sdg:IsAboutLegalPerson

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

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

sdg:IsAboutLegalPerson/sdg:LegalIdentifier

The 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:IsAboutLegalPerson

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

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

sdg:IsAboutLegalPerson/sdg:LegalIdentifier

The 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:IsAboutLegalPerson

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

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

sdg:IsAboutLegalPerson/sdg:LegalIdentifier/@schemeID

The 'schemeID' attribute of 'LegalIdentifier' MUST be present.Fatal
FixedValueR-EDM-RESP-C037sdg:IsAboutLegalPerson

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

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

sdg:IsAboutLegalPerson/sdg:LegalIdentifier/@schemeID

The 'schemeID' attribute of the 'LegalIdentifier' MUST have the fixed value 'eidas'.Fatal
CardinalityR-EDM-RESP-C038sdg:IssuingAuthority

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

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

sdg:IssuingAuthority/sdg:Identifier/@schemeID

The 'schemeID' attribute of 'Identifier' MUST be present.Fatal
CodeListR-EDM-RESP-C039sdg:IssuingAuthority

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

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

sdg:IssuingAuthority/sdg:Identifier/@schemeID

The 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:ValidityPeriod

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

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

sdg:ValidityPeriod/sdg:StartDate

The value of 'StartDate' of an 'ValidityPeriod' MUST be be according to xsd:dateTime.Fatal
FormatR-EDM-RESP-C041sdg:ValidityPeriod

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

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

sdg:ValidityPeriod/sdg:EndDate

The 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 'cid:……'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:Value

The '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:Value

The '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/@schemeID

The '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/@schemeID

The 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:AdminUnitLevel1

The 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:AdminUnitLevel2

The 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:Classification

The 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:Classification

The value MUST be part of the code list 'AgentClassification'. Default value: Error ProviderFatal
CardinalityR-EDM-ERR-C009sdg:Agent (EvidenceRequester)

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

rim:SlotValue/sdg:Agent/sdg:Identifier/@schemeID

The '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/@schemeID

The 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 part of the code list 'ProtocolExceptionCode'. Fatal
CardinalityR-EDM-ERR-C014rs:Exceptionquery:QueryResponse/rs:Exception/@severityThe 'severity' attribute of a 'rs:Exception' MUST be present. 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' 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 part of the code list 'Error Codes'. Fatal
FormatR-EDM-ERR-C018rim:Value (Timestamp)

query:QueryResponse/rs:Exception/rim:Slot[@name='Timestamp']/

rim:SlotValue/rim:Value

The '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:Value

The '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:Value

The '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:Value

The 'rim:Value' of a 'PreviewMethod' MUST be either the HTTP verb 'GET' or 'POST'.Fatal
CodelistR-EDM-ERR-C022rs:Exceptionquery:QueryResponse/rs:Exception/@severityThe value of 'severity' attribute of a 'rs:Exception' MUST  be 'urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:PreviewRequired' if the rs:Exception xsi:type='rs:AuthorizationExceptionType' is used. Fatal





  • No labels