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

112 lines
5.4 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:contract="http://www.thales.dc/TransitContract"
xmlns="http://www.thales.dc/Media"
targetNamespace="http://www.thales.dc/Media"
version="1.0.1">
<!-- Import of xsd file -->
<xs:import namespace="http://www.thales.dc/Headers" schemaLocation="../../common/Headers.xsd"/>
<xs:import namespace="http://www.thales.dc/TransitContract" schemaLocation="../../common/TransitContract.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>30/08/2023 - Version 1.0.1</xs:documentation>
<xs:documentation>
add Transit contract data
</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="MediaXsdVersion" 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 MediaAuditExchange structure -->
<xs:element name="Payload" type="MediaAuditExchange"/>
</xs:sequence>
</xs:complexType>
<!-- Description of the MediaAuditExchange structure -->
<xs:annotation>
<xs:documentation>mam_medias_post: At media creation or when a new contract is added</xs:documentation>
<xs:documentation>mam_accept_list_post: Media added to accept list</xs:documentation>
<xs:documentation>mam_accept_list_delete: Media removed from accept list</xs:documentation>
<xs:documentation>cmm_customer_profile_media_post: Copy of a customer profile onto a media or a customer profile is updated and the profile was previously copied onto the media</xs:documentation>
</xs:annotation>
<xs:complexType name="MediaAuditExchange">
<xs:all>
<xs:element name="ExpiryDate" type="xs:date" minOccurs="0"/>
<xs:element name="MediaGraphicalNumber" type="xs:string" minOccurs="0"/>
<xs:element name="MediaId" type="xs:string" minOccurs="0"/>
<xs:element name="MediaSerialNumber" type="xs:string" minOccurs="0"/>
<xs:element name="SeqId" type="xs:long" minOccurs="0"/>
<xs:element name="InAcceptList" type="xs:boolean">
<xs:annotation>
<xs:documentation>Stipulates if the media is in accept List</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MediaStatus" type="MediaStatus" minOccurs="0">
<xs:annotation>
<xs:documentation>Dictionary prefix: MediaStatus</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MediaTypeId" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>Dictionary prefix: MediaType</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TransitContracts" type="TransitContracts" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="MediaStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="INITIALIZED"/>
<xs:enumeration value="ENABLED"/>
<xs:enumeration value="DENIED"/>
<xs:enumeration value="BLOCKED"/>
<xs:enumeration value="EXPIRED"/>
<xs:enumeration value="CLOSED"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TransitContracts">
<xs:sequence>
<xs:element name="TransitContract" type="contract:TransitContract" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>