El archivo de configuración de definición de archivos

Un archivo de configuración de definición de archivos contiene el diseño de archivo, la codificación y las opciones de orden que se han exportado de una etapa Read from File o Write to File. Este archivo puede importarse a Read from File o Write to File para configurar rápidamente las opciones de la etapa en lugar de tener que especificar las opciones manualmente.

La forma más fácil de crear un archivo de configuración de definición de archivos es usar Read from File o Write to File para especificar la configuración del archivo, y luego hacer clic en el botón Exportar para generar el archivo.

No obstante, a título informativo, a continuación se muestra el esquema del archivo de configuración de definición de archivos. Cada elemento de un archivo XML tiene un tipo de dato, y, si ese tipo no es string o integer, se muestran los valores aceptables. Estos valores se corresponden directamente con las opciones del cuadro de diálogo de la etapa. Por ejemplo, el elemento FileTypeEnum corresponde al campo Tipo de registro de la ficha Propiedades del archivo, y los siguientes tres valores se muestran en el esquema: linesequential, fixedwidth, y delimited.

Nota: Si usted ingresa "custom" en los campos LineSeparator, FieldSeparator o TextQualifier, también debe incluir un elemento custom correspondiente (por ejemplo, "CustomLineSeparator", "CustomFieldSeparator" o "CustomTextQualifier") con un número hexadecimal que represente el carácter, o secuencia de caracteres, que se utilizará.
<?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>