public void export(String xmlPath, String outPath, boolean isZip) {

    String adminPath = rootPath + sep + "administrator" + sep;
    String outFolder = outPath + sep + MyCommonMethods.getFileName(xmlPath, ".");

    // copy the xml also to create the path
    MyCommonMethods.deleteDir(outFolder + sep, null);
    MyCommonMethods.copyFileOrFolder(
        xmlPath, outFolder + sep + MyCommonMethods.getFullFileName(xmlPath), "");
    if ((new File(outFolder)).exists()) {
      if (extClient != null) {
        if (extClient.equalsIgnoreCase("administrator")) {
          processXml(adminPath, outFolder + sep, true);
        } else {
          processXml(rootPath + sep, outFolder + sep, false);
        }
      } else {
        processXml(adminPath, outFolder + sep, true);
        processXml(rootPath + sep, outFolder + sep, false);
      }
    }
    // XXX to speed up
    exportTables(outFolder + sep);

    if (isZip) {
      MyCommonMethods.zipFolder(outFolder, outFolder + ".zip");
      MyCommonMethods.deleteDir(outFolder, null);
    }
  }