165 lines
8.4 KiB
XML
165 lines
8.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:med="http://www.thales.dc/MediaIdentification"
|
|
xmlns:clr="http://www.thales.dc/ClearingItemType"
|
|
xmlns="http://www.thales.dc/TransactionApportionment"
|
|
targetNamespace="http://www.thales.dc/TransactionApportionment"
|
|
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/MediaIdentification" schemaLocation="../../common/MediaIdentification.xsd"/>
|
|
<xs:import namespace="http://www.thales.dc/Localized" schemaLocation="../../common/Localized.xsd"/>
|
|
<xs:import namespace="http://www.thales.dc/ClearingItemType" schemaLocation="../../common/ClearingItemType.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>22/08/2024 - 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>
|
|
<!-- 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="TransactionApportionmentXsdVersion" 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 TransactionApportionmentAuditExchange structure -->
|
|
<xs:element name="Payload" type="TransactionApportionmentAuditExchange"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- Description of the TransactionApportionmentAuditExchange structure -->
|
|
<xs:annotation>
|
|
<xs:documentation>Apportionment of a transaction.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType name="TransactionApportionmentAuditExchange">
|
|
<xs:annotation>
|
|
<xs:documentation>clr_transaction_apportionment_get: At apportionment creation</xs:documentation>
|
|
<xs:documentation>Apportionment of an independent transaction (stored value debit, stored value credit, ...).</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:all>
|
|
<xs:element name="TransactionType" minOccurs="0" type="xs:string"/>
|
|
<xs:element name="ApportionmentItems" minOccurs="0" type="clr:ApportionmentItemsType"/>
|
|
<xs:element name="TransactionRuleDetails" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Sorted rule details</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="TransactionRuleDetail" type="TransactionRuleDetail" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="SettlementItems" minOccurs="0" type="clr:SettlementItemsType"/>
|
|
<xs:element name="AmountToApportion" type="xs:decimal">
|
|
<xs:annotation>
|
|
<xs:documentation>The total revenue to be apportioned among all the stakeholder</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="TransactionContextId" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>The contract as an instance of a product, possibly on a media.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MediaIdentification" type="med:MediaIdentification" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The media holding the contract</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ProcessingDate" type="xs:dateTime" minOccurs="0"/>
|
|
<xs:element name="ClearingVersion" type="xs:normalizedString">
|
|
<xs:annotation>
|
|
<xs:documentation>The version of the clearing parameters.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="BestEffort" type="xs:boolean" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
In case of an apportionment of an amount lower than the revenue:
|
|
If true, will perform the apportionment the best way possible.
|
|
If false, will do nothing for the apportionment.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Sequence" type="xs:long">
|
|
<xs:annotation>
|
|
<xs:documentation>The ordering sequence number of this contract's apportionment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SettlementPeriodId" type="xs:string"/>
|
|
<xs:element name="SettlementPeriodCreationDateTime" type="xs:dateTime"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
<xs:complexType name="TransactionRuleDetail">
|
|
<xs:annotation>
|
|
<xs:documentation>Results of apportionment calculation</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:all>
|
|
<xs:element name="RuleId" type="xs:normalizedString">
|
|
<xs:annotation>
|
|
<xs:documentation>The name of the rule</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ApportionmentItems" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The apportionment result for this rule. If the</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ApportionmentItem" type="clr:ApportionmentItemType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="SettlementItems" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Individual money transfer</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="SettlementItem" type="clr:ElementarySettlementItemType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Error" type="xs:boolean" minOccurs="0"/>
|
|
<xs:element name="ErrorMessage" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="PtomContractTypes" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PtomContractType" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
</xs:schema>
|