The File Definition Settings File
A file definition settings file contains the file layout, encoding, and sort options that have been exported from a Read from File or Write to File stage. The file definitions settings file can be imported into Read from File or Write to File to quickly set the stage's options instead of manually specifying the options.
The easiest way to create a file definition settings file is to use specify the file settings using Read from File or Write to File, then click the Export button to generate the file definitions settings file.
However, for your information the schema of the file definition settings file is shown below. Each element in the XML file has a type, and if that type is anything other than string or integer, the acceptable values are shown. These values correspond directly to options in the stage's dialog box. For example, the FileTypeEnum element corresponds to the Record Type field on the File Properties tab, and these values appear in the schema: linesequential, fixedwidth, and delimited.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="FileSchema" nillable="true" type="FileSchema"/>
<xs:complexType name="FileSchema">
<xs:sequence>
<xs:element
minOccurs="0"
maxOccurs="1"
default="linesequential"
name="Type"
type="FileTypeEnum"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="UTF-8" name="Encoding" type="xs:string"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="RecordLength"
type="xs:int"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="default"
name="LineSeparator"
type="LineSeparatorEnum"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="CustomLineSeparator"
type="xs:string"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="comma"
name="FieldSeparator"
type="FieldSeparatorEnum"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="CustomFieldSeparator"
type="xs:string"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="none"
name="TextQualifier"
type="TextQualifierEnum"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="CustomTextQualifier"
type="xs:string"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="false"
name="HasHeader"
type="xs:boolean"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="true"
name="EnforceColumnCount"
type="xs:boolean"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="Fields"
type="ArrayOfFieldSchema"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="FileTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="linesequential"/>
<xs:enumeration value="fixedwidth"/>
<xs:enumeration value="delimited"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LineSeparatorEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="default"/>
<xs:enumeration value="windows"/>
<xs:enumeration value="linux"/>
<xs:enumeration value="mac"/>
<xs:enumeration value="custom"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FieldSeparatorEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="comma"/>
<xs:enumeration value="tab"/>
<xs:enumeration value="space"/>
<xs:enumeration value="semicolon"/>
<xs:enumeration value="period"/>
<xs:enumeration value="pipe"/>
<xs:enumeration value="custom"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TextQualifierEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="none"/>
<xs:enumeration value="single"/>
<xs:enumeration value="double"/>
<xs:enumeration value="custom"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ArrayOfFieldSchema">
<xs:sequence>
<xs:element
minOccurs="0"
maxOccurs="unbounded"
name="Field"
nillable="true"
type="FieldSchema"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FieldSchema">
<xs:sequence>
<xs:element
minOccurs="0"
maxOccurs="1"
name="Name"
type="xs:string"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="string"
name="Type"
type="xs:string"/>
<xs:element
minOccurs="1"
maxOccurs="1"
name="Position"
type="xs:int"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="Length"
type="xs:int"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="false"
name="Trim"
type="xs:boolean"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="Locale"
type="Locale"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="Pattern"
type="xs:string"/>
<xs:element
minOccurs="0"
maxOccurs="1"
default="none"
name="Order"
type="SortOrderEnum"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Locale">
<xs:sequence>
<xs:element
minOccurs="0"
maxOccurs="1"
name="Country"
type="xs:string"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="Language"
type="xs:string"/>
<xs:element
minOccurs="0"
maxOccurs="1"
name="Variant"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="SortOrderEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="none"/>
<xs:enumeration value="ascending"/>
<xs:enumeration value="descending"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>