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 the following three values are shown in the schema: linesequential, fixedwidth, and delimited.

Note: If you enter "custom" for the LineSeparator, FieldSeparator or TextQualifier fields, a corresponding custom element must also be included (for example, "CustomLineSeparator", "CustomFieldSeparator", or "CustomTextQualifier") with a hexadecimal number representing the character, or sequence of characters, to use.
<?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="unix"/>
      <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>