XML Schema "fpml-repo-5-8.xsd"
Target Namespace:
http://www.fpml.org/FpML-5/confirmation
Version:
$Revision: 11232 $
Defined Components:
elements (1 global + 84 local), complexTypes (31), simpleTypes (1), element groups (6)
Default Namespace-Qualified Form:
Local Elements: qualified; Local Attributes: unqualified
Schema Location:
D:\Tradeheader\trunk\xml\confirmation\fpml-repo-5-8.xsd; see XML source
Includes Schemas (1):
fpml-business-events-5-8.xsd [src]
Included in Schemas (1):
fpml-main-5-8.xsd [src]
All Element Summary
accruals
Accruals, relationship is clean price and accruals equals dirty price, all prices are expressed in percentage points, 100 is the initial value of the bond.
Type:
xsd:decimal
Content:
simple
Defined:
accrualsAmount
Accruals expressed as amount.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
assetReference (defined in SecurityTransfer complexType)
The asset being transfered.
Type:
Content:
empty, 1 attribute
Defined:
locally within SecurityTransfer complexType; see XML source
assetReference (in collateral defined in RepoTransactionLeg complexType)
A reference to explicitly identify which asset is being valued.
Type:
Content:
empty, 1 attribute
Defined:
locally within CollateralValuation complexType; see XML source
attribution
The attributions go here.
Type:
Content:
complex, 4 elements
Defined:
locally within Attributions complexType; see XML source
attributions
For accounting, reporting or regulatory reasons, the transfer may have to be explained in a series of individual amounts.
Type:
Content:
complex, 4 elements
Defined:
locally within CashTransfer complexType; see XML source
baseAmount
An amount expressed in the base currency defined in the enclosing Attributions structure (see baseCurrency).
Type:
xsd:decimal
Content:
simple
Defined:
locally within Attribution complexType; see XML source
baseCurrency (in attributions)
The currency that is used for all the attributions expressed with baseAmount.
Type:
Content:
simple, 1 attribute
Defined:
locally within Attributions complexType; see XML source
callDate
Defines the latest date when the open repo transaction can be exercised (and no later than which it must be exercised) on demand by a party to the trade indicated in the electingParty element (or in the Master Agreement, if the electingParty element has AsDefinedInMasterAgreement value).
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
locally within Repo complexType; see XML source
callingParty
A party to the open repo transaction that has a right to demand for exercise of far leg of the open repo transaction.
Type:
Content:
simple
Defined:
locally within Repo complexType; see XML source
cash (in collateral defined in RepoTransactionLeg complexType)
An element to define cash amount as collateral.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
locally within CollateralValuation complexType; see XML source
cashTransfer
A transfer of a cash amount between two parties.
Type:
Content:
complex, 1 attribute, 7 elements
Defined:
locally within Transfer complexType; see XML source
cleanPrice
Bond clean price, expressed in percentage points, 100 is the initial value of the bond.
Type:
xsd:decimal
Content:
simple
Defined:
collateral (defined in RepoTransactionLeg complexType)
Collateral element is used to carry the quantity and price details that are required to ensure that a repo contract is executed at fair value, with the value of the collateral matching the cash amount of the repo.
Type:
Content:
complex, 13 elements
Defined:
locally within RepoTransactionLeg complexType; see XML source
dayCountFraction (in repo)
The day count fraction.
Type:
Content:
simple, 1 attribute
Defined:
locally within Repo complexType; see XML source
daylightIndicator
Standard settlement in Euroclear takes place in a batch on "value date - 1" (at 4 pm), to allow trades which are not included in this batch to be settled on value date, the daylight indicator can be used.
Type:
xsd:boolean
Content:
simple
Defined:
locally within SecurityTransfer complexType; see XML source
delivererPartyReference (defined in DelivererReceiver.model group)
Reference to the party that delivers the security.
Type:
Content:
empty, 1 attribute
Defined:
delivererPartyReference (defined in SecurityTransfer complexType)
Reference to the party delivering the asset.
Type:
Content:
empty, 1 attribute
Defined:
locally within SecurityTransfer complexType; see XML source
deliveryDate (defined in Settlement.model group)
Delivery Date for the transaction.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
deliveryMethod (defined in Transfer complexType)
Specify the delivery method.
Type:
Content:
simple, 1 attribute
Defined:
locally within Transfer complexType; see XML source
deliveryMethod (in repo)
Specifies the delivery method.
Type:
Content:
simple, 1 attribute
Defined:
locally within Repo complexType; see XML source
dirtyPrice (in collateral defined in RepoTransactionLeg complexType)
Bond dirty price, expressed in percentage points, 100 is the initial value of the bond.
Type:
xsd:decimal
Content:
simple
Defined:
dirtyPrice (in collateral defined in RepoTransactionLeg complexType)
Bond dirty price, expressed in percentage points, 100 is the initial value of the bond.
Type:
xsd:decimal
Content:
simple
Defined:
duration (in repo)
A duration code for the repo transaction.
Type:
Content:
simple
Defined:
locally within Repo complexType; see XML source
eventId (defined in TradeComponentIdentifier complexType)
???
Type:
Content:
simple, 2 attributes
Defined:
eventReference
???
Type:
Content:
empty
Defined:
farLeg (in repo)
The far leg of the repo contract, i.e. the repurchase transaction.
Type:
Content:
complex, 1 attribute, 12 elements
Defined:
locally within Repo complexType; see XML source
fixedRateSchedule (in repo)
The fixed repo rate.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
locally within Repo complexType; see XML source
floatingRateCalculation (in repo)
The floating rate index and tenor, with additional definitions relating to the calculation of floating rate amounts, including spread and multiplier.
Type:
Content:
complex, 1 attribute, 11 elements
Defined:
locally within Repo complexType; see XML source
fxRate (defined in Settlement.model group)
Indicates the rate of a currency conversion that is used to compute settlement amount for cross-currency transactions.
Type:
Content:
complex, 2 elements
Defined:
haircut
An element defining a haircut expressed as the percentage difference between the Market Value of the collateral and the Purchase Price of the repo and calculated as 100 multiplied by a ratio of the difference between the Market Value of the collateral and the Purchase Price of the repo to the Market Value of the collateral.
Type:
xsd:decimal
Content:
simple
Defined:
locally within InitialMargin complexType; see XML source
haircutThreshold
An element defining a haircut percentage threshold which is the value above (when it's lower than initial haircut) or below (when it's higher than initial haircut) which parties agree they will not call a margin from each other.
Type:
xsd:decimal
Content:
simple
Defined:
locally within InitialMargin complexType; see XML source
id (defined in RepoTransactionLeg complexType)
A reference to a party transaction ID.
Type:
Content:
simple, 2 attributes
Defined:
locally within RepoTransactionLeg complexType; see XML source
id (defined in Transfer complexType)
???
Type:
Content:
simple, 2 attributes
Defined:
locally within Transfer complexType; see XML source
id (in versionedEventId)
???
Type:
Content:
simple, 2 attributes
Defined:
locally within VersionedEventId complexType; see XML source
id (in versionedId)
???
Type:
Content:
simple, 2 attributes
Defined:
locally within VersionedTransferId complexType; see XML source
id (in versionedRepoLegId)
???
Type:
Content:
simple, 2 attributes
Defined:
locally within VersionedRepoLegId complexType; see XML source
id (in versionedStreamId)
???
Type:
Content:
simple, 1 attribute
Defined:
locally within VersionedStreamId complexType; see XML source
inflationFactor
The inflation factor is specified for inflation-linked products which require some additional elements to calculate prices correctly.
Type:
xsd:decimal
Content:
simple
Defined:
initialMargin
Defines initial margin applied to a repo transaction.
Type:
Content:
complex, 7 elements
Defined:
locally within Repo complexType; see XML source
marginRatio
An element defining an initial margin expressed as a ratio of the Market Value of the collateral to the Purchase Price.
Type:
xsd:decimal
Content:
simple
Defined:
locally within InitialMargin complexType; see XML source
marginRatioThreshold
An element defining a margin ratio threshold which is the value above (when it's lower than initial margin ratio) or below (when it's higher than initial margin ratio) which parties agree they will not call a margin from each other.
Type:
xsd:decimal
Content:
simple
Defined:
locally within InitialMargin complexType; see XML source
marginThreshold
An element defining a margin threshold which is the Net Exposure of a trade below which parties agree they will not call a margin from each other.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
locally within InitialMargin complexType; see XML source
marginType
An element defining the type of assets (cash or securities) specified to apply as margin to the repo transaction.
Type:
Content:
simple
Defined:
locally within InitialMargin complexType; see XML source
minimumTransferAmount
An element defining a minimum transfer amount which is the minimum margin call parties will make once the margin threshold (or margin ratio threshold / haircut threshold) has been exceeded.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
locally within InitialMargin complexType; see XML source
nearLeg (in repo)
A repo contract is modeled as two purchase/repurchase transactions which are called legs.
Type:
Content:
complex, 1 attribute, 11 elements
Defined:
locally within Repo complexType; see XML source
netTradeIdentifier
Identify the net trade and original trades which have caused this transfer to occur within a Trade or Settlement Message.
Type:
Content:
complex, 1 attribute, 12 elements
Defined:
nominalAmount
Total nominal amount of the given bonds used as collateral.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
noticePeriod (in partyNoticePeriod)
Notice period for open repo transactions in number of days.
Type:
Content:
complex, 1 attribute, 5 elements
Defined:
noticePeriod (in repo)
Notice period for open repo transactions in number of days.
Type:
Content:
complex, 1 attribute, 5 elements
Defined:
locally within Repo complexType; see XML source
originalTradeIdentifier
Identification of original trades.
Type:
Content:
complex, 1 element
Defined:
locally within NetTradeIdentifier complexType; see XML source
partyNoticePeriod
Notice period for open repo transactions referenced to a party to the trade, in number of days.
Type:
Content:
complex, 2 elements
Defined:
locally within Repo complexType; see XML source
partyReference (in partyNoticePeriod)
A reference to a party who has the right to request exercise of the open repo trade and for whom noticePeriod is defined.
Type:
Content:
empty, 1 attribute
Defined:
quantity (defined in SecurityTransfer complexType)
The quantity of asset being transfered
Type:
xsd:decimal
Content:
simple
Defined:
locally within SecurityTransfer complexType; see XML source
receiverPartyReference (defined in DelivererReceiver.model group)
Reference to the party that receives the security.
Type:
Content:
empty, 1 attribute
Defined:
receiverPartyReference (defined in SecurityTransfer complexType)
Reference to the party receiving the asset.
Type:
Content:
empty, 1 attribute
Defined:
locally within SecurityTransfer complexType; see XML source
relativePrice
Bond price relative to a Benchmark.
Type:
Content:
complex, 4 elements
Defined:
repo
Global element representing a Repo.
Type:
Content:
complex, 1 attribute, 20 elements
Subst.Gr:
may substitute for element product
Defined:
globally; see XML source
Used:
never
repoInterest
The repo interest is basically the difference between the settlement amounts at spot and forward date.
Type:
xsd:decimal
Content:
simple
Defined:
locally within FarRepoTransactionLeg complexType; see XML source
repoLegId
???
Type:
Content:
simple, 2 attributes
Defined:
repoLegReference
???
Type:
Content:
empty
Defined:
securityTransfer (defined in Transfer complexType)
A transfer of securities between two parties.
Type:
Content:
complex, 1 attribute, 6 elements
Defined:
locally within Transfer complexType; see XML source
securityTransfer (defined in Transfer complexType)
A transfer of securities between two parties.
Type:
Content:
complex, 1 attribute, 6 elements
Defined:
locally within Transfer complexType; see XML source
settlementAmount (in attribution)
An amount expressed in the settlement currency that was indicated in the enclosing Attributions structure.
Type:
xsd:decimal
Content:
simple
Defined:
locally within Attribution complexType; see XML source
settlementCurrency (in attributions)
The currency that is used for all the attributions expressed with settlementAmount.
Type:
Content:
simple, 1 attribute
Defined:
locally within Attributions complexType; see XML source
settlementDate (defined in Settlement.model group)
Settlement or Payment Date for the transaction.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
settlementInstructionReference
Settlement Instruction Reference.
Type:
Content:
empty
Defined:
locally within Transfer complexType; see XML source
spread (in relativePrice)
Basis Point spread over a Benchmark.
Type:
xsd:decimal
Content:
simple
Defined:
locally within RelativePrice complexType; see XML source
streamId
???
Type:
Content:
simple, 1 attribute
Defined:
streamReference
???
Type:
Content:
empty
Defined:
suppress
Indicate if this transfer should be suppressed.
Type:
xsd:boolean
Content:
simple
Defined:
tradeAndComponentIdentifier
Identify the trade and component which has caused this transfer to occur within a Settlement Message.
Type:
Content:
complex, 1 attribute, 7 elements
Defined:
tradeComponentIdentifier (defined in TradeComponentOrIdentifierOrNet.model group)
Identify the trade component which has caused this transfer to occur within a Trade Settlement.
Type:
Content:
complex, 9 elements
Defined:
tradeComponentIdentifier (in tradeAndComponentIdentifier)
Type:
Content:
complex, 9 elements
Defined:
tradeIdentifier (in originalTradeIdentifier)
A trade identifier.
Type:
Content:
complex, 1 attribute, 6 elements
Defined:
locally within TradeIdentifierList complexType; see XML source
transferAmount
The money to transfer.
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
locally within CashTransfer complexType; see XML source
transferDate
The date at which the transfer should occur.
Type:
Content:
simple, 1 attribute
Defined:
locally within Transfer complexType; see XML source
type (in attribution)
The attribution type.
Type:
Content:
simple, 1 attribute
Defined:
locally within Attribution complexType; see XML source
underlyingAmount
An amount expressed in the currency of an underlyer ( see underlyingCurrency).
Type:
xsd:decimal
Content:
simple
Defined:
locally within Attribution complexType; see XML source
underlyingCurrency
The currency that is used for all the attributions expressed with underlyingAmount.
Type:
Content:
simple, 1 attribute
Defined:
locally within Attributions complexType; see XML source
versionedEventId
???
Type:
Content:
complex, 3 elements
Defined:
versionedId
???
Type:
Content:
complex, 3 elements
Defined:
locally within Transfer complexType; see XML source
versionedRepoLegId
???
Type:
Content:
complex, 3 elements
Defined:
versionedStreamId
???
Type:
Content:
complex, 3 elements
Defined:
yieldToMaturity
Yield to Maturity.
Type:
xsd:decimal
Content:
simple
Defined:
Complex Type Summary
An adjustable offset can be used to specify a number of days, business or calendar, for example in a notice period.
Content:
complex, 1 attribute, 5 elements
Defined:
globally; see XML source
Used:
Abstract base class for all transfer of cash or securities
Content:
complex, 1 attribute, 1 element
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
An attribution must specify its type, and an amount.
Content:
complex, 4 elements
Defined:
globally; see XML source
Includes:
definitions of 4 elements
Used:
A set of attributions, which are a way to break down a cash amount into several components, like the repo interest portion in the final cahflow of the repo, the clean price attribution, etc.
Content:
complex, 4 elements
Defined:
globally; see XML source
Includes:
definitions of 4 elements
Used:
An attribution type.
Content:
simple, 1 attribute
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
By definition, to specify a cash transfer, we need to say how much we want to transfer, who is the payer ( correspondent ) and who is the receiver ( beneficiary ).
Content:
complex, 1 attribute, 7 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
This type is used in Repo trades, to specify the valuation of a specific piece of collateral in the transaction.
Content:
complex, 13 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
Specifies the delivery method in securities transactions.
Content:
simple, 1 attribute
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
Reference to a Trade Event.
Content:
empty
Defined:
globally; see XML source
Used:
A transaction leg for a repo is equivalent to a single cash transaction.
Content:
complex, 1 attribute, 12 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Defines initial margin applied to a repo transaction.
Content:
complex, 7 elements
Defined:
globally; see XML source
Includes:
definitions of 7 elements
Used:
Identification of a net trade and original trades.
Content:
complex, 1 attribute, 12 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
A type to represent agreed period of notice to be given in advance before exercise of the open repo trade by a party requesting such exercise and reference to that party.
Content:
complex, 2 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
A type which represents Pricing relative to a Benchmark.
Content:
complex, 4 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
A Repo, modeled as an FpML:Product.
Content:
complex, 1 attribute, 20 elements
Defined:
globally; see XML source
Includes:
definitions of 12 elements
Used:
A Repo Leg Identification.
Content:
simple, 2 attributes
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
A transaction leg for a repo is equivalent to a single cash transaction.
Content:
complex, 1 attribute, 11 elements
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 2 elements
Used:
Reference to an Transaction Leg.
Content:
empty
Defined:
globally; see XML source
Used:
The transfer of a security requires an identifier for the security, and a quantity.
Content:
complex, 1 attribute, 6 elements
Defined:
globally; see XML source
Includes:
definitions of 5 elements
Used:
Settlement Instruction Reference.
Content:
empty
Defined:
globally; see XML source
Used:
Stream identification.
Content:
simple, 1 attribute
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
Reference to an Stream.
Content:
empty
Defined:
globally; see XML source
Used:
Contains identification of a trade, and references to a trade component or event.
Content:
complex, 1 attribute, 7 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Trade Component or Event identification or references.
Content:
complex, 9 elements
Defined:
globally; see XML source
Includes:
definitions of 9 elements
Used:
A type containing multiple tradeIdentifier.
Content:
complex, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
A type used to represent a transfer of cash, or securities, or a simultaneous exchange of securities vs cash.
Content:
complex, 1 attribute, 11 elements
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 8 elements
Used:
never
A Transfer Identification.
Content:
simple, 2 attributes
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
EventId with version control elements.
Content:
complex, 3 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Repo Leg Id with version control elements.
Content:
complex, 3 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
StreamId with version control elements.
Content:
complex, 3 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Transfer Id with version control elements.
Content:
complex, 3 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Simple Type Summary
Identifies a party to the on-demand repo transaction that has a right to demand for termination of the repo transaction.
Defined:
globally; see XML source
Used:
Element Group Summary
A group which has Collateral elements.
Content:
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
A model group that allows us to specify that a repo contract can reference bond or equity instruments.
Content:
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
A group which has either Bond Price or Yield elements.
Content:
Defined:
globally; see XML source
Includes:
definitions of 7 elements
Used:
Used in Sec Lending to indicate who delivers the security / who receives.
Content:
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
never
A group which has cash settlement elements.
Content:
Defined:
globally; see XML source
Includes:
definitions of 3 elements
Used:
Trade or Trade Identifier.
Content:
Defined:
globally; see XML source
Includes:
definitions of 3 elements
Used:
XML Source
<?xml version="1.0" encoding="utf-8"?>
<!--
== Copyright (c) 2002- All rights reserved.
== Financial Products Markup Language is subject to the FpML public license.
== A copy of this license is available at http://www.fpml.org/license/license.html
-->
<xsd:schema attributeFormDefault="unqualified" ecore:documentRoot="FpML" ecore:nsPrefix="conf" ecore:package="org.fpml.confirmation" elementFormDefault="qualified" targetNamespace="http://www.fpml.org/FpML-5/confirmation" version="$Revision: 11232 $" xmlns="http://www.fpml.org/FpML-5/confirmation" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:fpml-annotation="http://www.fpml.org/annotation" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation="fpml-business-events-5-8.xsd"/>
<!--12-08-2014: SecWG agreed to convert DeliveryMethodEnum into deliveryMethodScheme coding scheme-->
<xsd:complexType name="DeliveryMethod">
<xsd:annotation>
<!--<xsd:documentation xml:lang="en">This enumeration defines the possible delivery methods for securities.</xsd:documentation>-->
<xsd:documentation xml:lang="en">
Specifies the delivery method in securities transactions. This coding-scheme defines the possible delivery methods for securities.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute default="http://www.fpml.org/coding-scheme/delivery-method" name="deliveryMethodScheme" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
<!--Create deliveryMethodScheme coding scheme with values:
"DeliveryVersusPayment" - "Indicates that a securities delivery must be made against payment in simultaneous transmissions and stipulate each other."
"FreeOfPayment" - "Indicates that a securities delivery can be made without a simultaneous cash payment in exchange and not depending on if payment obligations are fulfilled or not and vice versa."
"PreDelivery" - Indicates that a payment in full amount must be made before the securities delivery; fulfillment of securities delivery obligations depends on payment obligations fulfillment."
"PrePayment" - Indicates that a securities delivery must be made in full before the payment for the securities; fulfillment of payment obligations depends on securities delivery obligations fulfillment.
-->
</xsd:complexType>
<xsd:complexType name="AdjustableOffset">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An adjustable offset can be used to specify a number of days, business or calendar, for example in a notice period.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Offset">
<xsd:sequence>
<xsd:group minOccurs="0" ref="BusinessCentersOrReference.model"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType abstract="true" name="AtomicSettlementTransfer">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Abstract base class for all transfer of cash or securities
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element minOccurs="0" name="suppress" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Indicate if this transfer should be suppressed. Absence of this flag means that the transfer should not be suppressed.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<xsd:complexType name="Attribution">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An attribution must specify its type, and an amount. Any of the three amount fields below can be used (and they can all be used at the same time), as long as they are used consistently. You can express an attribution in a maximum of three different currencies (settlement, base, underlying), which are usually the same as the settlement currency on the trade, the base currency used for accounting purposes, and the underlying currency which refers to the currency of an underlying instrument used in a transaction. Note however that these are just guidelines; you can actually specify attributions in any currency that you like, as long as you are consistent. Within an Attributions structure, all attribution/settlementAmounts are expressed in the same currency, defined by the settlementCurrency field (see enclosing Attributions structure). Same holds true for base and underlying amounts.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="type" type="AttributionType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The attribution type. The cash settlement amount specified in the enclosing transfer will be broken down into several subcomponents (like a PandL explain), and the type of the breakdown is defined here. Typical values are in a scheme.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="settlementAmount" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An amount expressed in the settlement currency that was indicated in the enclosing Attributions structure. This is done to avoid repeating the currency for every amount when we know that attributions are expressed in a consistent way, with the same currencies.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="baseAmount" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An amount expressed in the base currency defined in the enclosing Attributions structure (see baseCurrency). If this optional field is present, baseCurrency must be defined in the enclosing structure.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="underlyingAmount" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An amount expressed in the currency of an underlyer ( see underlyingCurrency). If this field is present then the underlyingCurrency field in the enclosing structure must be defined.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Attributions">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A set of attributions, which are a way to break down a cash amount into several components, like the repo interest portion in the final cahflow of the repo, the clean price attribution, etc. An example could be, for a repo worth 1M on a security priced at 100 at maturity with a total interest of 10,000, 1M is attributed to the security 'dirty price', 95,400,000.00 is attributed to the security clean price, ( I am making it up here ); 10,000.00 is attributed to the repo interest, and 200 is attributed to a stamp tax. All attributions are monetary amounts.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="settlementCurrency" type="Currency">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The currency that is used for all the attributions expressed with settlementAmount. The reason for this is to avoid repeating the currency (for example using FpML:Money) for every attribution amount in the structure. We therefore assume that attributions are expressed in a maximum of three currencies, which we specify here. The settlementCurrency is assumed to be the settlement currency of the trade in general cases.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="baseCurrency" type="Currency">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The currency that is used for all the attributions expressed with baseAmount. The baseCurrency is usually USD within the firm, but it is in fact driven by the accounting engine expectations.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="underlyingCurrency" type="Currency">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The currency that is used for all the attributions expressed with underlyingAmount. Underlying currency is the currency of issuance for the underlying instrument. So if you need to express attributions on a Repo settling in EUR but with GBP instruments, you would specify underlyingCurrency to be GBP.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="unbounded" name="attribution" type="Attribution">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The attributions go here. There is no limit on the number of attributions.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AttributionType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An attribution type. Values are defined in a coding scheme. Typical values are RepoInterest, StampTax, WithholdingTax.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:normalizedString">
<xsd:attribute name="attributionTypeScheme" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CashTransfer">
<xsd:annotation>
<xsd:documentation xml:lang="en">
By definition, to specify a cash transfer, we need to say how much we want to transfer, who is the payer ( correspondent ) and who is the receiver ( beneficiary ). Those terms are used in the settlement instruction and allow us to define the direction of the movement.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="AtomicSettlementTransfer">
<xsd:sequence>
<xsd:element name="transferAmount" type="Money">
<xsd:annotation>
<xsd:documentation xml:lang="en">The money to transfer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="PayerReceiver.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parties paying and receiving the money</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:element minOccurs="0" name="attributions" type="Attributions">
<xsd:annotation>
<xsd:documentation xml:lang="en">
For accounting, reporting or regulatory reasons, the transfer may have to be explained in a series of individual amounts. It may be possible for example to break down a transfer amount into constituents (gross, tax, net) or into individual amounts (interest, penalty) that would be netted at the transfer level. The attributions structure allows participants to explain their transfer amounts for better traceability. This is strictly optional.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CollateralValuation">
<xsd:annotation>
<xsd:documentation xml:lang="en">
This type is used in Repo trades, to specify the valuation of a specific piece of collateral in the transaction.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice>
<xsd:sequence>
<xsd:choice>
<xsd:group ref="BondCollateral.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
When the instrument being used in a transaction is a bond, the group above should be used to properly value the instrument, in terms of price, accruals and notional.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:group ref="UnitContract.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
When the instrument being used in a transaction is an equity, or any contract traded in units, this group should be used to define the quantity, price and valuation of the instrument.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:choice>
<xsd:element name="assetReference" type="AssetReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A reference to explicitly identify which asset is being valued.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<!--sec lending element-->
<xsd:sequence>
<xsd:element name="cash" type="Money">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An element to define cash amount as collateral. This is not used for repo transactions.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<!--no such event in seclen-->
<!--<xsd:complexType name="CouponEvent">
<xsd:annotation>
<xsd:documentation xml:lang="en">This structure is used for Buy-Sell Back trades to describe when a coupon is paid and what reinvestment rate will be applied. the amount is in the instrument currency. To be able to represent a buy/sell back with more than one collateral we use an href link to the underlying asset. This enables us to represent multiple coupons during the life of the trade, with different reinvestment rates, and possibly different instruments.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="MidLifeEvent">
<xsd:sequence>
<xsd:element name="couponAmount" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">The cash value of the coupon paid (not the coupon rate). It should be equal to the coupon rate divided by frequency (2 for semi annual) times the notional of the bond.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="reinvestmentRate" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">The reinvestment rate we will use on the coupon. Very often it is equal to the repo rate on the deal, but it does not have to. For very long term repos, the reinvestment rate will be derived from a curve.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="assetReference" type="AssetReference"/>
<xsd:element name="transfer" type="Transfer" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The transfer structure can be used to explicitly state who will pay the coupon. In buy-sell-back trades, whoever holds the bond will receive the coupon (from the bond issuer) and keep it. If the bond holder passes the coupon on to the counterparty we expect to see a transfer from bond holder to counterparty here.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
-->
<xsd:complexType name="EventReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to a Trade Event.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FarRepoTransactionLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A transaction leg for a repo is equivalent to a single cash transaction. It is augmented here to carry some values that are of interest for the repo. Also note that the BuyerSeller model in this transaction must be the exact opposite of the one found in the near leg.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="RepoTransactionLeg">
<xsd:sequence>
<xsd:element minOccurs="0" name="repoInterest" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The repo interest is basically the difference between the settlement amounts at spot and forward date. It is a fully figured amount, but it does not have to be specified in the message. It is not a 'Money' amount as it is implicitly expressed in the settlement currency.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="InitialMargin">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Defines initial margin applied to a repo transaction. Initial margin is an agreed premium to the Purchase Price of a repo to determine the required Market Value of the collateral to be delivered on the Purchase Date. It reflects quality of the collateral. Its aim is to calculate the risk-adjusted or liquidation value of collateral.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="marginType" type="MarginTypeEnum">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An element defining the type of assets (cash or securities) specified to apply as margin to the repo transaction.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--09-29-2014: SecWG: agreed to a choice of initialMarginRatio (renamed from marginFactor) and haircut-->
<xsd:choice>
<!--11-10-2014: SecWG: agreed to grouping of "initialMarginRatio" and "marginRatioThreshold" -->
<xsd:sequence>
<!--11-24-2014: SecWG: reverted back the renaming "initialMarginRatio” from marginRatio. The currently agreed name of the element - marginRatio-->
<xsd:element name="marginRatio" type="xsd:decimal">
<xsd:annotation>
<!--<xsd:documentation xml:lang="en">The margin is expressed as a multiplication factor (default value is 1) to reflect the quality of the collateral. Also called margin ratio as per Section 2, paragraph (z) of the TBMA/ISMA Global Master Repurchase Agreement.</xsd:documentation>-->
<xsd:documentation xml:lang="en">
An element defining an initial margin expressed as a ratio of the Market Value of the collateral to the Purchase Price. A default value of initial margin ratio of 1.00 means there is no margin and thus no risk related with the collateral.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="2" minOccurs="0" name="marginRatioThreshold" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation>
An element defining a margin ratio threshold which is the value above (when it's lower than initial margin ratio) or below (when it's higher than initial margin ratio) which parties agree they will not call a margin from each other.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<!--11-10-2014: SecWG: agreed to grouping of "haircutPercentage" and "haircutThreshold" -->
<xsd:sequence>
<xsd:element name="haircut" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
An element defining a haircut expressed as the percentage difference between the Market Value of the collateral and the Purchase Price of the repo and calculated as 100 multiplied by a ratio of the difference between the Market Value of the collateral and the Purchase Price of the repo to the Market Value of the collateral. Haircut is alternative way to adjust the value of collateral sold in a repurchase agreement to initial margin ratio. Because an initial margin is a percentage of the Purchase Price, while a haircut is a percentage of the Market Value of collateral, the arithmetic of initial margins and haircuts is slightly different. For example, an initial margin of 102% is not equivalent to a haircut of 2%, but to 1.961% (ie 100/102%).
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="2" minOccurs="0" name="haircutThreshold" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation>
An element defining a haircut percentage threshold which is the value above (when it's lower than initial haircut) or below (when it's higher than initial haircut) which parties agree they will not call a margin from each other.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
<!--09-29-2014: SecWG agreed agreed on the substance of this model, but model might be refined later own to give the control over the elements to the schema -->
<!--09-29-2014: SecWG agreed to remove container margin call details-->
<xsd:element minOccurs="0" name="marginThreshold" type="NonNegativeMoney">
<xsd:annotation>
<xsd:documentation>
An element defining a margin threshold which is the Net Exposure of a trade below which parties agree they will not call a margin from each other.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="minimumTransferAmount" type="NonNegativeMoney">
<xsd:annotation>
<xsd:documentation>
An element defining a minimum transfer amount which is the minimum margin call parties will make once the margin threshold (or margin ratio threshold / haircut threshold) has been exceeded.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NetTradeIdentifier">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Identification of a net trade and original trades.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PartyTradeIdentifier">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="2" name="originalTradeIdentifier" type="TradeIdentifierList">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of original trades.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="NoticePeriodPartyReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A type to represent agreed period of notice to be given in advance before exercise of the open repo trade by a party requesting such exercise and reference to that party.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="partyReference" type="PartyReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A reference to a party who has the right to request exercise of the open repo trade and for whom noticePeriod is defined.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="noticePeriod" type="AdjustableOffset">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Notice period for open repo transactions in number of days. This element represents agreed period of notice to be given in advance before exercise of the repo trade by a party requesting such exercise.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RelativePrice">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A type which represents Pricing relative to a Benchmark.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="spread" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">Basis Point spread over a Benchmark.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group maxOccurs="unbounded" ref="BondEquity.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The benchmark being referred to; either a bond or equity product.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Repo">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A Repo, modeled as an FpML:Product. Note: this Repo model is a candidate model for further industry input.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Product">
<xsd:sequence>
<xsd:choice>
<xsd:element name="fixedRateSchedule" type="Schedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The fixed repo rate. It is usually fixed for the duration of the agreement but can be changed with mid-life events (rate changes) except for sell/buy-back trades.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:annotation>
<xsd:documentation xml:lang="en">
The floating rate index and tenor, with additional definitions relating to the calculation of floating rate amounts, including spread and multiplier. It is used for floating rate repos. For example, floating rate repos on European markets are made against EONIA.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="dayCountFraction" type="DayCountFraction">
<xsd:annotation>
<xsd:documentation xml:lang="en">The day count fraction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="duration" type="RepoDurationEnum">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A duration code for the repo transaction. This defines a type of a repo transaction with fixed duration.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--SecWG agreed on Jan-26 to this model-->
<xsd:sequence>
<xsd:element name="callingParty" type="CallingPartyEnum">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A party to the open repo transaction that has a right to demand for exercise of far leg of the open repo transaction. This element represents an enumerated list that includes InitialBuyer, InitialSeller, Either, AsDefinedInMasterAgreement. In the default case either party can call for closing open repo transaction, unless otherwise specified. If electing parties are not defined in open repo confirmation, when they are defined by default in the Master Agreement, AsDefinedInMasterAgreement value should be used. Exact buyer/seller related parties, including any third parties who can demand exercise of open repo transactions on behalf of the parties to the trade (calculation agent, executing broker, etc.), can be defined in the relatedParty element (tradeHeader/partyTradeInformation).
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="callDate" type="AdjustableOrRelativeDate">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Defines the latest date when the open repo transaction can be exercised (and no later than which it must be exercised) on demand by a party to the trade indicated in the electingParty element (or in the Master Agreement, if the electingParty element has AsDefinedInMasterAgreement value). For instance, in the open repo transaction with callDate agreed as business day one year after the trade date far leg can be settled on any day after the near leg settlement date and before and including the callDate. If the call date is not defined in trade terms and / or not included into trade confirmation this element can be omitted.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--Nov-07-2014: RTS Proposal: to make noticePeriod - optional and move it after electingParty-->
<xsd:choice minOccurs="0">
<xsd:element name="noticePeriod" type="AdjustableOffset">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Notice period for open repo transactions in number of days. This element represents agreed period of notice to be given in advance before exercise of the repo trade by a party requesting such exercise.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="2" name="partyNoticePeriod" type="NoticePeriodPartyReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Notice period for open repo transactions referenced to a party to the trade, in number of days. This element represents agreed period of notice to be given in advance before exercise of the repo trade by a party requesting such exercise and reference to that party.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:choice>
<!--Nov-10-2014: SecWG agreed to renaming element "margin" and type "Margin" to element "initialMargin" and type "InitialMargin"-->
<xsd:element name="initialMargin" type="InitialMargin">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Defines initial margin applied to a repo transaction.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--SecWG agreed to rename spotLeg to nearLeg on May-19-->
<xsd:element name="nearLeg" type="RepoTransactionLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A repo contract is modeled as two purchase/repurchase transactions which are called legs. This is the near leg, i.e. the transaction that will be executed on the near settlement date of the contract.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--SecWG agreed to rename forwardLeg to farLeg on May-19-->
<xsd:element minOccurs="0" name="farLeg" type="FarRepoTransactionLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The far leg of the repo contract, i.e. the repurchase transaction. The BuyerSeller model in the far leg must be the exact opposite of the one found in the near leg.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--12-08-2014: SecWG agreed to convert DeliveryMethodEnum into deliveryMethodScheme coding scheme-->
<!--06-02-2014: SecWG agreed to add this element here (moved here from security transfer block)-->
<xsd:element minOccurs="0" name="deliveryMethod" type="DeliveryMethod">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Specifies the delivery method. Includes the list of delivery methods for repo near and far leg transactions.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group maxOccurs="unbounded" ref="BondEquity.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A list of the financial instruments that the repo contract may reference.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<!--SecWG agreed to move "settlementTransfer" block to RepoTransactionLeg-->
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!--Dec-08-2014L SecWG agreed to rename electingParty/ElectingPartyEnum to callingParty/CallingPartyEnum-->
<!--Sep-15-2015: SecWG agreed -->
<xsd:simpleType name="CallingPartyEnum">
<xsd:annotation>
<xsd:documentation source="http://www.FpML.org" xml:lang="en">
Identifies a party to the on-demand repo transaction that has a right to demand for termination of the repo transaction.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="InitialBuyer">
<xsd:annotation>
<xsd:documentation source="http://www.FpML.org" xml:lang="en">Initial buyer to the repo transaction.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="InitialSeller">
<xsd:annotation>
<xsd:documentation source="http://www.FpML.org" xml:lang="en">Initial seller to the repo transaction.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="Either">
<xsd:annotation>
<xsd:documentation source="http://www.FpML.org" xml:lang="en">Either, Buyer or Seller to the repo transaction.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="AsDefinedInMasterAgreement">
<xsd:annotation>
<xsd:documentation source="http://www.FpML.org" xml:lang="en">As defined in Master Agreement.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="RepoLegId">
<xsd:annotation>
<xsd:documentation xml:lang="en">A Repo Leg Identification.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:normalizedString">
<xsd:attribute name="repoLegIdScheme" type="xsd:anyURI"/>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="RepoTransactionLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A transaction leg for a repo is equivalent to a single cash transaction.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="id" type="RepoLegId">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A reference to a party transaction ID. This is provided in case the message creator wishes to record that the repo leg is associated with a particular trade identifier; typically this can be used for identifying a UTI associated with the leg.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="BuyerSeller.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
References to the buyer and the seller of this leg of the repo contract.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:group ref="Settlement.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The date and monetary amounts specified for the settlement of this transaction.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="collateral" type="CollateralValuation">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Collateral element is used to carry the quantity and price details that are required to ensure that a repo contract is executed at fair value, with the value of the collateral matching the cash amount of the repo. Collateral is declared as optional here, with multiple cardinalities, since there can be a repo "Multi", with multiple instruments specified, or a "Cash Borrow/Loan" and &#8220;TriPartyRepo&#8221; with no collateral. In general cases, however it should be specified. This element can be omitted in farLeg.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<xsd:complexType name="RepoTransactionLegReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to an Transaction Leg.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="SecurityTransfer">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The transfer of a security requires an identifier for the security, and a quantity.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="AtomicSettlementTransfer">
<xsd:sequence>
<xsd:element name="quantity" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">The quantity of asset being transfered</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="assetReference" type="AssetReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">The asset being transfered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="delivererPartyReference" type="PartyReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to the party delivering the asset.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="receiverPartyReference" type="PartyReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to the party receiving the asset.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="daylightIndicator" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Standard settlement in Euroclear takes place in a batch on "value date - 1" (at 4 pm), to allow trades which are not included in this batch to be settled on value date, the daylight indicator can be used. The MT 540 instruction will contain an indicator which notifies Euroclear whether a transaction can be put forward for settlement intra-day. This is the "Daylight Indicator" and will be set on all transactions with Euroclear. However, to ensure they are included within intra-day settlement, the counterparty within Euroclear (ie, participant B) must also indicate intra-day settlement can take place.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="SettlementInstructionReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Settlement Instruction Reference.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="StreamId">
<xsd:annotation>
<xsd:documentation xml:lang="en">Stream identification.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:normalizedString">
<xsd:attribute name="streamId" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="StreamReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to an Stream.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TradeAndComponentIdentifier">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Contains identification of a trade, and references to a trade component or event.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="TradeIdentifier">
<xsd:sequence>
<xsd:element name="tradeComponentIdentifier" type="TradeComponentIdentifier"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TradeComponentIdentifier">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Trade Component or Event identification or references.
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="repoLegId" type="RepoLegId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="versionedRepoLegId" type="VersionedRepoLegId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="repoLegReference" type="RepoTransactionLegReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="eventId" type="EventId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="versionedEventId" type="VersionedEventId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="eventReference" type="EventReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="streamId" type="StreamId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="versionedStreamId" type="VersionedStreamId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="streamReference" type="StreamReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="TradeIdentifierList">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type containing multiple tradeIdentifier.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="tradeIdentifier" type="TradeIdentifier">
<xsd:annotation>
<xsd:documentation xml:lang="en">A trade identifier.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Transfer">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A type used to represent a transfer of cash, or securities, or a simultaneous exchange of securities vs cash.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element maxOccurs="unbounded" name="id" type="TransferId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="unbounded" name="versionedId" type="VersionedTransferId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:group minOccurs="0" ref="TradeComponentOrIdentifierOrNet.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:group>
<!--12-08-2014: SecWG agreed to convert DeliveryMethodEnum to DeliveryMethodScheme-->
<xsd:element name="deliveryMethod" type="DeliveryMethod">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Specify the delivery method. There is a business rule associated with this field: if deliveryMethod is DVP then you must specify a cashTransfer and a securityTransfer at the same time. It is incorrect to specify DVP and give only a cash transfer instruction.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="transferDate" type="IdentifiedDate">
<xsd:annotation>
<xsd:documentation xml:lang="en">The date at which the transfer should occur.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:annotation>
<xsd:documentation xml:lang="en">
You can specify either a cash transfer, or a security transfer, or both, but the structure below cannot be empty. Note the semantics of the structure: If we only have a cash transfer it is a pure cash transfer, mapping to a MT202 or MT210; if we have a security transfer only, it maps to a MT540 or 542 (deliver or receive free). If the structure has both cash and security specified it maps to MT541 or MT543 (deliver or receive against payment). The deliveryMethod tag allows us to validate that the transfer is structurally valid.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="cashTransfer" type="CashTransfer">
<xsd:annotation>
<xsd:documentation xml:lang="en">A transfer of a cash amount between two parties.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="securityTransfer" type="SecurityTransfer">
<xsd:annotation>
<xsd:documentation xml:lang="en">A transfer of securities between two parties.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:element name="securityTransfer" type="SecurityTransfer">
<xsd:annotation>
<xsd:documentation xml:lang="en">A transfer of securities between two parties.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element minOccurs="0" name="settlementInstructionReference" type="SettlementInstructionReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Settlement Instruction Reference.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<xsd:complexType name="TransferId">
<xsd:annotation>
<xsd:documentation xml:lang="en">A Transfer Identification.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:normalizedString">
<xsd:attribute name="transferIdScheme" type="xsd:anyURI"/>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="VersionedEventId">
<xsd:annotation>
<xsd:documentation xml:lang="en">EventId with version control elements.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="EventId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="VersionHistory.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VersionedRepoLegId">
<xsd:annotation>
<xsd:documentation xml:lang="en">Repo Leg Id with version control elements.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="RepoLegId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="VersionHistory.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VersionedStreamId">
<xsd:annotation>
<xsd:documentation xml:lang="en">StreamId with version control elements.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="StreamId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="VersionHistory.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VersionedTransferId">
<xsd:annotation>
<xsd:documentation xml:lang="en">Transfer Id with version control elements.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="TransferId">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="VersionHistory.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">??? A brief description should be provided</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="repo" substitutionGroup="product" type="Repo">
<xsd:annotation>
<xsd:documentation xml:lang="en">Global element representing a Repo.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group name="BondCollateral.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">A group which has Collateral elements.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="nominalAmount" type="Money">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Total nominal amount of the given bonds used as collateral.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group minOccurs="0" ref="BondPriceAndYield.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A model describing price of the given bonds used as collateral.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:element minOccurs="0" name="accrualsAmount" type="Money">
<xsd:annotation>
<xsd:documentation xml:lang="en">Accruals expressed as amount.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="BondEquity.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A model group that allows us to specify that a repo contract can reference bond or equity instruments.
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:annotation>
<xsd:documentation xml:lang="en">
Most repos are done using Bonds and Bond subclasses as collateral. However in some jurisdictions repos on equities are widely used. It is technically possible to execute a repo on an equity, as long as the mark to market is correctly done during the lifetime of the repo.
</xsd:documentation>
</xsd:annotation>
<xsd:group ref="BondChoice.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A bond, or bond subtype referenced by a repo contract.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:element ref="equity">
<xsd:annotation>
<xsd:documentation xml:lang="en">An equity referenced by a repo contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:group>
<xsd:group name="BondPriceAndYield.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A group which has either Bond Price or Yield elements.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<!--12-08-2014: SecWG agreed to Harry proposal to allow to specify dirtyPrice by adding a choice to the exisitng sequence.-->
<xsd:choice>
<xsd:annotation>
<xsd:documentation>At least one of cleanPrice|dirtyPrice must exist.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="cleanPrice" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Bond clean price, expressed in percentage points, 100 is the initial value of the bond.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="accruals" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Accruals, relationship is clean price and accruals equals dirty price, all prices are expressed in percentage points, 100 is the initial value of the bond.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="dirtyPrice" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Bond dirty price, expressed in percentage points, 100 is the initial value of the bond.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:element name="dirtyPrice" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Bond dirty price, expressed in percentage points, 100 is the initial value of the bond.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element minOccurs="0" name="relativePrice" type="RelativePrice">
<xsd:annotation>
<xsd:documentation xml:lang="en">Bond price relative to a Benchmark.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="yieldToMaturity" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">Yield to Maturity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="inflationFactor" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The inflation factor is specified for inflation-linked products which require some additional elements to calculate prices correctly.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!--sec lending model-->
<xsd:group name="DelivererReceiver.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Used in Sec Lending to indicate who delivers the security / who receives.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="delivererPartyReference" type="PartyReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Reference to the party that delivers the security.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="receiverPartyReference" type="PartyReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Reference to the party that receives the security.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="Settlement.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">A group which has cash settlement elements.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="settlementDate" type="AdjustableOrRelativeDate">
<xsd:annotation>
<xsd:documentation xml:lang="en">Settlement or Payment Date for the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--01-26-2015: Sec WG: agreed to add-->
<xsd:element minOccurs="0" name="deliveryDate" type="AdjustableOrRelativeDate">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Delivery Date for the transaction. Delivery Date can be populated when it is not equal to the Settlement Date.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:annotation>
<xsd:documentation xml:lang="en">
When the exact financial amount to trade is not known, this structure allows participants to state the currency of the transaction.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<!--2015-01-21:SecWG proposal: TBD-->
<xsd:element minOccurs="0" name="fxRate" type="FxRate">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Indicates the rate of a currency conversion that is used to compute settlement amount for cross-currency transactions.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:annotation>
<xsd:documentation xml:lang="en">Trade or Trade Identifier.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="tradeComponentIdentifier" type="TradeComponentIdentifier">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Identify the trade component which has caused this transfer to occur within a Trade Settlement.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="unbounded" name="tradeAndComponentIdentifier" type="TradeAndComponentIdentifier">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Identify the trade and component which has caused this transfer to occur within a Settlement Message.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="netTradeIdentifier" type="NetTradeIdentifier">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Identify the net trade and original trades which have caused this transfer to occur within a Trade or Settlement Message.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:group>
</xsd:schema>

XML schema documentation generated with DocFlex/XML 1.9.0 using DocFlex/XML XSDDoc 2.8.0 template set. All content model diagrams generated by Altova XMLSpy via DocFlex/XML XMLSpy Integration.