XML2MT
XML2MT transforms XML instances conforming to the schemas issued by SWIFT in SWIFT Standards Developer Kit (SDK) to SWIFT Message Type (MT) messages.
Configuration and Testing
Component Configuration
Figure 1: XML2MT Configuration
Attributes
For information about the below attributes, please refer to the respective sections in MT2XML page.
- Error Handling Configuration
- Standard Release MT Year
- Message Schema File
Testing
Input and Output
Sample Input
A sample XML message is as below (please expand).
A sample XML instance of message type MT101 – Request for Transfer
<?xml version="1.0" encoding="UTF-8"?>
<FinMessage xmlns="urn:swift:xsd:mtmsg.2012"><!--line=0-->
<Block1>
<ApplicationIdentifier>F</ApplicationIdentifier>
<ServiceIdentifier>01</ServiceIdentifier>
<LogicalTerminalAddress>BNKACHZZBIC0</LogicalTerminalAddress>
<SessionNumber>0000</SessionNumber>
<SequenceNumber>000000</SequenceNumber>
</Block1><!--line=0-->
<Block2>
<InputIdentifier>I</InputIdentifier>
<MessageType>101</MessageType>
<DestinationAddress>BNKBBEBBXBIC</DestinationAddress>
<MessagePriority>U</MessagePriority>
<DeliveryMonitoring>3</DeliveryMonitoring>
<ObsolescencePeriod>005</ObsolescencePeriod>
</Block2><!--line=0-->
<Block3><!--line=0-->
<F113>XXXX</F113>
</Block3><!--line=0-->
<Block4>
<Document xmlns="urn:swift:xsd:fin.102.2012">
<MT102>
<SeqA>
<F20a><!--line=1-->
<F20>5362/MPB</F20>
</F20a>
<F23a><!--line=2-->
<F23>CREDIT</F23>
</F23a>
<F50a><!--line=3-->
<F50K>
<Account>1234567890</Account>
<NameAndAddress>
<Line>CONSORTIA PENSION SCHEME</Line>
<Line>FRIEDRICHSTRASSE, 27</Line>
<Line>8022-ZURICH</Line>
</NameAndAddress>
</F50K>
</F50a>
<F71a><!--line=7-->
<F71A>OUR</F71A>
</F71a>
<F36a><!--line=8-->
<F36>1,6</F36>
</F36a>
</SeqA>
<SeqB>
<F21a><!--line=9-->
<F21>ABC/123</F21>
</F21a>
<F32a><!--line=10-->
<F32B>
<Currency>EUR</Currency>
<Amount>1250,</Amount>
</F32B>
</F32a>
<F59a><!--line=11-->
<F59>
<Account>001161685134</Account>
<NameAndAddress>
<Line>JOHANN WILLEMS</Line>
<Line>RUE JOSEPH II, 19</Line>
<Line>1040 BRUSSELS</Line>
</NameAndAddress>
</F59>
</F59a>
<F70a><!--line=15-->
<F70>
<Narrative>
<Line>PENSION PAYMENT SEPTEMBER 2009</Line>
</Narrative>
</F70>
</F70a>
<F33a><!--line=16-->
<F33B>
<Currency>CHF</Currency>
<Amount>2000,</Amount>
</F33B>
</F33a>
<F71a_3><!--line=17-->
<F71G>
<Currency>EUR</Currency>
<Amount>5,</Amount>
</F71G>
</F71a_3>
</SeqB>
<SeqB>
<F21a><!--line=18-->
<F21>ABC/124</F21>
</F21a>
<F32a><!--line=19-->
<F32B>
<Currency>EUR</Currency>
<Amount>1875,</Amount>
</F32B>
</F32a>
<F59a><!--line=20-->
<F59>
<Account>510007547061</Account>
<NameAndAddress>
<Line>JOAN MILLS</Line>
<Line>AVENUE LOUISE 213</Line>
<Line>1050 BRUSSELS</Line>
</NameAndAddress>
</F59>
</F59a>
<F70a><!--line=24-->
<F70>
<Narrative>
<Line>PENSION PAYMENT SEPTEMBER 2003</Line>
</Narrative>
</F70>
</F70a>
<F33a><!--line=25-->
<F33B>
<Currency>CHF</Currency>
<Amount>3000,</Amount>
</F33B>
</F33a>
<F71a_3><!--line=26-->
<F71G>
<Currency>EUR</Currency>
<Amount>5,</Amount>
</F71G>
</F71a_3>
</SeqB>
<SeqC>
<F32a><!--line=27-->
<F32A>
<Date>090828</Date>
<Currency>EUR</Currency>
<Amount>3135,</Amount>
</F32A>
</F32a>
<F19a><!--line=28-->
<F19>3125,</F19>
</F19a>
<F71a><!--line=29-->
<F71G>
<Currency>EUR</Currency>
<Amount>10,</Amount>
</F71G>
</F71a>
</SeqC>
</MT102>
</Document>
</Block4>
</FinMessage>
Output
Output of the component for the above sample input.
{1:F01BNKACHZZBIC00000000000}{2:I101BNKBBEBBXBICU3005}{3:{113:XXXX}}{4:
:20:5362/MPB
:23:CREDIT
:50K:/1234567890
CONSORTIA PENSION SCHEME
FRIEDRICHSTRASSE, 27
8022-ZURICH
:71A:OUR
:36:1,6
:21:ABC/123
:32B:EUR1250,
:59:/001161685134
JOHANN WILLEMS
RUE JOSEPH II, 19
1040 BRUSSELS
:70:PENSION PAYMENT SEPTEMBER 2009
:33B:CHF2000,
:71G:EUR5,
:21:ABC/124
:32B:EUR1875,
:59:/510007547061
JOAN MILLS
AVENUE LOUISE 213
1050 BRUSSELS
:70:PENSION PAYMENT SEPTEMBER 2003
:33B:CHF3000,
:71G:EUR5,
:32A:090828EUR3135,
:19:3125,
:71G:EUR10,
-}
An exception is thrown if the input is not a valid SWIFT MT message.