ConvertFixRecordToCsvPreParser
|
Configuration file |
./conf/samples/sample_split_fix2csv.xml |
|
Class name |
com.ebd.hub.datawizard.parser.ConvertFixRecordToCsvPreParser |
Description
This preparser transforms a fix record file into a CSV file (only one line is kept in the main memory at any given time).
The preparser expects an XML configuration file (see example below). The following parameters can be used.
|
config |
Element |
Superordinate element of the XML configuration file. |
|
length |
Attribute of element config |
Lines of the fix record file are expected to be separated by line breaks for attribute value -1. Positive integer values describe the length of the line. |
|
delim |
Attribute of element config |
The delimiter that is used in the created CSV file. |
|
segment |
Element |
For each record type in the fix record file, there has to be an XML element segment that describes the fields. |
|
matchcode |
Attribute of element segment |
Can be empty (all lines match) or specifies, if not empty, the match code like "Starts with" does in nodes (e.g. matchcode="123" ). Alternatively, a regular expression can be specified (e.g. matchcode="regex:123.*"). |
|
insert |
Attribute of element segment |
Is optional and can fill a new first column in the CSV file with a constant. The attribute can, for example, be used to insert a match code in CSV lines. |
|
column |
Sub-element of element segment |
Describes a field of the record type specified in the superordinate element segment. The order of the column elements is considered. |
|
length |
Attribute of element column |
The length of the field in the record type (line). |
|
trim |
Attribute of element column |
true or false. Specifies if leading or trailing whitespaces in the fix record field shall be removed in the CSV field. |
|
type |
Attribute of element column |
Specifies the data type of the CSV field (as in target field attribute Type in the GUI). Values can be Integer, Float, Double, String, Date, Timestamp, BigInt, or BigDecimal. |
|
format |
Attribute of element column |
Specifies the format of the CSV field (as in target field attribute Template in the GUI). |
Example
We want to transform the fix record line
|
001Hello world 110915 |
into the CSV line
|
A;1;Hello World;2015-09-11 |
This can be achieved with the following XML configuration file:
<?xml version="1.0" encoding="ISO-8859-1"?><config length="-1" delim=";"> <segment matchcode="" insert="A"> <column length="3" trim="false" type="Integer" /> <column length="12" trim="true" type="String"/> <column length="6" trim="false" type="Date" format="ddMMyy" /> </segment></config>Note: Notice the type cast from String "001" to Integer "1" and String "110915" to Date "2015-09-11", as it would be done in mappings.
Example file in roll-out
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- length = -1: new line is used. Otherwise define length of record delim: which delimiter should be used--><config length="-1" delim=";"><!-- matchcode: check if line 'starts with' or use regular expression by matchcode="regex:...." insert: if not empty, this value will be added as first column--> <segment matchcode="" insert="A"> <column length="10" trim="true" type="String" /> <column length="10" trim="false" type="String" format="" /> <column length="2" trim="false" type="Integer" format="" /> <column length="2" trim="false" type="Integer" format="N6.2" /> <column length="8" trim="false" type="Date" format="ddMMyyyy" /> </segment></config>