This commit is contained in:
Grzegorz Michalski
2026-03-02 09:47:35 +01:00
commit 2c225d68ac
715 changed files with 130067 additions and 0 deletions

View File

View File

@@ -0,0 +1,967 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:topV2="http://top.ecb.int/v2"
targetNamespace="http://top.ecb.int/v2"
elementFormDefault="qualified">
<xs:annotation>
<xs:documentation>Top Schema 2.4.0 (2012-07-19)</xs:documentation>
<xs:documentation>AnnouncementMessage: RepaidRefNo added.</xs:documentation>
<xs:documentation>AllotmentMessage: RepaidRefNo added.</xs:documentation>
<xs:documentation>BidMessage: RepaidTenderNote added.</xs:documentation>
<xs:documentation>WebMessage: Quotation, RepaidRefNo added.</xs:documentation>
<xs:documentation>FullBidMessage: BusinessValue added.</xs:documentation>
<xs:documentation>FullBidArrayCompiled: RepaidRefNo, BusinessValue added.</xs:documentation>
<xs:documentation>BidsAndAllotmentPerNCBMessage: RepaidRefNo added.</xs:documentation>
<xs:documentation>ReportFullBidArrayCompiled: BusinessValue added. FixedRateHeader removed.</xs:documentation>
<xs:documentation>ReportTenderHistory: RepaidRefNo added.</xs:documentation>
<xs:documentation>ReportTenderResultPlusBids: RepaidRefNo added.</xs:documentation>
<xs:documentation>ReportBidsAllotmentNCB: RepaidRefNo added.</xs:documentation>
<xs:documentation>ReportLargeBidders: RepaidRefNo added.</xs:documentation>
<xs:documentation>ReportFullBidArrayCompiled: RepaidRefNo added.</xs:documentation>
<xs:documentation>Top Schema 2.3.0 (2011-04-21)</xs:documentation>
<xs:documentation>Changes for Foreign Currency Tenders and Debt Certificates (Announcement: Quotation (was DCQuotation), OperationCurrencyLeg (was EuroFixVar), ExactDenomination and BidCurrency; Allotment: SpotRateWithMargin; BidsAndAllotmentPerNCBMessage: OperationCurrency, Spot Rate, Spot Rate with Margin; FullBidArrayCompiled: OperationCurrency; ReportTenderHistory: Quotation, OperationCurrency, OtherCurrency, SpotRate, SpotRateWithMargin; ReportTenderResultPlusBids: OperationCurrency; ReportBidsAllotmentNCB: OperationCurrency; ReportLargeBidders: OperationCurrency; ReportFullBidArrayCompiled: OperationCurrency. Optional CurrencyInfo element added to AnnouncementMessage, BidMessage, AllotmentMessage, FullBidMessage, AllotmentMatrix, EuroAreaCompiledBids, EuroAreaLargeBidders, EuroAreaConsolidatedLargeBidders, BidsAndAllotmentPerNCBMessage, FullBidArrayCompiled)</xs:documentation>
<xs:documentation>FullBidArrayCompiled: ID added. IsAscending, FullBidderList optional.</xs:documentation>
<xs:documentation>ReplyMessage: reply message for webservice requests (replaces AcknowledgementMessage)</xs:documentation>
<xs:documentation>AcceptMessage: ID, DataChecksum, Revision, TimeStampSender added.</xs:documentation>
<xs:documentation>RecallMessage: ID, TimeStampSender added.</xs:documentation>
<xs:documentation>AnnouncementMessage: ID, TimeStampSender added.</xs:documentation>
<xs:documentation>AllotmentMessage: ID, TimeStampSender added.</xs:documentation>
<xs:documentation>BidMessage: ID added.</xs:documentation>
<xs:documentation>FullBidMessage: ID added.</xs:documentation>
<xs:documentation>BidsAllotmentNCB renamed to BidsAndAllotmentPerNCBMessage: ID added.</xs:documentation>
<xs:documentation>AllotmentMatrix: PrevRefNo added.</xs:documentation>
<xs:documentation>WebMessage: ID added.</xs:documentation>
<xs:documentation>Top Schema 2.1.0 (2009-07-01)</xs:documentation>
<xs:documentation>Changes for Outright Transaction and Foreign Currency Tenders (Operation Currency, ISIN, Reference Entity, Reference Entity Value, Spot Rate with Margin and Max Bids per Counterparty).</xs:documentation>
<xs:documentation>Top Schema 2.0.1 (2008-03-04)</xs:documentation>
<xs:documentation>Business Value element list added to FullBidArrayCompiled and ReportFullBidArrayCompiled types.</xs:documentation>
<xs:documentation>AllotmentModificationMessage: new message added.</xs:documentation>
<xs:documentation>AggregatedAllotmentModification: new message added.</xs:documentation>
<xs:documentation>ReportAggregatedAllotmentModification: new message added.</xs:documentation>
<xs:documentation>Top Schema 3.3.0: Changes in reply messages</xs:documentation>
<xs:documentation>Top Schema 3.3.1: Changes in AllotmentModificationMessage: Added minOccurs</xs:documentation>
<xs:documentation>Top Schema 3.4.0: Changes in AggregatedAllotmentModificationMessage: Added Revision</xs:documentation>
<xs:documentation>Top Schema 3.4.0: Changes in AnnouncementMessage and AllotmentMessage: Added Revision</xs:documentation>
<xs:documentation>Top Schema 3.4.1: Added V2 (2018-04-18)</xs:documentation>
<xs:documentation>Top Schema 4.0.0 (2019-06-18)</xs:documentation>
<xs:documentation>Top Schema 4.0.2 (2019-08-20): Added minOccurs in ExportAndExdiMessageType, added FixedBusinessValue in BidsAndAllotmentKeyValues</xs:documentation>
<xs:documentation>Top Schema 4.0.3 (2019-09-10): Changes in WebMessage</xs:documentation>
<xs:documentation>Top Schema 4.0.6 (2019-12-10): Changes of ReferenceEntity and ReferenceEntityValue</xs:documentation>
<xs:documentation>Top Schema 4.2.0 (2022-04-05):
Removed elements: EuroAreaConsolidatedLargeBidders, ConsolidatedLargeBiddersList, WebMessage, SegregatedOperationName in AggregatedAllotment
Added element OperationCategory in AnnouncementMessage, AllotmentMatrix, BidsAndAllotmentPerNCBMessage, AggregatedAllotment
Changed length restriction of ISIN from 30 to 12
Changed type of ReferenceEntityValue in AllotmentMessage from ReferenceEntity to BusinessValue
Changed type of Amount in AggregatedAllotmentModificationList and ReportAggregatedAllotmentModificationList from Amount to TransactionAmount
</xs:documentation>
<xs:documentation>Top Schema 4.2.15 (2022-07-22): Raised length of LargeBidderName from 50 to 255</xs:documentation>
<xs:documentation>Top Schema 4.3.5 (2023-08-30):
Changes in AllotmentMatrix:
Renamed PercentageAllotted to PercentageOfIntendedAllotment, AllottedAmount to IntendedAllotmentVolume,
Added PercentageOfActualAllotment, ActualAllotmentVolume
</xs:documentation>
</xs:annotation>
<xs:element name="Message">
<xs:annotation>
<xs:documentation>Root Element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="topV2:MessageType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="MessageType">
<xs:sequence>
<xs:choice>
<xs:element name="AnnouncementMessage" type="topV2:AnnouncementMessage"/>
<xs:element name="BidMessage" type="topV2:BidMessage"/>
<xs:element name="AllotmentMessage" type="topV2:AllotmentMessage"/>
<xs:element name="AllotmentModificationMessage" type="topV2:AllotmentModificationMessage"/>
<xs:element name="ReplyMessage" type="topV2:ReplyMessage"/>
<xs:element name="AcceptMessage" type="topV2:AcceptMessage"/>
<xs:element name="RecallMessage" type="topV2:RecallMessage"/>
<xs:element name="AllotmentMatrix" type="topV2:AllotmentMatrix"/>
<xs:element name="EuroAreaCompiledBids" type="topV2:EuroAreaCompiledBids"/>
<xs:element name="EuroAreaLargeBidders" type="topV2:EuroAreaLargeBidders"/>
<xs:element name="BidsAndAllotmentPerNCBMessage" type="topV2:BidsAndAllotmentPerNCBMessage"/>
<xs:element name="FullBidArrayCompiled" type="topV2:FullBidArrayCompiled"/>
<xs:element name="AggregatedAllotment" type="topV2:AggregatedAllotment"/>
<xs:element name="AggregatedAllotmentModification" type="topV2:AggregatedAllotmentModification"/>
<xs:element name="ReportAggregatedAllotmentModification" type="topV2:ReportAggregatedAllotmentModification"/>
</xs:choice>
<!-- EXDI related -->
<xs:element name="TimeStampSender" type="topV2:DateTimeWithNoTimezone" minOccurs="0"/>
<xs:element name="ID" type="xs:unsignedLong" minOccurs="0"/>
<!-- Checksum for export/import files -->
<xs:element name="Checksum" type="topV2:Checksum" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- message type definitions -->
<xs:complexType name="AnnouncementMessage">
<xs:complexContent>
<xs:extension base="topV2:ExportAndExdiMessageType">
<xs:sequence>
<xs:element name="TransactionType" type="topV2:TransactionType" />
<xs:element name="OperationCurrency" type="topV2:CurrencyIsoCode" />
<xs:element name="OperationName" type="topV2:OperationName" />
<xs:element name="OperationCategory" type="topV2:OperationCategory" minOccurs="0" />
<xs:element name="OperationType" type="topV2:OperationType" />
<xs:element name="Procedure" type="topV2:Procedure" />
<xs:element name="AuctionType" type="topV2:AuctionType" />
<xs:element name="AllotmentMethod" type="topV2:AllotmentMethod" minOccurs="0" />
<xs:element name="Quotation" type="topV2:Quotation" minOccurs="0" />
<xs:element name="AllotmentDate" type="topV2:DateTimeWithNoTimezone" />
<xs:element name="ValueDate" type="topV2:DateWithNoTimezone"/>
<xs:element name="MaturityDate" type="topV2:DateWithNoTimezone" minOccurs="0" />
<xs:element name="DurationOfOperation" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="DeadlineCP" type="topV2:DateTimeWithNoTimezone"/>
<xs:element name="DeadlineNCB" type="topV2:DateTimeWithNoTimezone"/>
<xs:element name="BusinessValueType" type="topV2:BusinessValueType" minOccurs="0" />
<xs:element name="BusinessValue" type="topV2:BusinessValue" minOccurs="0" />
<xs:element name="MinBidAmount" type="topV2:Amount" minOccurs="0"/>
<xs:element name="MaxBidAmount" type="topV2:Amount" minOccurs="0"/>
<xs:element name="MaxBidsPerCounterparty" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="MinAllotment" type="topV2:Amount" minOccurs="0"/>
<xs:element name="MinAllotmentRatio" type="topV2:Percentage" minOccurs="0"/>
<xs:element name="IntendedVolume" type="topV2:Amount" minOccurs="0"/>
<xs:element name="Isin" type="topV2:Isin" minOccurs="0"/>
<xs:element name="ExactDenomination" type="topV2:Amount" minOccurs="0"/>
<xs:element name="ReferenceEntity" type="topV2:ReferenceEntity" minOccurs="0"/>
<xs:element name="SpotRate" type="xs:decimal" minOccurs="0"/>
<xs:element name="SpotRateWithMargin" type="xs:decimal" minOccurs="0"/>
<xs:element name="RepaidRefNo" type="topV2:ReferenceNumber" minOccurs="0"/>
<xs:element name="OperationCurrencyLeg" type="topV2:OperationCurrencyLeg" minOccurs="0"/>
<xs:element name="OtherCurrency" type="topV2:CurrencyIsoCode" minOccurs="0"/>
<xs:element name="BidCurrency" type="topV2:CurrencyIsoCode" minOccurs="0"/>
<xs:element name="PublicAnnouncement" type="xs:boolean"/>
<xs:element name="NonParticipatingNCBs" type="topV2:NonParticipatingNCBs" minOccurs="0"/>
<xs:element name="FreeText" type="topV2:FreeText" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BidMessage">
<xs:complexContent>
<xs:extension base="topV2:ExportAndExdiMessageType">
<xs:sequence>
<xs:element name="AcceptedByECB" type="xs:boolean" minOccurs="0"/>
<xs:element name="NumberBidders" type="xs:nonNegativeInteger"/>
<xs:element name="NumberBids" type="xs:nonNegativeInteger"/>
<xs:element name="Amount" type="topV2:Amount"/>
<xs:element name="RepaidTenderNote" type="xs:string" minOccurs="0"/>
<xs:element name="BusinessValueType" type="topV2:BusinessValueType" minOccurs="0"/>
<xs:element name="BidList" type="topV2:BidMessageList" minOccurs="0" />
<xs:element name="FullBidderList" type="topV2:FullBidMessageList" minOccurs="0" />
<xs:element name="FreeText" type="topV2:FreeText" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AllotmentMessage">
<xs:complexContent>
<xs:extension base="topV2:ExportAndExdiMessageType">
<xs:sequence>
<xs:element name="NumberBidders" type="xs:nonNegativeInteger"/>
<xs:element name="BidAmount" type="topV2:Amount"/>
<xs:element name="AllottedAmount" type="topV2:Amount"/>
<xs:element name="MinAllotment" type="topV2:Amount" minOccurs="0"/>
<xs:element name="CutoffLevel" type="xs:decimal"/>
<xs:element name="PercentageAllotted" type="topV2:Percentage"/>
<xs:element name="BusinessValueType" type="topV2:BusinessValueType" minOccurs="0"/>
<xs:element name="MarginalBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MinBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MaxBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="AverageBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="Isin" type="topV2:Isin" minOccurs="0"/>
<xs:element name="ReferenceEntity" type="topV2:ReferenceEntity" minOccurs="0"/>
<xs:element name="ReferenceEntityValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="SpotRate" type="topV2:SpotRate" minOccurs="0"/>
<xs:element name="SpotRateWithMargin" type="topV2:SpotRateWithMargin" minOccurs="0"/>
<xs:element name="RepaidRefNo" type="topV2:ReferenceNumber" minOccurs="0"/>
<xs:element name="NonParticipatingNCBs" type="topV2:NonParticipatingNCBs" minOccurs="0"/>
<xs:element name="FreeText" type="topV2:FreeText" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AllotmentModificationMessage">
<xs:complexContent>
<xs:extension base="topV2:ExportAndExdiMessageType">
<xs:sequence>
<xs:element name="AcceptedByECB" type="xs:boolean" minOccurs="0"/>
<xs:element name="TransactionList" type="topV2:AllotmentModificationList" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ReplyMessage">
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber" minOccurs="0"/>
<xs:element name="IsoCode" type="topV2:CountryIsoCode" minOccurs="0"/>
<xs:element name="Type" type="topV2:ReplyType"/>
<xs:element name="Operation" type="topV2:ReplyOperation" minOccurs="0"/>
<xs:element name="CorrelationID" type="topV2:RestrictedString" minOccurs="0"/>
<xs:element name="Revision" type="topV2:Revision" minOccurs="0"/>
<xs:element name="StatusSender" type="topV2:ReplyStatus" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AcceptMessage">
<xs:annotation>
<xs:documentation>Message Element</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="Type" type="topV2:AcceptType"/>
<xs:element name="Operation" type="topV2:Operation"/>
<xs:element name="Revision" type="topV2:Revision" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RecallMessage">
<xs:annotation>
<xs:documentation>Message Element</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="Operation" type="topV2:Operation"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AllotmentMatrix">
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="OperationName" type="topV2:OperationName"/>
<xs:element name="OperationCategory" type="topV2:OperationCategory" minOccurs="0" />
<xs:element name="AuctionType" type="topV2:AuctionType"/>
<xs:element name="BidAmount" type="topV2:Amount"/>
<xs:element name="Center" type="topV2:Amount"/>
<xs:element name="Points" type="xs:nonNegativeInteger"/>
<xs:element name="Interval" type="topV2:Amount"/>
<xs:element name="PercentageOfIntendedAllotment" type="topV2:Percentage"/>
<xs:element name="IntendedAllotmentVolume" type="topV2:Amount"/>
<xs:element name="PercentageOfActualAllotment" type="topV2:Percentage"/>
<xs:element name="ActualAllotmentVolume" type="topV2:Amount"/>
<xs:element name="MarginalBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MinBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MaxBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="PreviousRefNo" type="topV2:ReferenceNumber"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EuroAreaCompiledBids">
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="NumberBidders" type="xs:nonNegativeInteger"/>
<xs:element name="NumberBids" type="xs:nonNegativeInteger"/>
<xs:element name="BusinessValueType" type="topV2:BusinessValueType" minOccurs="0"/>
<xs:element name="FixedBusinessValue" type="topV2:BusinessValue" minOccurs="0" />
<xs:element name="MinBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MaxBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="BidList" type="topV2:CompiledBidsList"/>
<xs:element name="Isin" type="topV2:Isin" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EuroAreaLargeBidders">
<xs:annotation>
<xs:documentation>Message Element</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="BusinessValueType" type="topV2:BusinessValueType" minOccurs="0"/>
<xs:element name="LargeBidderList" type="topV2:LargeBiddersList"/>
<xs:element name="Isin" type="topV2:Isin" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BidsAndAllotmentPerNCBMessage">
<xs:annotation>
<xs:documentation>Message Element</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="Revision" type="topV2:Revision" minOccurs="0" />
<xs:element name="PreviousRefNo" type="topV2:ReferenceNumber" minOccurs="0"/>
<xs:element name="OperationCurrency" type="topV2:CurrencyIsoCode"/>
<xs:element name="OperationName" type="topV2:OperationName"/>
<xs:element name="OperationCategory" type="topV2:OperationCategory" minOccurs="0" />
<xs:element name="Procedure" type="topV2:Procedure"/>
<xs:element name="AuctionType" type="topV2:AuctionType"/>
<xs:element name="BusinessValueType" type="topV2:BusinessValueType" minOccurs="0"/>
<xs:element name="BusinessValue" type="topV2:BusinessValue" minOccurs="0" />
<xs:element name="RepaidRefNo" type="topV2:ReferenceNumber" minOccurs="0"/>
<xs:element name="NCB" type="topV2:BidsAndAllotmentNCB" maxOccurs="unbounded" />
<xs:element name="Total" type="topV2:BidsAndAllotmentNCB"/>
<xs:element name="PreviousOperation" type="topV2:BidsAndAllotmentPreviousOperation" minOccurs="0"/>
<xs:element name="KeyValues" type="topV2:BidsAndAllotmentKeyValues"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FullBidArrayCompiled">
<xs:annotation>
<xs:documentation>Message Element</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="Revision" type="topV2:Revision" minOccurs="0" />
<xs:element name="OperationCurrency" type="topV2:CurrencyIsoCode"/>
<xs:element name="NumberBidders" type="xs:nonNegativeInteger"/>
<xs:element name="NumberBids" type="xs:nonNegativeInteger"/>
<xs:element name="BusinessValueType" type="topV2:BusinessValueType" minOccurs="0"/>
<xs:element name="FixedBusinessValue" type="topV2:BusinessValue" minOccurs="0" />
<xs:element name="MinBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MaxBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="RepaidRefNo" type="topV2:ReferenceNumber" minOccurs="0"/>
<xs:element name="FullBidderList" type="topV2:FullBidArrayCompiledList" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AggregatedAllotment">
<xs:sequence>
<!-- announcement -->
<xs:element name="RefNo" type="topV2:ReferenceNumber" />
<xs:element name="Revision" type="topV2:Revision"/>
<xs:element name="TransactionType" type="topV2:TransactionType" />
<xs:element name="OperationCurrency" type="topV2:CurrencyIsoCode" />
<xs:element name="OperationName" type="topV2:OperationName" />
<xs:element name="OperationCategory" type="topV2:OperationCategory" minOccurs="0" />
<xs:element name="OperationType" type="topV2:OperationType" />
<xs:element name="Procedure" type="topV2:Procedure" />
<xs:element name="AuctionType" type="topV2:AuctionType" />
<xs:element name="AllotmentMethod" type="topV2:AllotmentMethod" minOccurs="0" />
<xs:element name="Quotation" type="topV2:Quotation" minOccurs="0" />
<xs:element name="AllotmentDate" type="topV2:DateTimeWithNoTimezone" />
<xs:element name="ValueDate" type="topV2:DateWithNoTimezone"/>
<xs:element name="MaturityDate" type="topV2:DateWithNoTimezone" minOccurs="0" />
<xs:element name="DurationOfOperation" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="ReferenceEntity" type="topV2:ReferenceEntity" minOccurs="0"/>
<xs:element name="SpotRate" type="topV2:SpotRate" minOccurs="0"/>
<xs:element name="RepaidRefNo" type="topV2:ReferenceNumber" minOccurs="0"/>
<xs:element name="BusinessValueType" type="topV2:BusinessValueType" minOccurs="0" />
<xs:element name="BidCurrency" type="topV2:CurrencyIsoCode" minOccurs="0"/>
<xs:element name="OtherCurrency" type="topV2:CurrencyIsoCode" minOccurs="0"/>
<!-- allotment -->
<!-- Zero in case nil bids of all NCBs -->
<xs:element name="TotalNumberBidders" type="xs:nonNegativeInteger"/>
<!-- Zero in case nil bids of all NCBs, sum of all NcbBidAmount otherwise -->
<xs:element name="TotalBidAmount" type="topV2:Amount"/>
<!-- Zero in case nil bids of all NCBs, sum of NcbAllottedAmount otherwise -->
<xs:element name="TotalAllottedAmount" type="topV2:Amount"/>
<!-- bids -->
<!-- NCBs will not occur in case of nil bids of all NCBs -->
<xs:element name="NCBs" type="topV2:NCBs" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<!-- NCB report -->
<xs:complexType name="AggregatedAllotmentModification">
<xs:annotation>
<xs:documentation>Message Element for created XML report Aggregated Allotment Modification (on TOP report creation/save)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="Revision" type="topV2:Revision" />
<xs:element name="OperationCurrency" type="topV2:CurrencyIsoCode"/>
<xs:element name="TransactionList" type="topV2:AggregatedAllotmentModificationList" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ECB internal report -->
<xs:complexType name="ReportAggregatedAllotmentModification">
<xs:annotation>
<xs:documentation>Message Element for sending Aggregated Allotment Modification Report to EXDI (on TOP report creation/save)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RefNo" type="topV2:ReferenceNumber"/>
<xs:element name="OperationCurrency" type="topV2:CurrencyIsoCode"/>
<xs:element name="TimeStamp" type="topV2:DateTimeWithNoTimezone"/>
<xs:element name="Revision" type="topV2:Revision" />
<xs:element name="TransactionList" type="topV2:ReportAggregatedAllotmentModificationList" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExportAndExdiMessageType">
<xs:sequence>
<!-- Header -->
<xs:element name="RefNo" type="topV2:ReferenceNumber" />
<xs:element name="SenderReference" type="topV2:SenderReference" />
<xs:element name="UserReference" type="topV2:UserReference" minOccurs="0" />
<xs:element name="TimeStamp" type="topV2:DateTimeWithNoTimezone" minOccurs="0" />
<xs:element name="FourEyesVersion" type="topV2:FourEyesVersion" minOccurs="0" />
<xs:element name="Revision" type="topV2:Revision" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<!-- complex type definitions -->
<xs:complexType name="NonParticipatingNCBs">
<xs:sequence maxOccurs="unbounded">
<xs:element name="NCB" type="topV2:CountryIsoCode" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="BidMessageList">
<xs:sequence>
<xs:element name="BidElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Amount" type="topV2:Amount"/>
<xs:element name="BusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FullBidMessageList">
<xs:sequence>
<xs:element name="FullBidderElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="LargeBidderName" type="topV2:LargeBidderName"/>
<xs:element name="LargeBidderId" type="topV2:MfiCode"/>
<xs:element name="BidElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Amount" type="topV2:Amount"/>
<xs:element name="BusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AllotmentModificationList">
<xs:sequence>
<xs:element name="TransactionElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="BidderId" type="topV2:MfiCode"/>
<xs:element name="Amount" type="topV2:TransactionAmount"/>
<xs:element name="ValueDate" type="topV2:DateWithNoTimezone"/>
<xs:element name="NewBidderId" type="topV2:MfiCode" minOccurs="0"/>
<xs:element name="FreeText" type="topV2:FreeText" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReplyStatus">
<xs:sequence>
<xs:element name="StatusCode" type="xs:nonNegativeInteger"/>
<xs:element name="StatusMessage" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CompiledBidsList">
<xs:sequence>
<xs:element name="BidElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Amount" type="topV2:Amount"/>
<xs:element name="BusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="CumulativeAmount" type="topV2:Amount"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="LargeBiddersList">
<xs:sequence>
<xs:element name="LargeBidderElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="SenderReference" type="topV2:SenderReference"/>
<xs:element name="LargeBidderId" type="topV2:MfiCode"/>
<xs:element name="LargeBidderName" type="topV2:LargeBidderName"/>
<xs:element name="Amount" type="topV2:Amount"/>
<xs:element name="MinBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MaxBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BidsAndAllotmentNCB">
<xs:sequence>
<xs:element name="SenderReference" type="topV2:SenderReference"/>
<xs:element name="Bids">
<xs:complexType>
<xs:sequence>
<xs:element name="NumberBidders" type="xs:nonNegativeInteger"/>
<xs:element name="NumberBids" type="xs:nonNegativeInteger"/>
<xs:element name="Amount" type="topV2:Amount"/>
<xs:element name="PercentageTotalBid" type="topV2:Percentage"/>
<xs:element name="MinBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MaxBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="AverageBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Allotment">
<xs:complexType>
<xs:sequence>
<xs:element name="Amount" type="topV2:Amount"/>
<xs:element name="PercentageTotalAllotted" type="topV2:Percentage"/>
<xs:element name="PercentageBid" type="topV2:Percentage"/>
<xs:element name="MinBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MaxBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="AverageBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PreviousOperation" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="BidAmount" type="topV2:Amount"/>
<xs:element name="AllottedAmount" type="topV2:Amount"/>
<xs:element name="PercentageAllotted" type="topV2:Percentage"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Comparison" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="PercentageBidChange" type="topV2:Percentage"/>
<xs:element name="PercentageAllottedChange" type="topV2:Percentage"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BidsAndAllotmentPreviousOperation">
<xs:sequence>
<xs:element name="NumberBidders" type="xs:nonNegativeInteger"/>
<xs:element name="NumberBids" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BidsAndAllotmentKeyValues">
<xs:sequence>
<xs:element name="BidToCoverRatio" type="topV2:Percentage"/>
<xs:element name="FixedBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MarginalBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="AverageBusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
<xs:element name="MaturingAmount" type="topV2:Amount"/>
<xs:element name="PercentageAllotted" type="topV2:Percentage"/>
<xs:element name="SpotRate" type="topV2:SpotRate" minOccurs="0"/>
<xs:element name="SpotRateWithMargin" type="topV2:SpotRateWithMargin" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FullBidArrayCompiledList">
<xs:sequence>
<xs:element name="FullBidderElement" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="SenderReference" type="topV2:SenderReference"/>
<xs:element name="LargeBidderName" type="topV2:LargeBidderName"/>
<xs:element name="LargeBidderId" type="topV2:MfiCode"/>
<xs:element name="BidElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Amount" type="topV2:Amount"/>
<xs:element name="BusinessValue" type="topV2:BusinessValue" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NCBs">
<xs:sequence>
<!-- NCB will not occur in case of nil bid of a NCB -->
<xs:element name="NCB" type="topV2:NCB" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="NCB">
<xs:sequence>
<!-- ISO-country code which is used to identify the NCB sending the bid e.g.: DE. -->
<xs:element name="NcbSenderReference" type="topV2:SenderReference" />
<!-- Total number of bidders of the Tender operation for the NCB. -->
<xs:element name="NcbNumberBidders" type="xs:nonNegativeInteger" />
<!-- Total bid amount of the NCB, sum of BidderBidAmount -->
<xs:element name="NcbBidAmount" type="topV2:Amount" />
<!-- Total allotted amount the NCB, sum of BidderAllottedAmount -->
<xs:element name="NcbAllottedAmount" type="topV2:Amount" />
<xs:element name="Bidders" type="topV2:Bidders" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Bidders">
<xs:sequence>
<xs:element name="Bidder" type="topV2:Bidder" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Bidder">
<xs:sequence>
<!--
Identifier of the bidder: RIAD code.
The ECMS provides a mapping from the TOP MFI ID to the ECMS RIAD code based on the table Reference Data for all ECMS Party Types.
-->
<xs:element name="BidderId" type="topV2:MfiCode" />
<!-- Name of the bidder. -->
<xs:element name="BidderName" type="topV2:LargeBidderName" />
<!--
total bid amount per bidder :
- equal to BidAmount in case of single Bid,
- equal to the sum of BidAmount in case of multiple Bids
-->
<xs:element name="BidderBidAmount" type="topV2:Amount" />
<!--
total allotted amount per bidder :
- equal to BidAllottedAmount in case of single Bid,
- equal to the sum of BidAllottedAmount in case of multiple Bids
-->
<xs:element name="BidderAllottedAmount" type="topV2:Amount" />
<!--
- equal to BidAllottedBusinessValue in case of fixed rate tender operation
- equal to the weighted average rate of the bidder's Bids in case of variable rate tender operation
- Does not occur in a repayment
-->
<xs:element name="BidderAllottedBusinessValue" type="topV2:BusinessValue" minOccurs="0" />
<xs:element name="Bids" type="topV2:Bids" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Bids">
<xs:sequence>
<xs:element name="Bid" type="topV2:Bid" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Bid">
<xs:sequence>
<!-- Bid Amount in millions -->
<xs:element name="BidAmount" type="topV2:Amount" />
<!--
Business Value of the BidAmount, type (rate, spread, etc is defined in the BusinessValueType)
Does not occur in a repayment
-->
<xs:element name="BidBusinessValue" type="topV2:BusinessValue" minOccurs="0" />
<!--
Allotted Amount in millions
-->
<xs:element name="BidAllottedAmount" type="topV2:Amount" />
<!--
Business Value of the bid allotted amount, type (rate, spread, etc is defined in the BusinessValueType)
Can differ from the BidBusinessValue in case of a variable rate tender operation with single rate auction, same as BidBusinessValue otherwise
Does not occur in a repayment
-->
<xs:element name="BidAllottedBusinessValue" type="topV2:BusinessValue" minOccurs="0" />
<!--
Percentage of BidAllottedAmount
Calculation: BidAllottedAmount / BidAmount * 100
-->
<xs:element name="BidAllottedPercentage" type="topV2:Percentage" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="AggregatedAllotmentModificationList">
<xs:sequence>
<xs:element name="TransactionElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="SenderReference" type="topV2:SenderReference"/>
<xs:element name="BidderId" type="topV2:MfiCode"/>
<xs:element name="Amount" type="topV2:TransactionAmount"/>
<xs:element name="ValueDate" type="topV2:DateWithNoTimezone"/>
<xs:element name="NewBidderId" type="topV2:MfiCode" minOccurs="0"/>
<xs:element name="FreeText" type="topV2:FreeText" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReportAggregatedAllotmentModificationList">
<xs:sequence>
<xs:element name="TransactionElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="SenderReference" type="topV2:SenderReference"/>
<xs:element name="BidderId" type="topV2:MfiCode"/>
<xs:element name="FlowType" type="topV2:FlowType"/>
<xs:element name="Amount" type="topV2:TransactionAmount"/>
<xs:element name="ValueDate" type="topV2:DateWithNoTimezone"/>
<xs:element name="FreeText" type="topV2:FreeText" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- simple type definitions -->
<xs:simpleType name="ReferenceNumber">
<xs:restriction base="xs:string">
<xs:pattern value="[T0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FourEyesVersion">
<xs:restriction base="xs:string">
<xs:enumeration value="V1" />
<xs:enumeration value="V2" />
<xs:enumeration value="O1" />
<xs:enumeration value="O2" />
<!-- Full Bid Array Versions -->
<xs:enumeration value="V" />
<xs:enumeration value="O" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Revision">
<xs:restriction base="xs:nonNegativeInteger" />
</xs:simpleType>
<xs:simpleType name="SenderReference">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2,3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UserReference">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9a-zA-Z\-_]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CurrencyIsoCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OperationCurrencyLeg">
<xs:restriction base="xs:string">
<xs:enumeration value="F" />
<xs:enumeration value="V" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="BusinessValueType">
<xs:restriction base="xs:string">
<xs:enumeration value="PRICE" />
<xs:enumeration value="RATE" />
<xs:enumeration value="SPREAD" />
<xs:enumeration value="SWAP_POINTS" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="BusinessValue">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Amount">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TransactionAmount">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Percentage">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TransactionType">
<xs:restriction base="xs:string">
<xs:enumeration value="DC" />
<xs:enumeration value="SW" />
<xs:enumeration value="RT" />
<xs:enumeration value="FD" />
<xs:enumeration value="OR" />
<xs:enumeration value="RP" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OperationName">
<xs:restriction base="xs:string">
<xs:enumeration value="MR" />
<xs:enumeration value="LT" />
<xs:enumeration value="OT" />
<xs:enumeration value="ER" />
<xs:enumeration value="FT" />
<xs:enumeration value="ST" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OperationCategory">
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OperationType">
<xs:restriction base="xs:string">
<xs:enumeration value="LA" />
<xs:enumeration value="LP" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Procedure">
<xs:restriction base="xs:string">
<xs:enumeration value="S" />
<xs:enumeration value="Q" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AuctionType">
<xs:restriction base="xs:string">
<xs:enumeration value="FR" />
<xs:enumeration value="VR" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AllotmentMethod">
<xs:restriction base="xs:string">
<xs:enumeration value="SR" />
<xs:enumeration value="MR" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Quotation">
<xs:restriction base="xs:string">
<xs:enumeration value="R" />
<xs:enumeration value="P" />
<xs:enumeration value="S" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SpotRate">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SpotRateWithMargin">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CountryIsoCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FreeText">
<xs:restriction base="xs:string">
<xs:maxLength value="4000" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Checksum">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9A-Fa-f]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MfiCode">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9_$\\/+-:?,.()\s]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Isin">
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ReferenceEntity">
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Operation">
<xs:restriction base="xs:string">
<xs:enumeration value="ANN" />
<xs:enumeration value="BID" />
<xs:enumeration value="FULLBID" />
<xs:enumeration value="ALT" />
<xs:enumeration value="ALM" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LargeBidderName">
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FlowType">
<xs:restriction base="xs:string">
<xs:enumeration value="IN" />
<xs:enumeration value="RP" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RestrictedString">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]*" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DateWithNoTimezone">
<xs:restriction base="xs:date">
<xs:pattern value="\d\d\d\d-\d\d-\d\d"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DateTimeWithNoTimezone">
<xs:restriction base="xs:dateTime">
<xs:pattern value="\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ReplyType">
<xs:restriction base="xs:string">
<xs:enumeration value="accept" />
<xs:enumeration value="accept_and_unknown_mfi" />
<xs:enumeration value="sent_late" />
<xs:enumeration value="sent_late_and_unknown_mfi" />
<xs:enumeration value="received" />
<xs:enumeration value="received_and_unknown_mfi" />
<xs:enumeration value="error" />
<!-- test messages -->
<xs:enumeration value="connection_ok" />
<xs:enumeration value="accept_test" />
<xs:enumeration value="announcement_test" />
<xs:enumeration value="allotment_test" />
<xs:enumeration value="recall_test" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ReplyOperation">
<xs:restriction base="xs:string">
<xs:enumeration value="ann_accept" />
<xs:enumeration value="bidarray" />
<xs:enumeration value="alt_accept" />
<xs:enumeration value="alt_modification" />
<!-- test messages -->
<xs:enumeration value="mro" />
<xs:enumeration value="usd" />
<xs:enumeration value="ltro" />
<xs:enumeration value="repayment" />
<xs:enumeration value="ann" />
<xs:enumeration value="alt" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AcceptType">
<xs:restriction base="xs:string">
<xs:enumeration value="accept" />
<xs:enumeration value="reject" />
</xs:restriction>
</xs:simpleType>
</xs:schema>