2026-01-27 14:48:39 +01:00

151 lines
7.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) Revenue Collection Systems France S.A.S. - 2018-2025 ALL RIGHTS RESERVED
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:head="http://www.thales.dc/Headers"
xmlns:das="http://www.thales.dc/DenyActionStatus"
xmlns="http://www.thales.dc/DenyAction"
targetNamespace="http://www.thales.dc/DenyAction"
version="1.0.0">
<!-- Import of xsd file -->
<xs:import namespace="http://www.thales.dc/Headers" schemaLocation="../../common/Headers.xsd"/>
<xs:import namespace="http://www.thales.dc/DenyActionStatus" schemaLocation="../../common/DenyActionStatus.xsd"/>
<!-- Annotate all modification of the xsd file according to version -->
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>Version List</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>04/11/2021 - Version 1.0.0</xs:documentation>
<xs:documentation>
1st part: Add the AuditMessages, AuditMessage, Headers and Payload element for the XML validation
2nd part: Add version to xsd schema
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>27/04/2022 - Version 1.0.1</xs:documentation>
<xs:documentation>
1st part: Add deny action list for Media instead of single deny action
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>29/08/2022 - Version 1.0.2</xs:documentation>
<xs:documentation>
Add paymentId to audit file that transited from RPE
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<!-- Description of the AuditMessages structure -->
<xs:element name="AuditMessages" type="AuditMessagesType"/>
<xs:complexType name="AuditMessagesType">
<xs:sequence>
<!-- List of AuditMessage -->
<xs:element name="AuditMessage" type="AuditMessageType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<!-- version of AuditMessages structure -->
<xs:attribute name="DenyActionXsdVersion" type="xs:string" fixed="1.0"/>
</xs:complexType>
<!-- Description of the AuditMessage structure -->
<xs:complexType name="AuditMessageType">
<xs:sequence>
<!-- Headers structure -->
<xs:element name="Headers" type="head:HeadersType" minOccurs="0"/>
<!-- Payload is a DenyActionAuditExchange structure -->
<xs:element name="Payload" type="DenyActionAuditExchange"/>
</xs:sequence>
</xs:complexType>
<!-- Description of the DenyActionAuditExchange structure -->
<xs:annotation>
<xs:documentation>dlm_denyActions_post: At deny action creation</xs:documentation>
<xs:documentation>dlm_denyAction_post: At deny action update</xs:documentation>
</xs:annotation>
<xs:complexType name="DenyActionAuditExchange">
<xs:all>
<xs:element name="Active" type="xs:boolean">
<xs:annotation>
<xs:documentation>If true, this deny action is still active (for at least a contract or the media</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ClosureDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="CreationDate" type="xs:dateTime"/>
<xs:element name="DenyActionId" type="xs:string"/>
<xs:element minOccurs="0" name="PaymentId" type="xs:string"/>
<xs:element minOccurs="0" name="MediaDenyActionsInformation">
<xs:annotation>
<xs:documentation>List of deny action for the Media.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="MediaDenyActionsInformation" type="MediaDenyActionExchange" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MediaId" type="xs:string" minOccurs="0"/>
<xs:element name="MediaSerialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="ContractsDenied">
<xs:complexType>
<xs:sequence>
<xs:element name="ContractsDenied" type="ContractDenyActionExchange" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="ContractDenyActionExchange">
<xs:all>
<xs:element name="ActionDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="ContractDenyListSequenceNumber" type="xs:int" minOccurs="0"/>
<xs:element name="ContractSerialNumber" type="xs:long"/>
<xs:element name="DenyReason" type="LocalizedDenyReasonCode" minOccurs="0"/>
<xs:element name="InvalidationDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="ReactivationDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="SuspensionDate" type="xs:dateTime" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="MediaDenyActionExchange">
<xs:all>
<xs:element name="MediaDenyActionInformation" type="MediaDenyActionInformationExchange" minOccurs="0"/>
<xs:element name="OccurrenceDateTime" type="xs:dateTime" minOccurs="0"/>
<xs:element name="ObservationDateTime" type="xs:dateTime" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="MediaDenyActionInformationExchange">
<xs:all>
<xs:element name="DenyReason" type="LocalizedDenyReasonCode" minOccurs="0"/>
<xs:element name="Status" type="LocalizedDenyActionStatus" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="LocalizedDenyActionStatus">
<xs:all>
<xs:element name="Value" type="das:DenyActionStatus" minOccurs="0"/>
<xs:element name="Label" type="xs:string" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="LocalizedDenyReasonCode">
<xs:all>
<xs:element name="Value" type="xs:string"/>
<xs:element name="Label" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:schema>