<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================================
     FpML SAMPLE: what FpML is, shown with a product and a customer
     Author: Bernard Millet. DAMA-DMBOK: Reference Data and Interoperability
     Portfolio work sample. Sanitized and representative; no proprietary data.
     ============================================================================
     WHAT IS FpML?
     FpML (Financial products Markup Language) is the open, ISDA-governed XML
     standard for describing financial products and trades. Its purpose is
     INTEROPERABILITY: two institutions - or two internal systems - can exchange
     the SAME standardized description of a product, a counterparty (customer)
     and the economic terms of a trade, without bespoke point-to-point formats.

     This example shows the two things every FpML message needs:
       1. PARTIES   - who is involved (here: a dealer bank and a customer)
       2. A PRODUCT - the financial instrument and its economic terms
                      (here: a vanilla single-currency interest-rate swap)

     Standardizing this is exactly the reference-data normalisation problem:
     one agreed structure and one agreed set of codes (ISO currencies, ISDA
     business-day conventions, LEI party identifiers) so data means the same
     thing everywhere it flows.
     ============================================================================ -->
<FpML xmlns="http://www.fpml.org/FpML-5/confirmation"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      fpmlVersion="5-12"
      xsi:type="DataDocument">

  <trade>
    <tradeHeader>
      <!-- Trade identifiers issued by each party -->
      <partyTradeIdentifier>
        <partyReference href="DEALER"/>
        <tradeId tradeIdScheme="http://dealer.example.com/trade-id">SW-2026-008842</tradeId>
      </partyTradeIdentifier>
      <partyTradeIdentifier>
        <partyReference href="CUSTOMER"/>
        <tradeId tradeIdScheme="http://acme.example.com/trade-id">ACME-IRS-0017</tradeId>
      </partyTradeIdentifier>
      <tradeDate>2026-06-29</tradeDate>
    </tradeHeader>

    <!-- ===================== THE PRODUCT ===================== -->
    <!-- A fixed-for-floating interest rate swap: the customer pays a fixed
         rate, the dealer pays a floating rate (EURIBOR 6M), on EUR 10,000,000. -->
    <swap>

      <!-- Leg 1: CUSTOMER pays FIXED 3.10% -->
      <swapStream>
        <payerPartyReference href="CUSTOMER"/>
        <receiverPartyReference href="DEALER"/>
        <calculationPeriodDates id="fixedLegDates">
          <effectiveDate><unadjustedDate>2026-07-01</unadjustedDate></effectiveDate>
          <terminationDate><unadjustedDate>2031-07-01</unadjustedDate></terminationDate>
        </calculationPeriodDates>
        <calculationPeriodAmount>
          <calculation>
            <notionalSchedule>
              <notionalStepSchedule>
                <initialValue>10000000.00</initialValue>
                <currency>EUR</currency>            <!-- ISO 4217 -->
              </notionalStepSchedule>
            </notionalSchedule>
            <fixedRateSchedule>
              <initialValue>0.0310</initialValue>   <!-- 3.10% -->
            </fixedRateSchedule>
            <dayCountFraction>30E/360</dayCountFraction>
          </calculation>
        </calculationPeriodAmount>
      </swapStream>

      <!-- Leg 2: DEALER pays FLOATING EURIBOR 6M -->
      <swapStream>
        <payerPartyReference href="DEALER"/>
        <receiverPartyReference href="CUSTOMER"/>
        <calculationPeriodDates id="floatLegDates">
          <effectiveDate><unadjustedDate>2026-07-01</unadjustedDate></effectiveDate>
          <terminationDate><unadjustedDate>2031-07-01</unadjustedDate></terminationDate>
        </calculationPeriodDates>
        <calculationPeriodAmount>
          <calculation>
            <notionalSchedule>
              <notionalStepSchedule>
                <initialValue>10000000.00</initialValue>
                <currency>EUR</currency>
              </notionalStepSchedule>
            </notionalSchedule>
            <floatingRateCalculation>
              <floatingRateIndex>EUR-EURIBOR-Reuters</floatingRateIndex>
              <indexTenor><periodMultiplier>6</periodMultiplier><period>M</period></indexTenor>
            </floatingRateCalculation>
            <dayCountFraction>ACT/360</dayCountFraction>
          </calculation>
        </calculationPeriodAmount>
      </swapStream>

    </swap>
  </trade>

  <!-- ===================== THE PARTIES (incl. the customer) ===================== -->
  <!-- Parties are identified by LEI (Legal Entity Identifier) - a global,
       standardized reference-data key, so the customer is unambiguous to
       every downstream system and counterparty. -->
  <party id="DEALER">
    <partyId partyIdScheme="http://www.fpml.org/coding-scheme/external/iso17442">5493000GLOBALBANKXX99</partyId>
    <partyName>Global Bank AG (dealer)</partyName>
  </party>
  <party id="CUSTOMER">
    <partyId partyIdScheme="http://www.fpml.org/coding-scheme/external/iso17442">529900ACMECUSTOMER42</partyId>
    <partyName>Acme Manufacturing AG (customer)</partyName>
  </party>

</FpML>
