public String getXML() {
    StringBuffer retval = new StringBuffer(800);

    retval.append("    ").append(XMLHandler.addTagValue("separator", separator));
    retval.append("    ").append(XMLHandler.addTagValue("enclosure", enclosure));
    retval.append("    ").append(XMLHandler.addTagValue("enclosure_forced", enclosureForced));
    retval
        .append("    ")
        .append(XMLHandler.addTagValue("enclosure_fix_disabled", disableEnclosureFix));
    retval.append("    ").append(XMLHandler.addTagValue("header", headerEnabled));
    retval.append("    ").append(XMLHandler.addTagValue("footer", footerEnabled));
    retval.append("    ").append(XMLHandler.addTagValue("format", fileFormat));
    retval.append("    ").append(XMLHandler.addTagValue("compression", fileCompression));
    retval.append("    ").append(XMLHandler.addTagValue("encoding", encoding));
    retval.append("    ").append(XMLHandler.addTagValue("endedLine", endedLine));
    retval.append("    " + XMLHandler.addTagValue("fileNameInField", fileNameInField));
    retval.append("    " + XMLHandler.addTagValue("fileNameField", fileNameField));
    retval.append("    " + XMLHandler.addTagValue("create_parent_folder", createparentfolder));
    retval.append("    <file>").append(Const.CR);
    saveSource(retval, fileName);
    retval.append("      ").append(XMLHandler.addTagValue("is_command", fileAsCommand));
    retval.append("      ").append(XMLHandler.addTagValue("servlet_output", servletOutput));
    retval
        .append("      ")
        .append(XMLHandler.addTagValue("do_not_open_new_file_init", doNotOpenNewFileInit));
    retval.append("      ").append(XMLHandler.addTagValue("extention", extension));
    retval.append("      ").append(XMLHandler.addTagValue("append", fileAppended));
    retval.append("      ").append(XMLHandler.addTagValue("split", stepNrInFilename));
    retval.append("      ").append(XMLHandler.addTagValue("haspartno", partNrInFilename));
    retval.append("      ").append(XMLHandler.addTagValue("add_date", dateInFilename));
    retval.append("      ").append(XMLHandler.addTagValue("add_time", timeInFilename));
    retval.append("      ").append(XMLHandler.addTagValue("SpecifyFormat", specifyingFormat));
    retval.append("      ").append(XMLHandler.addTagValue("date_time_format", dateTimeFormat));

    retval
        .append("      ")
        .append(XMLHandler.addTagValue("add_to_result_filenames", addToResultFilenames));
    retval.append("      ").append(XMLHandler.addTagValue("pad", padded));
    retval.append("      ").append(XMLHandler.addTagValue("fast_dump", fastDump));
    retval.append("      ").append(XMLHandler.addTagValue("splitevery", splitEvery));
    retval.append("    </file>").append(Const.CR);

    retval.append("    <fields>").append(Const.CR);
    for (int i = 0; i < outputFields.length; i++) {
      TextFileField field = outputFields[i];

      if (field.getName() != null && field.getName().length() != 0) {
        retval.append("      <field>").append(Const.CR);
        retval.append("        ").append(XMLHandler.addTagValue("name", field.getName()));
        retval.append("        ").append(XMLHandler.addTagValue("type", field.getTypeDesc()));
        retval.append("        ").append(XMLHandler.addTagValue("format", field.getFormat()));
        retval
            .append("        ")
            .append(XMLHandler.addTagValue("currency", field.getCurrencySymbol()));
        retval
            .append("        ")
            .append(XMLHandler.addTagValue("decimal", field.getDecimalSymbol()));
        retval
            .append("        ")
            .append(XMLHandler.addTagValue("group", field.getGroupingSymbol()));
        retval.append("        ").append(XMLHandler.addTagValue("nullif", field.getNullString()));
        retval
            .append("        ")
            .append(XMLHandler.addTagValue("trim_type", field.getTrimTypeCode()));
        retval.append("        ").append(XMLHandler.addTagValue("length", field.getLength()));
        retval.append("        ").append(XMLHandler.addTagValue("precision", field.getPrecision()));
        retval.append("      </field>").append(Const.CR);
      }
    }
    retval.append("    </fields>").append(Const.CR);

    return retval.toString();
  }