HUF and international payment - XML import

The XML (Extensible Markup Language) is such a standard of a data-format describing language which makes possible the displaying and the efficient storing of documents and hierarchic structured data.
The logical structure and construction of an XML document can be defined with the DTD (Document Type Definition). By the help of DTD the document can be taken into fields. (Into "units bearing a name", into "pieces")

The Electra gives the possibility to import orders, which were given in XML-format files. In the following we will give the payment orders’ DTD for HUF payment (HUF), the payment orders’ DTD for international payment (DEV), and the payment orders’DTD of collection order (INK). In every case, we can give several transactions (or collections) in the same XML data.
Following the HUFTransactions DTD, we will give as an example the physical construction of the XML-document named "payment order for HUF payment".

Marks, used in the comments of DTDs’:

An : an alphanumeric series of characters containing n pieces of character.

Nn : a numeric series of characters containing n pieces of character.

9 : numeric character

The Electra program can recognize the following coding of characters with accent mark in XML data: utf-8, iso-8859-1, iso-8859-2, cp-852. By the rules of XML, you have to write the sign &lt; instead of the sign <, the sign &gt; instead of the sign >, and the sign &amp; instead of the sign & in case of series of characters which can be found in the values of the fields.

Payment order for HUF payment


<!ELEMENT HUFTransactions ( CreationDateAndTime?, ScheduledDate?, Transaction* ) >
<!ATTLIST HUFTransactions version CDATA -- the version number of this DTD’s or of this data format is: "1.0" -- >

<!ELEMENT CreationDateAndTime ( #PCDATA ) -- ISO 8601 (ccyy-mm-ddThh:mm:ss), date and time of the creation of the data -- >

<!ELEMENT ScheduledDate ( #PCDATA ) -- ISO 8601 (ccyy-mm-dd), scheduled date of sending -- >

<!ELEMENT Transaction ( Originator, Beneficiary, Amount, RequestedExecutionDate?, RemittanceInfo?, CustomerSpecifiedReference? , StatisticalInfo? ) >
<!ATTLIST Transaction ProcessingMode ("VIBER"|"") "" -- method of the bank’s processing -- >


<!ELEMENT Originator ( Name?, Account ) -- data of the account to be debited and the data of the ordering customer -- >

<!ELEMENT Name ( #PCDATA ) -- (A32) name (e.g. the name of the ordering customer or the name of the beneficiary) -- >

<!ELEMENT Account ( AccountNumber ) >

<!ELEMENT AccountNumber ( #PCDATA ) -- account number (e.g.: 16/24 characters GIRO’s account number) -- >
<!ATTLIST AccountNumber Type ("GIRO"|"IBAN"|"") "" -- type of the account number -- >

<!ELEMENT Beneficiary ( Name, Account ) -- data of the beneficiary -- >

<!ELEMENT Amount ( #PCDATA ) -- (N15 vagy 999999999999999,99) amount to transfer -- >
<!ATTLIST Amount Currency CDATA -- ISO 4217, the currency of the amount must be strictly HUF -- >

<!ELEMENT RequestedExecutionDate ( #PCDATA ) -- ISO 8601 (ccyy-mm-dd), value date (due date) -- >

<!ELEMENT RemittanceInfo ( Text* ) -- (4 x A32) details -- >

<!ELEMENT Text ( #PCDATA ) -- free-format text -- >

<!ELEMENT CustomerSpecifiedReference ( #PCDATA ) -- (A6) serial number -- >

<!ELEMENT StatisticalInfo ( StatisticalCode ) >

<!ELEMENT StatisticalCode ( #PCDATA ) -- (A3) title code -- >

Example

Item 1:
Beneficiary’s name: Kiss János
Beneficiary’s account number: 400018-11111111-11111111
Serial number: 1024
1st line of the details: The K02340234 account is equalized
Amount to transfer: 100 000 Ft
Amount’s currency: forint
Value date: 2002.08.25

Item 2:
Beneficiary’s name: Nagy János
Beneficiary’s account number: 11501402-11111111-22222222
Amount to transfer: 150 000 Ft

Item 3:
Beneficiary’s name: Nagy Lajos
Beneficiary’s account number: 11501402-11111111
Amount to transfer: 200 000 Ft
Value date: 2002.08.26

<?xml version="1.0" encoding="iso-8859-2"?>
<HUFTransactions>
<Transaction>
<Originator>
<Account>
<AccountNumber>1150140210000025</AccountNumber>
</Account>
</Originator>
<Beneficiary>
<Name>Kiss János</Name>
<Account>
<AccountNumber>144000181111111111111111</AccountNumber>
</Account>
</Beneficiary>
<Amount Currency="HUF">100000.00</Amount>
<RequestedExecutionDate>2002-08-25</RequestedExecutionDate>
<RemittanceInfo>
<Text>The K02340234 account is equalized.</Text>
</RemittanceInfo>
<CustomerSpecifiedReference>1024</CustomerSpecifiedReference>
</Transaction>
<Transaction>
<Originator>
<Account>
<AccountNumber>1150140210000025</AccountNumber>
</Account>
</Originator>
<Beneficiary>
<Name>Nagy János</Name>
<Account>
<AccountNumber>115014021111111122222222</AccountNumber>
</Account>
</Beneficiary>
<Amount>150000.00</Amount>
</Transaction>
<Transaction>
<Originator>
<Account>
<AccountNumber>1150140210000025</AccountNumber>
</Account>
</Originator>
<Beneficiary>
<Name>Nagy Lajos</Name>
<Account>
<AccountNumber>1150140211111111</AccountNumber>
</Account>
</Beneficiary>
<Amount>200000.00</Amount>
<RequestedExecutionDate>2002-08-26</RequestedExecutionDate>
</Transaction>
</HUFTransactions>

The text was broken into pieces for the better reading only. The same format of XML’s data is allowed, but not absolutely necessary.

Payment orders for international payments


<!ELEMENT DEVTransactions ( CreationDateAndTime?, ScheduledDate?, Transaction* ) >
<!ATTLIST DEVTransactions version CDATA -- the version number of this DTD’s or of this data format is: "1.0" -- >

<!ELEMENT CreationDateAndTime ( #PCDATA ) -- ISO 8601 (ccyy-mm-ddThh:mm:ss), date of making up of the data -- >

<!ELEMENT ScheduledDate ( #PCDATA ) -- ISO 8601 (ccyy-mm-dd), scheduled date of sending -- >

<!ELEMENT Transaction ( Originator, Beneficiary, Amount, TargetCurrency, RequestedExecutionDate?, RemittanceInfo?, TransferInstruction?, ImportLicence?, Charge, StatisticalInfo? ) >
<!ATTLIST Transaction Urgent ("yes"|"no") "no" -- urgent -- >

<!ATTLIST Transaction RequestedExecutionDay ("T"|"T+1"|"T+2") "T+2" -- value date, (T: current date) -- >


<!ELEMENT Originator ( Name?, Address?, FinancialInstitution?, Account ) -- account to be debited and data of ordering customer -- >

<!ELEMENT Name ( #PCDATA ) -- (A35) name (e.g.. the name of ordering customer or the name of the beneficiary) -- >

<!ELEMENT Address ( FreeFormatPostalAddress | StructuredPostalAddress ) -- postal address (you can define it with only one of the two) -- >

<!ELEMENT FreeFormatPostalAddress ( Text* ) -- (4 x A35) postal address given as free-format text -- >

<!ELEMENT StructuredPostalAddress ( Street?, PostOfficeBox?, PostalCode?, City?, CountryCode?, Country? ) -- formatted postal address, broken into elements -- >

<!ELEMENT Street ( #PCDATA ) -- (A35) street, house number -- >

<!ELEMENT PostOfficeBox ( #PCDATA ) -- post office box -- >

<!ELEMENT PostalCode ( #PCDATA ) -- postal code -- >

<!ELEMENT City ( #PCDATA ) -- city -- >

<!ELEMENT CountryCode ( #PCDATA ) -- (A2) country code (with capital letters) -- >

<!ELEMENT Country ( #PCDATA ) -- name of the country -- >

<!ELEMENT FinancialInstitution ( Name, FinancialInstitutionId?, Address? ) -- bank, financial institution -- >

<!ELEMENT FinancialInstitutionId ( #PCDATA ) -- code of the bank -- >
<!ATTLIST FinancialInstitutionId Type ("BIC"|"SWIFT"|"BLZ") "BIC" -- type of the bank’s code-- >

<!ELEMENT Account ( AccountNumber ) -- account -- >

<!ELEMENT AccountNumber ( #PCDATA ) -- account number -- >
<!ATTLIST AccountNumber Type ("GIRO"|"IBAN"|"") "" -- type of the account number -- >

<!ELEMENT Beneficiary ( Name, Address?, CountryOfRegistration, FinancialInstitution, Account ) -- data of beneficiary -- >

<!ELEMENT Amount ( #PCDATA ) -- (N15 vagy 999999999999999,99) amount to transfer -- >
<!ATTLIST Amount Currency CDATA -- ISO 4217, (A3) amount’s currency (with capital letters) -- >

<!ELEMENT TargetCurrency ( #PCDATA ) -- ISO 4217, (A3) transfer currency -- >

<!ELEMENT RemittanceInfo ( Text* ) -- (4 x A35) details -- >

<!ELEMENT Text ( #PCDATA ) -- free-format text -- >

<!ELEMENT TransferInstruction ( InidividualExchangeRate?, SWIFTFaximileRequested?, FreeFormatInstruction? ) -- instructions for the bank making account management -- >

<!ELEMENT InidividualExchangeRate ( #PCDATA ) -- unique rate -- >

<!ELEMENT SWIFTFaximileRequested ( #PCDATA ) -- facsimile number; you have to send the copy of the SWIFT message into this number -- >

<!ELEMENT FreeFormatInstruction ( Text* ) -- details for the bank -- >

<!ELEMENT ImportLicence ( ImportLicenceNumber, ImportLicenceDate? ) >

<!ELEMENT ImportLicenceNumber ( #PCDATA ) -- (A35) import licence number -- >

<!ELEMENT Charge ( ChargeOption ) -- bank charges -- >

<!ELEMENT ChargeOption ( #PCDATA ) -- "BEN", "SHA", "OUR"; cost bearer: BEN=beneficiary, SHA=shared cost, OUR=ordering customer -- >

<!ELEMENT StatisticalInfo ( StatisticalCode ) >

<!ELEMENT StatisticalCode ( #PCDATA ) -- (A3) title code -- >