Example usage for org.dom4j Element setContent

List of usage examples for org.dom4j Element setContent

Introduction

In this page you can find the example usage for org.dom4j Element setContent.

Prototype

void setContent(List<Node> content);

Source Link

Document

Sets the contents of this branch as a List of Node instances.

Usage

From source file:com.chingo247.structureapi.plan.document.DocumentPluginElement.java

public void setList(String listName, List<IStructurePlanElement> elements) {
    // Get the list Element
    Element e = (Element) pluginElement.selectSingleNode(listName);

    // If we found the element and the new value was null or an empty list.
    // Delete the element
    if (e != null && (elements == null || elements.isEmpty())) {
        e.detach();// w w w .ja  v  a  2s . c  o  m
        return;
    }

    if (e == null) {
        pluginElement.add(new BaseElement(listName));
        e = (Element) pluginElement.selectSingleNode(listName);
    }

    e.clearContent();

    //
    List<Element> toElements = new LinkedList<>();
    for (IStructurePlanElement se : elements) {
        toElements.add(se.asElement());
    }
    e.setContent(toElements);
}

From source file:com.chingo247.structureapi.plan.document.PlanDocument.java

License:Open Source License

@Override
protected void save(PlanDocumentPluginElement element) {
    Element e = (Element) document.getRootElement().selectSingleNode(element.pluginName);
    e.clearContent();//from   w w w. j  a v  a2s. co  m
    e.setContent(element.pluginElement.elements());
    documentManager.save(element);
}

From source file:com.globalsight.everest.tm.util.ttx.TtxToTmx.java

License:Apache License

/**
 * Creates new elements for TU and TUV with lowercase names by
 * constructing new elements and inserting them in place of the
 * old ones./*from  ww  w.  j  av a2s  .c  om*/
 */
private Element lowercaseElements(Element p_tu) {
    Element tu = m_factory.createElement("tu");
    tu.setAttributes(p_tu.attributes());

    List tuvs = p_tu.selectNodes("//Tuv");

    for (int i = 0, max = tuvs.size(); i < max; i++) {
        Element tuv = (Element) tuvs.get(i);
        // Detach the TUV or else TUVs will accumulate on
        // subsequent TUs (sic!).
        tuv.detach();

        Element newTuv = m_factory.createElement("tuv");
        newTuv.setAttributes(tuv.attributes());
        newTuv.setContent(tuv.content());

        tu.add(newTuv);
    }

    return tu;
}

From source file:com.globalsight.everest.tm.util.ttx.TtxToTmx.java

License:Apache License

/**
 * Wraps textual content of TTX TUVs inside TMX &lt;seg&gt;.
 *///  w  ww . j  av a  2s  . co m
private void addSegElement(Element p_tu) {
    ArrayList newTuvs = new ArrayList();
    List tuvs = p_tu.selectNodes(".//tuv");

    for (int i = 0, max = tuvs.size(); i < max; i++) {
        Element tuv = (Element) tuvs.get(i);

        Element seg = m_factory.createElement("seg");
        seg.setContent(tuv.content());
        tuv.content().clear();
        tuv.add(seg);
    }
}

From source file:com.webarch.common.io.xml.XMLEditor.java

License:Apache License

public void insertElement(final Element parent, final Node child, int index) {
    final List childs = new ArrayList();
    for (int i = 0; i < parent.nodeCount(); i++) {
        childs.add(parent.node(i));// www .j a  v a  2  s  . c  o m
    }
    childs.add(index, child);
    parent.setContent(childs);
}

From source file:de.codecentric.multitool.xml.XmlLibrary.java

License:Apache License

/**
 * Sortiert Elemente eines Xml-Documents.
 * // w w  w  .  j  a v a2s  . com
 * Der erste XPath-Ausdruck liefert die zu sortierende Elementliste, 
 * die alle das gleiche Eltern-Element haben mssen.
 * Der zweite XPath-Ausdruck liefert den Wert nach dem sortiert werden soll.
 * 
 * Beispiel:
 * | Sort Xml Nodes | ${xmlDoc} | //Row | @id |
 */
public void sortXmlNodes(Document document, String expression, String comparator) {
    if (isXPathEpression(expression) && isXPathEpression(comparator)) {
        List<?> nodes = document.selectNodes(getXPath(expression), getXPath(comparator));
        Element parent = null;
        for (Object o : nodes) {
            if (o instanceof Element) {
                if (parent == null) {
                    parent = ((Element) o).getParent();
                }
                ((Element) o).detach();
            }
        }
        parent.setContent(nodes);

    } else {
        throw new IllegalArgumentException("Unbekannter selector: " + expression);
    }
}

From source file:epa_eds.epa_prototype_0_1.EPA_Prototype.java

License:Apache License

public void tFileInputExcel_2Process(final java.util.Map<String, Object> globalMap) throws TalendException {
    globalMap.put("tFileInputExcel_2_SUBPROCESS_STATE", 0);

    final boolean execStat = this.execStat;
    String currentVirtualComponent = null;

    String iterateId = "";

    String currentComponent = "";
    java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();

    try {//from   w ww. j  a v a2  s .  c  om

        String currentMethodName = new java.lang.Exception().getStackTrace()[0].getMethodName();
        boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
        if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
            // the
            // resume
            globalResumeTicket = true;

            tFileInputExcel_1Process(globalMap);
            tFileInputExcel_3Process(globalMap);
            tFileInputExcel_4Process(globalMap);
            tFileInputExcel_5Process(globalMap);

            row1Struct row1 = new row1Struct();
            row7Struct row7 = new row7Struct();
            FLIGHT_OutStruct FLIGHT_Out = new FLIGHT_OutStruct();
            final_outputStruct final_output = new final_outputStruct();
            row11Struct row11 = new row11Struct();

            /**
             * [tAggregateRow_2_AGGOUT begin ] start
             */

            ok_Hash.put("tAggregateRow_2_AGGOUT", false);
            start_Hash.put("tAggregateRow_2_AGGOUT", System.currentTimeMillis());

            currentVirtualComponent = "tAggregateRow_2";

            currentComponent = "tAggregateRow_2_AGGOUT";

            int tos_count_tAggregateRow_2_AGGOUT = 0;

            // ------------

            java.util.Map hashAggreg_tAggregateRow_2 = new java.util.HashMap();

            // ------------

            class UtilClass_tAggregateRow_2 { // G_OutBegin_AggR_144

                public double sd(Double[] data) {
                    final int n = data.length;
                    if (n < 2) {
                        return Double.NaN;
                    }
                    double d1 = 0d;
                    double d2 = 0d;

                    for (int i = 0; i < data.length; i++) {
                        d1 += (data[i] * data[i]);
                        d2 += data[i];
                    }

                    return Math.sqrt((n * d1 - d2 * d2) / n / (n - 1));
                }

                public void checkedIADD(byte a, byte b, boolean checkTypeOverFlow, boolean checkUlp) {
                    byte r = (byte) (a + b);
                    if (checkTypeOverFlow && ((a ^ r) & (b ^ r)) < 0) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'short/Short'", "'int/Integer'"));
                    }
                }

                public void checkedIADD(short a, short b, boolean checkTypeOverFlow, boolean checkUlp) {
                    short r = (short) (a + b);
                    if (checkTypeOverFlow && ((a ^ r) & (b ^ r)) < 0) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'int/Integer'", "'short/Short'"));
                    }
                }

                public void checkedIADD(int a, int b, boolean checkTypeOverFlow, boolean checkUlp) {
                    int r = a + b;
                    if (checkTypeOverFlow && ((a ^ r) & (b ^ r)) < 0) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'long/Long'", "'int/Integer'"));
                    }
                }

                public void checkedIADD(long a, long b, boolean checkTypeOverFlow, boolean checkUlp) {
                    long r = a + b;
                    if (checkTypeOverFlow && ((a ^ r) & (b ^ r)) < 0) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'BigDecimal'", "'long/Long'"));
                    }
                }

                public void checkedIADD(float a, float b, boolean checkTypeOverFlow, boolean checkUlp) {

                    if (checkUlp) {
                        float minAddedValue = Math.ulp(a);
                        if (minAddedValue > Math.abs(b)) {
                            throw new RuntimeException(buildPrecisionMessage(String.valueOf(a),
                                    String.valueOf(b), "'double' or 'BigDecimal'", "'float/Float'"));
                        }
                    }

                    if (checkTypeOverFlow && ((double) a + (double) b > (double) Float.MAX_VALUE)
                            || ((double) a + (double) b < (double) -Float.MAX_VALUE)) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'double' or 'BigDecimal'", "'float/Float'"));
                    }
                }

                public void checkedIADD(double a, double b, boolean checkTypeOverFlow, boolean checkUlp) {

                    if (checkUlp) {
                        double minAddedValue = Math.ulp(a);
                        if (minAddedValue > Math.abs(b)) {
                            throw new RuntimeException(buildPrecisionMessage(String.valueOf(a),
                                    String.valueOf(a), "'BigDecimal'", "'double/Double'"));
                        }
                    }

                    if (checkTypeOverFlow && (a + b > (double) Double.MAX_VALUE)
                            || (a + b < -Double.MAX_VALUE)) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'BigDecimal'", "'double/Double'"));
                    }
                }

                public void checkedIADD(double a, byte b, boolean checkTypeOverFlow, boolean checkUlp) {

                    if (checkTypeOverFlow && (a + b > (double) Double.MAX_VALUE)
                            || (a + b < -Double.MAX_VALUE)) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'BigDecimal'", "'double/Double'"));
                    }
                }

                public void checkedIADD(double a, short b, boolean checkTypeOverFlow, boolean checkUlp) {

                    if (checkTypeOverFlow && (a + b > (double) Double.MAX_VALUE)
                            || (a + b < -Double.MAX_VALUE)) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'BigDecimal'", "'double/Double'"));
                    }
                }

                public void checkedIADD(double a, int b, boolean checkTypeOverFlow, boolean checkUlp) {

                    if (checkTypeOverFlow && (a + b > (double) Double.MAX_VALUE)
                            || (a + b < -Double.MAX_VALUE)) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'BigDecimal'", "'double/Double'"));
                    }
                }

                public void checkedIADD(double a, float b, boolean checkTypeOverFlow, boolean checkUlp) {

                    if (checkUlp) {
                        double minAddedValue = Math.ulp(a);
                        if (minAddedValue > Math.abs(b)) {
                            throw new RuntimeException(buildPrecisionMessage(String.valueOf(a),
                                    String.valueOf(a), "'BigDecimal'", "'double/Double'"));
                        }
                    }

                    if (checkTypeOverFlow && (a + b > (double) Double.MAX_VALUE)
                            || (a + b < -Double.MAX_VALUE)) {
                        throw new RuntimeException(buildOverflowMessage(String.valueOf(a), String.valueOf(b),
                                "'BigDecimal'", "'double/Double'"));
                    }
                }

                private String buildOverflowMessage(String a, String b, String advicedTypes,
                        String originalType) {
                    return "Type overflow when adding " + b + " to " + a
                            + ", to resolve this problem, increase the precision by using " + advicedTypes
                            + " type in place of " + originalType + ".";
                }

                private String buildPrecisionMessage(String a, String b, String advicedTypes,
                        String originalType) {
                    return "The double precision is unsufficient to add the value " + b + " to " + a
                            + ", to resolve this problem, increase the precision by using " + advicedTypes
                            + " type in place of " + originalType + ".";
                }

            } // G_OutBegin_AggR_144

            UtilClass_tAggregateRow_2 utilClass_tAggregateRow_2 = new UtilClass_tAggregateRow_2();

            class AggOperationStruct_tAggregateRow_2 { // G_OutBegin_AggR_100

                private static final int DEFAULT_HASHCODE = 1;
                private static final int PRIME = 31;
                private int hashCode = DEFAULT_HASHCODE;
                public boolean hashCodeDirty = true;

                Integer reporting_year;
                String state;
                BigDecimal ghg_quantity_sum;

                @Override
                public int hashCode() {
                    if (this.hashCodeDirty) {
                        final int prime = PRIME;
                        int result = DEFAULT_HASHCODE;

                        result = prime * result
                                + ((this.reporting_year == null) ? 0 : this.reporting_year.hashCode());

                        result = prime * result + ((this.state == null) ? 0 : this.state.hashCode());

                        this.hashCode = result;
                        this.hashCodeDirty = false;
                    }
                    return this.hashCode;
                }

                @Override
                public boolean equals(Object obj) {
                    if (this == obj)
                        return true;
                    if (obj == null)
                        return false;
                    if (getClass() != obj.getClass())
                        return false;
                    final AggOperationStruct_tAggregateRow_2 other = (AggOperationStruct_tAggregateRow_2) obj;

                    if (this.reporting_year == null) {
                        if (other.reporting_year != null)
                            return false;
                    } else if (!this.reporting_year.equals(other.reporting_year))
                        return false;

                    if (this.state == null) {
                        if (other.state != null)
                            return false;
                    } else if (!this.state.equals(other.state))
                        return false;

                    return true;
                }

            } // G_OutBegin_AggR_100

            AggOperationStruct_tAggregateRow_2 operation_result_tAggregateRow_2 = null;
            AggOperationStruct_tAggregateRow_2 operation_finder_tAggregateRow_2 = new AggOperationStruct_tAggregateRow_2();
            java.util.Map<AggOperationStruct_tAggregateRow_2, AggOperationStruct_tAggregateRow_2> hash_tAggregateRow_2 = new java.util.HashMap<AggOperationStruct_tAggregateRow_2, AggOperationStruct_tAggregateRow_2>();

            /**
             * [tAggregateRow_2_AGGOUT begin ] stop
             */

            /**
             * [tFileInputExcel_2 begin ] start
             */

            ok_Hash.put("tFileInputExcel_2", false);
            start_Hash.put("tFileInputExcel_2", System.currentTimeMillis());

            currentComponent = "tFileInputExcel_2";

            int tos_count_tFileInputExcel_2 = 0;

            class RegexUtil_tFileInputExcel_2 {

                public java.util.List<jxl.Sheet> getSheets(jxl.Workbook workbook, String oneSheetName,
                        boolean useRegex) {

                    java.util.List<jxl.Sheet> list = new java.util.ArrayList<jxl.Sheet>();

                    if (useRegex) {// this part process the regex issue

                        jxl.Sheet[] sheets = workbook.getSheets();
                        java.util.regex.Pattern pattern = java.util.regex.Pattern.compile(oneSheetName);
                        for (int i = 0; i < sheets.length; i++) {
                            String sheetName = sheets[i].getName();
                            java.util.regex.Matcher matcher = pattern.matcher(sheetName);
                            if (matcher.matches()) {
                                jxl.Sheet sheet = workbook.getSheet(sheetName);
                                if (sheet != null) {
                                    list.add(sheet);
                                }
                            }
                        }

                    } else {
                        jxl.Sheet sheet = workbook.getSheet(oneSheetName);
                        if (sheet != null) {
                            list.add(sheet);
                        }

                    }

                    return list;
                }

                public java.util.List<jxl.Sheet> getSheets(jxl.Workbook workbook, int index, boolean useRegex) {
                    java.util.List<jxl.Sheet> list = new java.util.ArrayList<jxl.Sheet>();
                    jxl.Sheet sheet = workbook.getSheet(index);
                    if (sheet != null) {
                        list.add(sheet);
                    }
                    return list;
                }

            }

            RegexUtil_tFileInputExcel_2 regexUtil_tFileInputExcel_2 = new RegexUtil_tFileInputExcel_2();
            final jxl.WorkbookSettings workbookSettings_tFileInputExcel_2 = new jxl.WorkbookSettings();
            workbookSettings_tFileInputExcel_2.setDrawingsDisabled(true);
            workbookSettings_tFileInputExcel_2.setEncoding("ISO-8859-15");

            Object source_tFileInputExcel_2 = context.recv_dir + "/FLIGHT 2011 Power Plant Extract.xls";
            final jxl.Workbook workbook_tFileInputExcel_2;

            java.io.InputStream toClose_tFileInputExcel_2 = null;
            java.io.BufferedInputStream buffIStreamtFileInputExcel_2 = null;
            try {
                if (source_tFileInputExcel_2 instanceof java.io.InputStream) {
                    toClose_tFileInputExcel_2 = (java.io.InputStream) source_tFileInputExcel_2;
                    buffIStreamtFileInputExcel_2 = new java.io.BufferedInputStream(toClose_tFileInputExcel_2);
                    workbook_tFileInputExcel_2 = jxl.Workbook.getWorkbook(buffIStreamtFileInputExcel_2,
                            workbookSettings_tFileInputExcel_2);
                } else if (source_tFileInputExcel_2 instanceof String) {
                    toClose_tFileInputExcel_2 = new java.io.FileInputStream(
                            source_tFileInputExcel_2.toString());
                    buffIStreamtFileInputExcel_2 = new java.io.BufferedInputStream(toClose_tFileInputExcel_2);
                    workbook_tFileInputExcel_2 = jxl.Workbook.getWorkbook(buffIStreamtFileInputExcel_2,
                            workbookSettings_tFileInputExcel_2);
                } else {
                    workbook_tFileInputExcel_2 = null;
                    throw new java.lang.Exception(
                            "The data source should be specified as Inputstream or File Path!");
                }
            } finally {
                try {
                    if (buffIStreamtFileInputExcel_2 != null) {
                        buffIStreamtFileInputExcel_2.close();
                    }
                } catch (Exception e) {
                }
            }
            try {
                java.util.List<jxl.Sheet> sheetList_tFileInputExcel_2 = new java.util.ArrayList<jxl.Sheet>();
                sheetList_tFileInputExcel_2.addAll(regexUtil_tFileInputExcel_2
                        .getSheets(workbook_tFileInputExcel_2, "FLIGHT Facilities and GHG Quant", false));
                if (sheetList_tFileInputExcel_2.size() <= 0) {
                    throw new RuntimeException("Special sheets not exist!");
                }

                java.util.List<jxl.Sheet> sheet_FilterNullList_tFileInputExcel_2 = new java.util.ArrayList<jxl.Sheet>();
                for (jxl.Sheet sheet_FilterNull_tFileInputExcel_2 : sheetList_tFileInputExcel_2) {
                    if (sheet_FilterNull_tFileInputExcel_2.getRows() > 0) {
                        sheet_FilterNullList_tFileInputExcel_2.add(sheet_FilterNull_tFileInputExcel_2);
                    }
                }
                sheetList_tFileInputExcel_2 = sheet_FilterNullList_tFileInputExcel_2;
                if (sheetList_tFileInputExcel_2.size() > 0) {
                    int nb_line_tFileInputExcel_2 = 0;

                    int begin_line_tFileInputExcel_2 = 6;

                    int footer_input_tFileInputExcel_2 = 0;

                    int end_line_tFileInputExcel_2 = 0;
                    for (jxl.Sheet sheet_tFileInputExcel_2 : sheetList_tFileInputExcel_2) {
                        end_line_tFileInputExcel_2 += sheet_tFileInputExcel_2.getRows();
                    }
                    end_line_tFileInputExcel_2 -= footer_input_tFileInputExcel_2;
                    int limit_tFileInputExcel_2 = -1;
                    int start_column_tFileInputExcel_2 = 1 - 1;
                    int end_column_tFileInputExcel_2 = sheetList_tFileInputExcel_2.get(0).getColumns();
                    jxl.Cell[] row_tFileInputExcel_2 = null;
                    jxl.Sheet sheet_tFileInputExcel_2 = sheetList_tFileInputExcel_2.get(0);
                    int rowCount_tFileInputExcel_2 = 0;
                    int sheetIndex_tFileInputExcel_2 = 0;
                    int currentRows_tFileInputExcel_2 = sheetList_tFileInputExcel_2.get(0).getRows();

                    // for the number format
                    java.text.DecimalFormat df_tFileInputExcel_2 = new java.text.DecimalFormat(
                            "#.####################################");
                    char separatorChar_tFileInputExcel_2 = df_tFileInputExcel_2.getDecimalFormatSymbols()
                            .getDecimalSeparator();

                    for (int i_tFileInputExcel_2 = begin_line_tFileInputExcel_2; i_tFileInputExcel_2 < end_line_tFileInputExcel_2; i_tFileInputExcel_2++) {

                        int emptyColumnCount_tFileInputExcel_2 = 0;

                        if (limit_tFileInputExcel_2 != -1
                                && nb_line_tFileInputExcel_2 >= limit_tFileInputExcel_2) {
                            break;
                        }

                        while (i_tFileInputExcel_2 >= rowCount_tFileInputExcel_2
                                + currentRows_tFileInputExcel_2) {
                            rowCount_tFileInputExcel_2 += currentRows_tFileInputExcel_2;
                            sheet_tFileInputExcel_2 = sheetList_tFileInputExcel_2
                                    .get(++sheetIndex_tFileInputExcel_2);
                            currentRows_tFileInputExcel_2 = sheet_tFileInputExcel_2.getRows();
                        }
                        if (rowCount_tFileInputExcel_2 <= i_tFileInputExcel_2) {
                            row_tFileInputExcel_2 = sheet_tFileInputExcel_2
                                    .getRow(i_tFileInputExcel_2 - rowCount_tFileInputExcel_2);
                        }
                        globalMap.put("tFileInputExcel_2_CURRENT_SHEET", sheet_tFileInputExcel_2.getName());
                        row1 = null;
                        int tempRowLength_tFileInputExcel_2 = 13;

                        int columnIndex_tFileInputExcel_2 = 0;

                        //
                        // end%>

                        String[] temp_row_tFileInputExcel_2 = new String[tempRowLength_tFileInputExcel_2];
                        int actual_end_column_tFileInputExcel_2 = end_column_tFileInputExcel_2 > row_tFileInputExcel_2.length
                                ? row_tFileInputExcel_2.length
                                : end_column_tFileInputExcel_2;
                        for (int i = 0; i < tempRowLength_tFileInputExcel_2; i++) {

                            if (i + start_column_tFileInputExcel_2 < actual_end_column_tFileInputExcel_2) {

                                jxl.Cell cell_tFileInputExcel_2 = row_tFileInputExcel_2[i
                                        + start_column_tFileInputExcel_2];
                                temp_row_tFileInputExcel_2[i] = cell_tFileInputExcel_2.getContents();

                            } else {
                                temp_row_tFileInputExcel_2[i] = "";
                            }
                        }

                        boolean whetherReject_tFileInputExcel_2 = false;
                        row1 = new row1Struct();
                        int curColNum_tFileInputExcel_2 = -1;
                        String curColName_tFileInputExcel_2 = "";
                        try {
                            columnIndex_tFileInputExcel_2 = 0;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "reporting_year";
                                row1.reporting_year = ParserUtils.parseTo_Integer(
                                        temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2]);
                            } else {
                                row1.reporting_year = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 1;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "facility_name";
                                row1.facility_name = temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2];
                            } else {
                                row1.facility_name = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 2;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "ghgrp_id";
                                row1.ghgrp_id = ParserUtils.parseTo_Integer(
                                        temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2]);
                            } else {
                                row1.ghgrp_id = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 3;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "reported_address";
                                row1.reported_address = temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2];
                            } else {
                                row1.reported_address = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 4;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "latitude";
                                row1.latitude = ParserUtils.parseTo_Float(
                                        temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2]);
                            } else {
                                row1.latitude = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 5;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "longitude";
                                row1.longitude = ParserUtils.parseTo_Float(
                                        temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2]);
                            } else {
                                row1.longitude = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 6;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "city_name";
                                row1.city_name = temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2];
                            } else {
                                row1.city_name = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 7;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "county_name";
                                row1.county_name = temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2];
                            } else {
                                row1.county_name = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 8;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "state";
                                row1.state = temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2];
                            } else {
                                row1.state = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 9;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "zip";
                                row1.zip = temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2];
                            } else {
                                row1.zip = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 10;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "parent_companies";
                                row1.parent_companies = temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2];
                            } else {
                                row1.parent_companies = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 11;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "ghg_quantity";
                                row1.ghg_quantity = ParserUtils.parseTo_BigDecimal(
                                        temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2]);
                            } else {
                                row1.ghg_quantity = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            columnIndex_tFileInputExcel_2 = 12;

                            if (temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2].length() > 0) {
                                curColNum_tFileInputExcel_2 = columnIndex_tFileInputExcel_2
                                        + start_column_tFileInputExcel_2 + 1;
                                curColName_tFileInputExcel_2 = "sub_parts";
                                row1.sub_parts = temp_row_tFileInputExcel_2[columnIndex_tFileInputExcel_2];
                            } else {
                                row1.sub_parts = null;
                                emptyColumnCount_tFileInputExcel_2++;
                            }
                            nb_line_tFileInputExcel_2++;

                        } catch (java.lang.Exception e) {
                            whetherReject_tFileInputExcel_2 = true;
                            System.err.println(e.getMessage());
                            row1 = null;
                        }

                        /**
                         * [tFileInputExcel_2 begin ] stop
                         */

                        /**
                         * [tFileInputExcel_2 main ] start
                         */

                        currentComponent = "tFileInputExcel_2";

                        tos_count_tFileInputExcel_2++;

                        /**
                         * [tFileInputExcel_2 main ] stop
                         */
                        // Start of branch "row1"
                        if (row1 != null) {

                            /**
                             * [tAggregateRow_2_AGGOUT main ] start
                             */

                            currentVirtualComponent = "tAggregateRow_2";

                            currentComponent = "tAggregateRow_2_AGGOUT";

                            operation_finder_tAggregateRow_2.reporting_year = row1.reporting_year;
                            operation_finder_tAggregateRow_2.state = row1.state;

                            operation_finder_tAggregateRow_2.hashCodeDirty = true;

                            operation_result_tAggregateRow_2 = hash_tAggregateRow_2
                                    .get(operation_finder_tAggregateRow_2);

                            if (operation_result_tAggregateRow_2 == null) { // G_OutMain_AggR_001

                                operation_result_tAggregateRow_2 = new AggOperationStruct_tAggregateRow_2();

                                operation_result_tAggregateRow_2.reporting_year = operation_finder_tAggregateRow_2.reporting_year;
                                operation_result_tAggregateRow_2.state = operation_finder_tAggregateRow_2.state;

                                hash_tAggregateRow_2.put(operation_result_tAggregateRow_2,
                                        operation_result_tAggregateRow_2);

                            } // G_OutMain_AggR_001

                            if (operation_result_tAggregateRow_2.ghg_quantity_sum == null) {
                                operation_result_tAggregateRow_2.ghg_quantity_sum = new BigDecimal(0);
                            }
                            operation_result_tAggregateRow_2.ghg_quantity_sum = operation_result_tAggregateRow_2.ghg_quantity_sum
                                    .add(new BigDecimal(String.valueOf(row1.ghg_quantity)));

                            tos_count_tAggregateRow_2_AGGOUT++;

                            /**
                             * [tAggregateRow_2_AGGOUT main ] stop
                             */

                        } // End of branch "row1"

                        /**
                         * [tFileInputExcel_2 end ] start
                         */

                        currentComponent = "tFileInputExcel_2";

                    }

                    globalMap.put("tFileInputExcel_2_NB_LINE", nb_line_tFileInputExcel_2);

                }

            } finally {

                if (!(source_tFileInputExcel_2 instanceof java.io.InputStream)) {
                    workbook_tFileInputExcel_2.close();
                }

            }

            ok_Hash.put("tFileInputExcel_2", true);
            end_Hash.put("tFileInputExcel_2", System.currentTimeMillis());

            /**
             * [tFileInputExcel_2 end ] stop
             */

            /**
             * [tAggregateRow_2_AGGOUT end ] start
             */

            currentVirtualComponent = "tAggregateRow_2";

            currentComponent = "tAggregateRow_2_AGGOUT";

            ok_Hash.put("tAggregateRow_2_AGGOUT", true);
            end_Hash.put("tAggregateRow_2_AGGOUT", System.currentTimeMillis());

            /**
             * [tAggregateRow_2_AGGOUT end ] stop
             */

            /**
             * [tSortRow_1_SortOut begin ] start
             */

            ok_Hash.put("tSortRow_1_SortOut", false);
            start_Hash.put("tSortRow_1_SortOut", System.currentTimeMillis());

            currentVirtualComponent = "tSortRow_1";

            currentComponent = "tSortRow_1_SortOut";

            int tos_count_tSortRow_1_SortOut = 0;

            class Comparablefinal_outputStruct extends final_outputStruct
                    implements Comparable<Comparablefinal_outputStruct> {

                public int compareTo(Comparablefinal_outputStruct other) {

                    if (this.state == null && other.state != null) {
                        return -1;

                    } else if (this.state != null && other.state == null) {
                        return 1;

                    } else if (this.state != null && other.state != null) {
                        if (!this.state.equals(other.state)) {
                            return this.state.compareTo(other.state);
                        }
                    }
                    return 0;
                }
            }

            java.util.List<Comparablefinal_outputStruct> list_tSortRow_1_SortOut = new java.util.ArrayList<Comparablefinal_outputStruct>();

            /**
             * [tSortRow_1_SortOut begin ] stop
             */

            /**
             * [tMap_2 begin ] start
             */

            ok_Hash.put("tMap_2", false);
            start_Hash.put("tMap_2", System.currentTimeMillis());

            currentComponent = "tMap_2";

            int tos_count_tMap_2 = 0;

            // ###############################
            // # Lookup's keys initialization

            org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row2Struct> tHash_Lookup_row2 = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row2Struct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row2Struct>) globalMap
                    .get("tHash_Lookup_row2"));

            row2Struct row2HashKey = new row2Struct();
            row2Struct row2Default = new row2Struct();
            // ###############################

            // ###############################
            // # Vars initialization
            class Var__tMap_2__Struct {
            }
            Var__tMap_2__Struct Var__tMap_2 = new Var__tMap_2__Struct();
            // ###############################

            // ###############################
            // # Outputs initialization
            final_outputStruct final_output_tmp = new final_outputStruct();
            // ###############################

            /**
             * [tMap_2 begin ] stop
             */

            /**
             * [tMap_1 begin ] start
             */

            ok_Hash.put("tMap_1", false);
            start_Hash.put("tMap_1", System.currentTimeMillis());

            currentComponent = "tMap_1";

            int tos_count_tMap_1 = 0;

            // ###############################
            // # Lookup's keys initialization

            org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row8Struct> tHash_Lookup_row8 = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row8Struct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row8Struct>) globalMap
                    .get("tHash_Lookup_row8"));

            row8Struct row8HashKey = new row8Struct();
            row8Struct row8Default = new row8Struct();

            org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row9Struct> tHash_Lookup_row9 = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row9Struct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row9Struct>) globalMap
                    .get("tHash_Lookup_row9"));

            row9Struct row9HashKey = new row9Struct();
            row9Struct row9Default = new row9Struct();

            org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row10Struct> tHash_Lookup_row10 = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row10Struct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row10Struct>) globalMap
                    .get("tHash_Lookup_row10"));

            row10Struct row10HashKey = new row10Struct();
            row10Struct row10Default = new row10Struct();
            // ###############################

            // ###############################
            // # Vars initialization
            class Var__tMap_1__Struct {
            }
            Var__tMap_1__Struct Var__tMap_1 = new Var__tMap_1__Struct();
            // ###############################

            // ###############################
            // # Outputs initialization
            FLIGHT_OutStruct FLIGHT_Out_tmp = new FLIGHT_OutStruct();
            // ###############################

            /**
             * [tMap_1 begin ] stop
             */

            /**
             * [tAggregateRow_2_AGGIN begin ] start
             */

            ok_Hash.put("tAggregateRow_2_AGGIN", false);
            start_Hash.put("tAggregateRow_2_AGGIN", System.currentTimeMillis());

            currentVirtualComponent = "tAggregateRow_2";

            currentComponent = "tAggregateRow_2_AGGIN";

            int tos_count_tAggregateRow_2_AGGIN = 0;

            java.util.Collection<AggOperationStruct_tAggregateRow_2> values_tAggregateRow_2 = hash_tAggregateRow_2
                    .values();

            globalMap.put("tAggregateRow_2_NB_LINE", values_tAggregateRow_2.size());

            for (AggOperationStruct_tAggregateRow_2 aggregated_row_tAggregateRow_2 : values_tAggregateRow_2) { // G_AggR_600

                /**
                 * [tAggregateRow_2_AGGIN begin ] stop
                 */

                /**
                 * [tAggregateRow_2_AGGIN main ] start
                 */

                currentVirtualComponent = "tAggregateRow_2";

                currentComponent = "tAggregateRow_2_AGGIN";

                row7.reporting_year = aggregated_row_tAggregateRow_2.reporting_year;

                row7.state = aggregated_row_tAggregateRow_2.state;
                row7.ghg_quantity = aggregated_row_tAggregateRow_2.ghg_quantity_sum;

                tos_count_tAggregateRow_2_AGGIN++;

                /**
                 * [tAggregateRow_2_AGGIN main ] stop
                 */

                /**
                 * [tMap_1 main ] start
                 */

                currentComponent = "tMap_1";

                boolean hasCasePrimitiveKeyWithNull_tMap_1 = false;

                // ###############################
                // # Input tables (lookups)
                boolean rejectedInnerJoin_tMap_1 = false;
                boolean mainRowRejected_tMap_1 = false;

                // /////////////////////////////////////////////
                // Starting Lookup Table "row8"
                // /////////////////////////////////////////////

                boolean forceLooprow8 = false;

                row8Struct row8ObjectFromLookup = null;

                if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                    hasCasePrimitiveKeyWithNull_tMap_1 = false;

                    row8HashKey.state = row7.state;

                    row8HashKey.hashCodeDirty = true;

                    tHash_Lookup_row8.lookup(row8HashKey);

                } // G_TM_M_020

                if (tHash_Lookup_row8 != null && tHash_Lookup_row8.getCount(row8HashKey) > 1) { // G
                    // 071

                    // System.out.println("WARNING: UNIQUE MATCH is configured for the lookup 'row8' and it contains more one result from keys :  row8.state = '"
                    // + row8HashKey.state + "'");
                } // G 071

                row8Struct row8 = null;

                row8Struct fromLookup_row8 = null;
                row8 = row8Default;

                if (tHash_Lookup_row8 != null && tHash_Lookup_row8.hasNext()) { // G 099

                    fromLookup_row8 = tHash_Lookup_row8.next();

                } // G 099

                if (fromLookup_row8 != null) {
                    row8 = fromLookup_row8;
                }

                // /////////////////////////////////////////////
                // Starting Lookup Table "row9"
                // /////////////////////////////////////////////

                boolean forceLooprow9 = false;

                row9Struct row9ObjectFromLookup = null;

                if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                    hasCasePrimitiveKeyWithNull_tMap_1 = false;

                    row9HashKey.state = row7.state;

                    row9HashKey.hashCodeDirty = true;

                    tHash_Lookup_row9.lookup(row9HashKey);

                } // G_TM_M_020

                if (tHash_Lookup_row9 != null && tHash_Lookup_row9.getCount(row9HashKey) > 1) { // G
                    // 071

                    // System.out.println("WARNING: UNIQUE MATCH is configured for the lookup 'row9' and it contains more one result from keys :  row9.state = '"
                    // + row9HashKey.state + "'");
                } // G 071

                row9Struct row9 = null;

                row9Struct fromLookup_row9 = null;
                row9 = row9Default;

                if (tHash_Lookup_row9 != null && tHash_Lookup_row9.hasNext()) { // G 099

                    fromLookup_row9 = tHash_Lookup_row9.next();

                } // G 099

                if (fromLookup_row9 != null) {
                    row9 = fromLookup_row9;
                }

                // /////////////////////////////////////////////
                // Starting Lookup Table "row10"
                // /////////////////////////////////////////////

                boolean forceLooprow10 = false;

                row10Struct row10ObjectFromLookup = null;

                if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                    hasCasePrimitiveKeyWithNull_tMap_1 = false;

                    row10HashKey.state = row7.state;

                    row10HashKey.hashCodeDirty = true;

                    tHash_Lookup_row10.lookup(row10HashKey);

                } // G_TM_M_020

                if (tHash_Lookup_row10 != null && tHash_Lookup_row10.getCount(row10HashKey) > 1) { // G
                    // 071

                    // System.out.println("WARNING: UNIQUE MATCH is configured for the lookup 'row10' and it contains more one result from keys :  row10.state = '"
                    // + row10HashKey.state + "'");
                } // G 071

                row10Struct row10 = null;

                row10Struct fromLookup_row10 = null;
                row10 = row10Default;

                if (tHash_Lookup_row10 != null && tHash_Lookup_row10.hasNext()) { // G 099

                    fromLookup_row10 = tHash_Lookup_row10.next();

                } // G 099

                if (fromLookup_row10 != null) {
                    row10 = fromLookup_row10;
                }

                // ###############################
                { // start of Var scope

                    // ###############################
                    // # Vars tables

                    Var__tMap_1__Struct Var = Var__tMap_1;// ###############################
                    // ###############################
                    // # Output tables

                    FLIGHT_Out = null;

                    // # Output table : 'FLIGHT_Out'
                    FLIGHT_Out_tmp.state = row7.state;
                    FLIGHT_Out_tmp.ghg_quantity_2011 = row7.ghg_quantity;
                    FLIGHT_Out_tmp.ghg_quantity_2012 = row8.ghg_quantity;
                    FLIGHT_Out_tmp.ghg_quantity_2013 = row9.ghg_quantity;
                    FLIGHT_Out_tmp.ghg_quantity_2014 = row10.ghg_quantity;
                    FLIGHT_Out = FLIGHT_Out_tmp;
                    // ###############################

                } // end of Var scope

                rejectedInnerJoin_tMap_1 = false;

                tos_count_tMap_1++;

                /**
                 * [tMap_1 main ] stop
                 */
                // Start of branch "FLIGHT_Out"
                if (FLIGHT_Out != null) {

                    /**
                     * [tMap_2 main ] start
                     */

                    currentComponent = "tMap_2";

                    boolean hasCasePrimitiveKeyWithNull_tMap_2 = false;

                    // ###############################
                    // # Input tables (lookups)
                    boolean rejectedInnerJoin_tMap_2 = false;
                    boolean mainRowRejected_tMap_2 = false;

                    // /////////////////////////////////////////////
                    // Starting Lookup Table "row2"
                    // /////////////////////////////////////////////

                    boolean forceLooprow2 = false;

                    row2Struct row2ObjectFromLookup = null;

                    if (!rejectedInnerJoin_tMap_2) { // G_TM_M_020

                        hasCasePrimitiveKeyWithNull_tMap_2 = false;

                        row2HashKey.state = FLIGHT_Out.state;

                        row2HashKey.hashCodeDirty = true;

                        tHash_Lookup_row2.lookup(row2HashKey);

                    } // G_TM_M_020

                    if (tHash_Lookup_row2 != null && tHash_Lookup_row2.getCount(row2HashKey) > 1) { // G
                        // 071

                        // System.out.println("WARNING: UNIQUE MATCH is configured for the lookup 'row2' and it contains more one result from keys :  row2.state = '"
                        // + row2HashKey.state + "'");
                    } // G 071

                    row2Struct row2 = null;

                    row2Struct fromLookup_row2 = null;
                    row2 = row2Default;

                    if (tHash_Lookup_row2 != null && tHash_Lookup_row2.hasNext()) { // G 099

                        fromLookup_row2 = tHash_Lookup_row2.next();

                    } // G 099

                    if (fromLookup_row2 != null) {
                        row2 = fromLookup_row2;
                    }

                    // ###############################
                    { // start of Var scope

                        // ###############################
                        // # Vars tables

                        Var__tMap_2__Struct Var = Var__tMap_2;// ###############################
                        // ###############################
                        // # Output tables

                        final_output = null;

                        // # Output table : 'final_output'
                        final_output_tmp.state = FLIGHT_Out.state;
                        final_output_tmp.ghg_quantity_2011 = FLIGHT_Out.ghg_quantity_2011;
                        final_output_tmp.ghg_quantity_2012 = FLIGHT_Out.ghg_quantity_2012;
                        final_output_tmp.ghg_quantity_2013 = FLIGHT_Out.ghg_quantity_2013;
                        final_output_tmp.ghg_quantity_2014 = FLIGHT_Out.ghg_quantity_2014;
                        final_output_tmp.ghg_goal_2022 = row2.ghg_goal_2022;
                        final_output_tmp.ghg_goal_2023 = row2.ghg_goal_2023;
                        final_output_tmp.ghg_goal_2024 = row2.ghg_goal_2024;
                        final_output_tmp.ghg_goal_2025 = row2.ghg_goal_2025;
                        final_output_tmp.ghg_goal_2026 = row2.ghg_goal_2026;
                        final_output_tmp.ghg_goal_2027 = row2.ghg_goal_2027;
                        final_output_tmp.ghg_goal_2028 = row2.ghg_goal_2028;
                        final_output_tmp.ghg_goal_2029 = row2.ghg_goal_2029;
                        final_output_tmp.ghg_goal_2030 = row2.ghg_goal_2030;
                        final_output_tmp.state_fullname = row2.state_name;
                        final_output = final_output_tmp;
                        // ###############################

                    } // end of Var scope

                    rejectedInnerJoin_tMap_2 = false;

                    tos_count_tMap_2++;

                    /**
                     * [tMap_2 main ] stop
                     */
                    // Start of branch "final_output"
                    if (final_output != null) {

                        /**
                         * [tSortRow_1_SortOut main ] start
                         */

                        currentVirtualComponent = "tSortRow_1";

                        currentComponent = "tSortRow_1_SortOut";

                        Comparablefinal_outputStruct arrayRowtSortRow_1_SortOut = new Comparablefinal_outputStruct();

                        arrayRowtSortRow_1_SortOut.state = final_output.state;
                        arrayRowtSortRow_1_SortOut.ghg_quantity_2011 = final_output.ghg_quantity_2011;
                        arrayRowtSortRow_1_SortOut.ghg_quantity_2012 = final_output.ghg_quantity_2012;
                        arrayRowtSortRow_1_SortOut.ghg_quantity_2013 = final_output.ghg_quantity_2013;
                        arrayRowtSortRow_1_SortOut.ghg_quantity_2014 = final_output.ghg_quantity_2014;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2022 = final_output.ghg_goal_2022;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2023 = final_output.ghg_goal_2023;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2024 = final_output.ghg_goal_2024;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2025 = final_output.ghg_goal_2025;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2026 = final_output.ghg_goal_2026;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2027 = final_output.ghg_goal_2027;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2028 = final_output.ghg_goal_2028;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2029 = final_output.ghg_goal_2029;
                        arrayRowtSortRow_1_SortOut.ghg_goal_2030 = final_output.ghg_goal_2030;
                        arrayRowtSortRow_1_SortOut.state_fullname = final_output.state_fullname;
                        list_tSortRow_1_SortOut.add(arrayRowtSortRow_1_SortOut);

                        tos_count_tSortRow_1_SortOut++;

                        /**
                         * [tSortRow_1_SortOut main ] stop
                         */

                    } // End of branch "final_output"

                } // End of branch "FLIGHT_Out"

                /**
                 * [tAggregateRow_2_AGGIN end ] start
                 */

                currentVirtualComponent = "tAggregateRow_2";

                currentComponent = "tAggregateRow_2_AGGIN";

            } // G_AggR_600

            ok_Hash.put("tAggregateRow_2_AGGIN", true);
            end_Hash.put("tAggregateRow_2_AGGIN", System.currentTimeMillis());

            /**
             * [tAggregateRow_2_AGGIN end ] stop
             */

            /**
             * [tMap_1 end ] start
             */

            currentComponent = "tMap_1";

            // ###############################
            // # Lookup hashes releasing
            if (tHash_Lookup_row8 != null) {
                tHash_Lookup_row8.endGet();
            }
            globalMap.remove("tHash_Lookup_row8");

            if (tHash_Lookup_row9 != null) {
                tHash_Lookup_row9.endGet();
            }
            globalMap.remove("tHash_Lookup_row9");

            if (tHash_Lookup_row10 != null) {
                tHash_Lookup_row10.endGet();
            }
            globalMap.remove("tHash_Lookup_row10");

            // ###############################

            ok_Hash.put("tMap_1", true);
            end_Hash.put("tMap_1", System.currentTimeMillis());

            /**
             * [tMap_1 end ] stop
             */

            /**
             * [tMap_2 end ] start
             */

            currentComponent = "tMap_2";

            // ###############################
            // # Lookup hashes releasing
            if (tHash_Lookup_row2 != null) {
                tHash_Lookup_row2.endGet();
            }
            globalMap.remove("tHash_Lookup_row2");

            // ###############################

            ok_Hash.put("tMap_2", true);
            end_Hash.put("tMap_2", System.currentTimeMillis());

            /**
             * [tMap_2 end ] stop
             */

            /**
             * [tSortRow_1_SortOut end ] start
             */

            currentVirtualComponent = "tSortRow_1";

            currentComponent = "tSortRow_1_SortOut";

            final_outputStruct[] array_tSortRow_1_SortOut = list_tSortRow_1_SortOut
                    .toArray(new Comparablefinal_outputStruct[0]);

            java.util.Arrays.sort(array_tSortRow_1_SortOut);

            globalMap.put("tSortRow_1", array_tSortRow_1_SortOut);

            ok_Hash.put("tSortRow_1_SortOut", true);
            end_Hash.put("tSortRow_1_SortOut", System.currentTimeMillis());

            /**
             * [tSortRow_1_SortOut end ] stop
             */

            /**
             * [tWriteJSONField_1_Out begin ] start
             */

            ok_Hash.put("tWriteJSONField_1_Out", false);
            start_Hash.put("tWriteJSONField_1_Out", System.currentTimeMillis());

            currentVirtualComponent = "tWriteJSONField_1";

            currentComponent = "tWriteJSONField_1_Out";

            int tos_count_tWriteJSONField_1_Out = 0;

            // tWriteXMLFieldOut_begin
            int nb_line_tWriteJSONField_1_Out = 0;
            boolean needRoot_tWriteJSONField_1_Out = true;

            String strCompCache_tWriteJSONField_1_Out = null;

            java.util.Queue<row3Struct> listGroupby_tWriteJSONField_1_Out = new java.util.concurrent.ConcurrentLinkedQueue<row3Struct>();

            class ThreadXMLField_tWriteJSONField_1_Out extends Thread {

                java.util.Queue<row3Struct> queue;

                java.util.List<java.util.Map<String, String>> flows;
                java.lang.Exception lastException;
                String currentComponent;

                ThreadXMLField_tWriteJSONField_1_Out(java.util.Queue q) {
                    this.queue = q;
                    globalMap.put("queue_tWriteJSONField_1_In", queue);
                    lastException = null;
                }

                ThreadXMLField_tWriteJSONField_1_Out(java.util.Queue q,
                        java.util.List<java.util.Map<String, String>> l) {
                    this.queue = q;
                    this.flows = l;
                    lastException = null;
                    globalMap.put("queue_tWriteJSONField_1_In", queue);
                    globalMap.put("flows_tWriteJSONField_1_In", flows);
                }

                public java.lang.Exception getLastException() {
                    return this.lastException;
                }

                public String getCurrentComponent() {
                    return this.currentComponent;
                }

                @Override
                public void run() {
                    try {
                        tWriteJSONField_1_InProcess(globalMap);
                    } catch (TalendException te) {
                        this.lastException = te.getException();
                        this.currentComponent = te.getCurrentComponent();
                    }
                }
            }

            ThreadXMLField_tWriteJSONField_1_Out txf_tWriteJSONField_1_Out = new ThreadXMLField_tWriteJSONField_1_Out(
                    listGroupby_tWriteJSONField_1_Out);

            txf_tWriteJSONField_1_Out.start();

            java.util.List<java.util.List<String>> groupbyList_tWriteJSONField_1_Out = new java.util.ArrayList<java.util.List<String>>();
            java.util.Map<String, String> valueMap_tWriteJSONField_1_Out = new java.util.HashMap<String, String>();

            class NestXMLTool_tWriteJSONField_1_Out {
                public void parseAndAdd(org.dom4j.Element nestRoot, String value) {
                    try {
                        org.dom4j.Document doc4Str = org.dom4j.DocumentHelper
                                .parseText("<root>" + value + "</root>");
                        nestRoot.setContent(doc4Str.getRootElement().content());
                    } catch (java.lang.Exception e) {
                        e.printStackTrace();
                        nestRoot.setText(value);
                    }
                }

                public void setText(org.dom4j.Element element, String value) {
                    if (value.startsWith("<![CDATA[") && value.endsWith("]]>")) {
                        String text = value.substring(9, value.length() - 3);
                        element.addCDATA(text);
                    } else {
                        element.setText(value);
                    }
                }

                public void replaceDefaultNameSpace(org.dom4j.Element nestRoot) {
                    if (nestRoot != null) {
                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) nestRoot.elements()) {
                            if (("").equals(tmp.getQName().getNamespace().getURI())
                                    && ("").equals(tmp.getQName().getNamespace().getPrefix())) {
                                tmp.setQName(org.dom4j.DocumentHelper.createQName(tmp.getName(),
                                        nestRoot.getQName().getNamespace()));
                            }
                            replaceDefaultNameSpace(tmp);
                        }
                    }
                }

                public void removeEmptyElement(org.dom4j.Element root) {
                    if (root != null) {
                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) root.elements()) {
                            removeEmptyElement(tmp);
                        }
                        if (root.content().size() == 0 && root.attributes().size() == 0
                                && root.declaredNamespaces().size() == 0) {
                            if (root.getParent() != null) {
                                root.getParent().remove(root);
                            }
                        }
                    }
                }
            }
            NestXMLTool_tWriteJSONField_1_Out nestXMLTool_tWriteJSONField_1_Out = new NestXMLTool_tWriteJSONField_1_Out();

            row11Struct rowStructOutput_tWriteJSONField_1_Out = null;
            // sort group root element for judgement of group
            java.util.List<org.dom4j.Element> groupElementList_tWriteJSONField_1_Out = new java.util.ArrayList<org.dom4j.Element>();
            org.dom4j.Element root4Group_tWriteJSONField_1_Out = null;
            org.dom4j.Document doc_tWriteJSONField_1_Out = org.dom4j.DocumentHelper.createDocument();
            org.dom4j.io.OutputFormat format_tWriteJSONField_1_Out = org.dom4j.io.OutputFormat
                    .createCompactFormat();
            format_tWriteJSONField_1_Out.setNewLineAfterDeclaration(false);
            format_tWriteJSONField_1_Out.setTrimText(false);
            format_tWriteJSONField_1_Out.setEncoding("ISO-8859-15");
            int[] orders_tWriteJSONField_1_Out = new int[1];

            /**
             * [tWriteJSONField_1_Out begin ] stop
             */

            /**
             * [tSortRow_1_SortIn begin ] start
             */

            ok_Hash.put("tSortRow_1_SortIn", false);
            start_Hash.put("tSortRow_1_SortIn", System.currentTimeMillis());

            currentVirtualComponent = "tSortRow_1";

            currentComponent = "tSortRow_1_SortIn";

            int tos_count_tSortRow_1_SortIn = 0;

            final_outputStruct[] array_tSortRow_1_SortIn = (final_outputStruct[]) globalMap.get("tSortRow_1");

            int nb_line_tSortRow_1_SortIn = 0;

            final_outputStruct current_tSortRow_1_SortIn = null;

            for (int i_tSortRow_1_SortIn = 0; i_tSortRow_1_SortIn < array_tSortRow_1_SortIn.length; i_tSortRow_1_SortIn++) {
                current_tSortRow_1_SortIn = array_tSortRow_1_SortIn[i_tSortRow_1_SortIn];
                row11.state = current_tSortRow_1_SortIn.state;
                row11.ghg_quantity_2011 = current_tSortRow_1_SortIn.ghg_quantity_2011;
                row11.ghg_quantity_2012 = current_tSortRow_1_SortIn.ghg_quantity_2012;
                row11.ghg_quantity_2013 = current_tSortRow_1_SortIn.ghg_quantity_2013;
                row11.ghg_quantity_2014 = current_tSortRow_1_SortIn.ghg_quantity_2014;
                row11.ghg_goal_2022 = current_tSortRow_1_SortIn.ghg_goal_2022;
                row11.ghg_goal_2023 = current_tSortRow_1_SortIn.ghg_goal_2023;
                row11.ghg_goal_2024 = current_tSortRow_1_SortIn.ghg_goal_2024;
                row11.ghg_goal_2025 = current_tSortRow_1_SortIn.ghg_goal_2025;
                row11.ghg_goal_2026 = current_tSortRow_1_SortIn.ghg_goal_2026;
                row11.ghg_goal_2027 = current_tSortRow_1_SortIn.ghg_goal_2027;
                row11.ghg_goal_2028 = current_tSortRow_1_SortIn.ghg_goal_2028;
                row11.ghg_goal_2029 = current_tSortRow_1_SortIn.ghg_goal_2029;
                row11.ghg_goal_2030 = current_tSortRow_1_SortIn.ghg_goal_2030;
                row11.state_fullname = current_tSortRow_1_SortIn.state_fullname;
                // increase number of line sorted
                nb_line_tSortRow_1_SortIn++;

                /**
                 * [tSortRow_1_SortIn begin ] stop
                 */

                /**
                 * [tSortRow_1_SortIn main ] start
                 */

                currentVirtualComponent = "tSortRow_1";

                currentComponent = "tSortRow_1_SortIn";

                tos_count_tSortRow_1_SortIn++;

                /**
                 * [tSortRow_1_SortIn main ] stop
                 */

                /**
                 * [tWriteJSONField_1_Out main ] start
                 */

                currentVirtualComponent = "tWriteJSONField_1";

                currentComponent = "tWriteJSONField_1_Out";

                if (txf_tWriteJSONField_1_Out.getLastException() != null) {
                    currentComponent = txf_tWriteJSONField_1_Out.getCurrentComponent();
                    throw txf_tWriteJSONField_1_Out.getLastException();
                }
                nb_line_tWriteJSONField_1_Out++;
                valueMap_tWriteJSONField_1_Out.clear();
                valueMap_tWriteJSONField_1_Out.put("state",
                        (row11.state != null ? row11.state.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_quantity_2011",
                        (row11.ghg_quantity_2011 != null ? row11.ghg_quantity_2011.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_quantity_2012",
                        (row11.ghg_quantity_2012 != null ? row11.ghg_quantity_2012.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_quantity_2013",
                        (row11.ghg_quantity_2013 != null ? row11.ghg_quantity_2013.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_quantity_2014",
                        (row11.ghg_quantity_2014 != null ? row11.ghg_quantity_2014.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2022",
                        (row11.ghg_goal_2022 != null ? row11.ghg_goal_2022.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2023",
                        (row11.ghg_goal_2023 != null ? row11.ghg_goal_2023.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2024",
                        (row11.ghg_goal_2024 != null ? row11.ghg_goal_2024.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2025",
                        (row11.ghg_goal_2025 != null ? row11.ghg_goal_2025.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2026",
                        (row11.ghg_goal_2026 != null ? row11.ghg_goal_2026.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2027",
                        (row11.ghg_goal_2027 != null ? row11.ghg_goal_2027.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2028",
                        (row11.ghg_goal_2028 != null ? row11.ghg_goal_2028.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2029",
                        (row11.ghg_goal_2029 != null ? row11.ghg_goal_2029.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("ghg_goal_2030",
                        (row11.ghg_goal_2030 != null ? row11.ghg_goal_2030.toPlainString() : null));
                valueMap_tWriteJSONField_1_Out.put("state_fullname",
                        (row11.state_fullname != null ? row11.state_fullname.toString() : null));
                String strTemp_tWriteJSONField_1_Out = "";
                if (strCompCache_tWriteJSONField_1_Out == null) {
                    strCompCache_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out;

                    rowStructOutput_tWriteJSONField_1_Out = row11;

                } else {
                    nestXMLTool_tWriteJSONField_1_Out
                            .replaceDefaultNameSpace(doc_tWriteJSONField_1_Out.getRootElement());
                    java.io.StringWriter strWriter_tWriteJSONField_1_Out = new java.io.StringWriter();
                    org.dom4j.io.XMLWriter output_tWriteJSONField_1_Out = new org.dom4j.io.XMLWriter(
                            strWriter_tWriteJSONField_1_Out, format_tWriteJSONField_1_Out);
                    output_tWriteJSONField_1_Out.write(doc_tWriteJSONField_1_Out);
                    output_tWriteJSONField_1_Out.close();

                    row3Struct row_tWriteJSONField_1_Out = new row3Struct();

                    row_tWriteJSONField_1_Out.state = strWriter_tWriteJSONField_1_Out.toString();
                    listGroupby_tWriteJSONField_1_Out.add(row_tWriteJSONField_1_Out);

                    doc_tWriteJSONField_1_Out.clearContent();
                    needRoot_tWriteJSONField_1_Out = true;
                    for (int i_tWriteJSONField_1_Out = 0; i_tWriteJSONField_1_Out < orders_tWriteJSONField_1_Out.length; i_tWriteJSONField_1_Out++) {
                        orders_tWriteJSONField_1_Out[i_tWriteJSONField_1_Out] = 0;
                    }

                    if (groupbyList_tWriteJSONField_1_Out != null
                            && groupbyList_tWriteJSONField_1_Out.size() >= 0) {
                        groupbyList_tWriteJSONField_1_Out.clear();
                    }
                    strCompCache_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out;
                    rowStructOutput_tWriteJSONField_1_Out = row11;

                }

                org.dom4j.Element subTreeRootParent_tWriteJSONField_1_Out = null;

                // build root xml tree
                if (needRoot_tWriteJSONField_1_Out) {
                    needRoot_tWriteJSONField_1_Out = false;
                    org.dom4j.Element root_tWriteJSONField_1_Out = doc_tWriteJSONField_1_Out
                            .addElement("state_group");
                    subTreeRootParent_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out;
                    org.dom4j.Element root_0_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("acronymn");
                    if (valueMap_tWriteJSONField_1_Out.get("state") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_0_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("state"));
                    }
                    org.dom4j.Element root_1_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("ghg_emissions");
                    org.dom4j.Element root_1_0_tWriteJSONField_1_Out = root_1_tWriteJSONField_1_Out
                            .addElement("emissions_2011");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_quantity_2011") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_1_0_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_quantity_2011"));
                    }
                    org.dom4j.Element root_1_1_tWriteJSONField_1_Out = root_1_tWriteJSONField_1_Out
                            .addElement("emissions_2012");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_quantity_2012") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_1_1_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_quantity_2012"));
                    }
                    org.dom4j.Element root_1_2_tWriteJSONField_1_Out = root_1_tWriteJSONField_1_Out
                            .addElement("emissions_2013");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_quantity_2013") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_1_2_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_quantity_2013"));
                    }
                    org.dom4j.Element root_1_3_tWriteJSONField_1_Out = root_1_tWriteJSONField_1_Out
                            .addElement("emissions_2014");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_quantity_2014") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_1_3_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_quantity_2014"));
                    }
                    org.dom4j.Element root_2_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("ghg_goals");
                    org.dom4j.Element root_2_0_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2022");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2022") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_0_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2022"));
                    }
                    org.dom4j.Element root_2_1_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2023");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2023") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_1_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2023"));
                    }
                    org.dom4j.Element root_2_2_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2024");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2024") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_2_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2024"));
                    }
                    org.dom4j.Element root_2_3_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2025");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2025") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_3_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2025"));
                    }
                    org.dom4j.Element root_2_4_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2026");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2026") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_4_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2026"));
                    }
                    org.dom4j.Element root_2_5_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2027");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2027") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_5_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2027"));
                    }
                    org.dom4j.Element root_2_6_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2028");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2028") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_6_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2028"));
                    }
                    org.dom4j.Element root_2_7_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2029");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2029") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_7_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2029"));
                    }
                    org.dom4j.Element root_2_8_tWriteJSONField_1_Out = root_2_tWriteJSONField_1_Out
                            .addElement("goals_2030");
                    if (valueMap_tWriteJSONField_1_Out.get("ghg_goal_2030") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_8_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("ghg_goal_2030"));
                    }
                    root4Group_tWriteJSONField_1_Out = subTreeRootParent_tWriteJSONField_1_Out;
                } else {
                    subTreeRootParent_tWriteJSONField_1_Out = root4Group_tWriteJSONField_1_Out;
                }
                // build group xml tree
                // build loop xml tree
                org.dom4j.Element loop_tWriteJSONField_1_Out = org.dom4j.DocumentHelper.createElement("name");
                if (orders_tWriteJSONField_1_Out[0] == 0) {
                    orders_tWriteJSONField_1_Out[0] = 0;
                }
                if (1 < orders_tWriteJSONField_1_Out.length) {
                    orders_tWriteJSONField_1_Out[1] = 0;
                }
                subTreeRootParent_tWriteJSONField_1_Out.elements().add(orders_tWriteJSONField_1_Out[0]++,
                        loop_tWriteJSONField_1_Out);
                if (valueMap_tWriteJSONField_1_Out.get("state_fullname") != null) {
                    nestXMLTool_tWriteJSONField_1_Out.setText(loop_tWriteJSONField_1_Out,
                            valueMap_tWriteJSONField_1_Out.get("state_fullname"));
                }

                tos_count_tWriteJSONField_1_Out++;

                /**
                 * [tWriteJSONField_1_Out main ] stop
                 */

                /**
                 * [tSortRow_1_SortIn end ] start
                 */

                currentVirtualComponent = "tSortRow_1";

                currentComponent = "tSortRow_1_SortIn";

            }

            globalMap.put("tSortRow_1_SortIn_NB_LINE", nb_line_tSortRow_1_SortIn);

            ok_Hash.put("tSortRow_1_SortIn", true);
            end_Hash.put("tSortRow_1_SortIn", System.currentTimeMillis());

            /**
             * [tSortRow_1_SortIn end ] stop
             */

            /**
             * [tWriteJSONField_1_Out end ] start
             */

            currentVirtualComponent = "tWriteJSONField_1";

            currentComponent = "tWriteJSONField_1_Out";

            if (nb_line_tWriteJSONField_1_Out > 0) {
                nestXMLTool_tWriteJSONField_1_Out
                        .replaceDefaultNameSpace(doc_tWriteJSONField_1_Out.getRootElement());
                java.io.StringWriter strWriter_tWriteJSONField_1_Out = new java.io.StringWriter();
                org.dom4j.io.XMLWriter output_tWriteJSONField_1_Out = new org.dom4j.io.XMLWriter(
                        strWriter_tWriteJSONField_1_Out, format_tWriteJSONField_1_Out);
                output_tWriteJSONField_1_Out.write(doc_tWriteJSONField_1_Out);
                output_tWriteJSONField_1_Out.close();
                row3Struct row_tWriteJSONField_1_Out = new row3Struct();

                row_tWriteJSONField_1_Out.state = strWriter_tWriteJSONField_1_Out.toString();
                listGroupby_tWriteJSONField_1_Out.add(row_tWriteJSONField_1_Out);

            }
            globalMap.put("tWriteJSONField_1_Out_NB_LINE", nb_line_tWriteJSONField_1_Out);
            globalMap.put("tWriteJSONField_1_In_FINISH" + (listGroupby_tWriteJSONField_1_Out == null ? ""
                    : listGroupby_tWriteJSONField_1_Out.hashCode()), "true");

            txf_tWriteJSONField_1_Out.join();
            if (txf_tWriteJSONField_1_Out.getLastException() != null) {
                currentComponent = txf_tWriteJSONField_1_Out.getCurrentComponent();
                throw txf_tWriteJSONField_1_Out.getLastException();
            }

            resourceMap.put("finish_tWriteJSONField_1_Out", true);

            ok_Hash.put("tWriteJSONField_1_Out", true);
            end_Hash.put("tWriteJSONField_1_Out", System.currentTimeMillis());

            /**
             * [tWriteJSONField_1_Out end ] stop
             */

        } // end the resume

    } catch (java.lang.Exception e) {

        TalendException te = new TalendException(e, currentComponent, globalMap);

        te.setVirtualComponentName(currentVirtualComponent);

        throw te;
    } catch (java.lang.Error error) {

        throw error;
    } finally {

        // free memory for "tSortRow_1_SortIn"
        globalMap.remove("tSortRow_1");

        // free memory for "tMap_2"
        globalMap.remove("tHash_Lookup_row2");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_row8");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_row9");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_row10");

        // free memory for "tAggregateRow_2_AGGIN"
        globalMap.remove("tAggregateRow_2");

        try {

            /**
             * [tFileInputExcel_2 finally ] start
             */

            currentComponent = "tFileInputExcel_2";

            /**
             * [tFileInputExcel_2 finally ] stop
             */

            /**
             * [tAggregateRow_2_AGGOUT finally ] start
             */

            currentVirtualComponent = "tAggregateRow_2";

            currentComponent = "tAggregateRow_2_AGGOUT";

            /**
             * [tAggregateRow_2_AGGOUT finally ] stop
             */

            /**
             * [tAggregateRow_2_AGGIN finally ] start
             */

            currentVirtualComponent = "tAggregateRow_2";

            currentComponent = "tAggregateRow_2_AGGIN";

            /**
             * [tAggregateRow_2_AGGIN finally ] stop
             */

            /**
             * [tMap_1 finally ] start
             */

            currentComponent = "tMap_1";

            /**
             * [tMap_1 finally ] stop
             */

            /**
             * [tMap_2 finally ] start
             */

            currentComponent = "tMap_2";

            /**
             * [tMap_2 finally ] stop
             */

            /**
             * [tSortRow_1_SortOut finally ] start
             */

            currentVirtualComponent = "tSortRow_1";

            currentComponent = "tSortRow_1_SortOut";

            /**
             * [tSortRow_1_SortOut finally ] stop
             */

            /**
             * [tSortRow_1_SortIn finally ] start
             */

            currentVirtualComponent = "tSortRow_1";

            currentComponent = "tSortRow_1_SortIn";

            /**
             * [tSortRow_1_SortIn finally ] stop
             */

            /**
             * [tWriteJSONField_1_Out finally ] start
             */

            currentVirtualComponent = "tWriteJSONField_1";

            currentComponent = "tWriteJSONField_1_Out";

            java.util.Queue listGroupby_tWriteJSONField_1_Out = (java.util.Queue) globalMap
                    .get("queue_tWriteJSONField_1_In");
            if (resourceMap.get("finish_tWriteJSONField_1_Out") == null) {
                globalMap.put("tWriteJSONField_1_In_FINISH_WITH_EXCEPTION"
                        + (listGroupby_tWriteJSONField_1_Out == null ? ""
                                : listGroupby_tWriteJSONField_1_Out.hashCode()),
                        "true");
            }

            if (listGroupby_tWriteJSONField_1_Out != null) {
                globalMap.put("tWriteJSONField_1_In_FINISH" + (listGroupby_tWriteJSONField_1_Out == null ? ""
                        : listGroupby_tWriteJSONField_1_Out.hashCode()), "true");
            }

            /**
             * [tWriteJSONField_1_Out finally ] stop
             */

        } catch (java.lang.Exception e) {
            // ignore
        } catch (java.lang.Error error) {
            // ignore
        }
        resourceMap = null;
    }

    globalMap.put("tFileInputExcel_2_SUBPROCESS_STATE", 1);
}

From source file:metadata_generator.rasterjob_0_1.RasterJob.java

License:Apache License

public void sGdalInfoInput_2Process(final java.util.Map<String, Object> globalMap) throws TalendException {
    globalMap.put("sGdalInfoInput_2_SUBPROCESS_STATE", 0);

    final boolean execStat = this.execStat;

    String iterateId = "";

    String currentComponent = "";
    java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();

    try {/*from ww  w .j  ava2  s.  c o m*/

        String currentMethodName = new java.lang.Exception().getStackTrace()[0].getMethodName();
        boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
        if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
            // the
            // resume
            globalResumeTicket = true;

            tFileInputDelimited_1Process(globalMap);

            fromActualFileStruct fromActualFile = new fromActualFileStruct();
            iso19115Struct iso19115 = new iso19115Struct();
            row2Struct row2 = new row2Struct();
            row1Struct row1 = new row1Struct();
            row1Struct row3 = row1;

            /**
             * [tAdvancedFileOutputXML_2 begin ] start
             */

            ok_Hash.put("tAdvancedFileOutputXML_2", false);
            start_Hash.put("tAdvancedFileOutputXML_2", System.currentTimeMillis());

            currentComponent = "tAdvancedFileOutputXML_2";

            int tos_count_tAdvancedFileOutputXML_2 = 0;

            int nb_line_tAFOX_2 = 0;

            boolean needRoot_tAFOX_2 = true;

            String fileName_tAFOX_2 = (context.generateMetadataInSeparateDir
                    ? context.metadataDir + "/" + new java.io.File(context.file).getName()
                    : context.file) + "_md_iso19115-3_" + System.currentTimeMillis() + ".xml";
            Boolean alreadyExistsFile_tAFOX_2 = new java.io.File(fileName_tAFOX_2).exists();
            fileName_tAFOX_2 = new java.io.File(fileName_tAFOX_2).getAbsolutePath().replace("\\", "/");
            String file_tAFOX_2 = "";

            if (fileName_tAFOX_2.indexOf("/") < 0) {
                throw new IllegalArgumentException("not a correct file name.");
            } else {
                String tail_tAFOX_2 = fileName_tAFOX_2.substring(fileName_tAFOX_2.lastIndexOf("/"));
                file_tAFOX_2 = tail_tAFOX_2.lastIndexOf(".") > 0
                        ? fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("."))
                        : fileName_tAFOX_2;
            }
            java.io.File createFiletAFOX_2 = new java.io.File(fileName_tAFOX_2);

            if (!createFiletAFOX_2.exists()) {
                (new java.io.File(fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("/")))).mkdirs();
                needRoot_tAFOX_2 = true;
            }

            java.util.List<java.util.List<String>> groupbyList_tAFOX_2 = new java.util.ArrayList<java.util.List<String>>();
            java.util.Map<String, String> valueMap_tAFOX_2 = new java.util.HashMap<String, String>();

            class NestXMLTool_tAFOX_2 {
                public void parseAndAdd(org.dom4j.Element nestRoot, String value) {
                    try {
                        org.dom4j.Document doc4Str = org.dom4j.DocumentHelper
                                .parseText("<root>" + value + "</root>");
                        nestRoot.setContent(doc4Str.getRootElement().content());
                    } catch (java.lang.Exception e) {
                        // e.printStackTrace();
                        nestRoot.setText(value);
                    }
                }

                public void setText(org.dom4j.Element element, String value) {
                    if (value.startsWith("<![CDATA[") && value.endsWith("]]>")) {
                        String text = value.substring(9, value.length() - 3);
                        element.addCDATA(text);
                    } else {
                        element.setText(value);
                    }
                }

                public void appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                public void replaceDefaultNameSpace(org.dom4j.Element nestRoot) {
                    if (nestRoot != null) {
                        boolean isDefaultNameSpaceAtRoot = ""
                                .equals(nestRoot.getQName().getNamespace().getPrefix());
                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) nestRoot.elements()) {
                            if (("").equals(tmp.getQName().getNamespace().getURI())
                                    && ("").equals(tmp.getQName().getNamespace().getPrefix())
                                    && isDefaultNameSpaceAtRoot) {
                                tmp.setQName(org.dom4j.DocumentHelper.createQName(tmp.getName(),
                                        nestRoot.getQName().getNamespace()));
                            }
                            replaceDefaultNameSpace(tmp);
                        }
                    }
                }

                public void removeEmptyElement(org.dom4j.Element root) {
                    if (root != null) {
                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) root.elements()) {
                            removeEmptyElement(tmp);
                        }
                        if (root.content().size() == 0 && root.attributes().size() == 0
                                && root.declaredNamespaces().size() == 0) {
                            if (root.getParent() != null) {
                                root.getParent().remove(root);
                            }
                        }
                    }
                }

                /**
                 * remove the whiteSpace Node between the elements when
                 * appending the source file under dom4j
                 * 
                 * @param root
                 */
                public void removeWhiteSpaceTextNode(org.dom4j.Element root) {
                    if (root != null) {
                        List<org.dom4j.Node> textNodes = new java.util.ArrayList<org.dom4j.Node>();
                        for (int i = 0; i < root.nodeCount(); i++) {
                            if (root.node(i).getNodeType() == org.dom4j.Node.ELEMENT_NODE) {
                                removeWhiteSpaceTextNode((org.dom4j.Element) root.node(i));
                            } else if (root.node(i).getNodeType() == org.dom4j.Node.TEXT_NODE) {
                                textNodes.add(root.node(i));
                            }
                        }
                        if (root.nodeCount() > 1) { // when
                            // root.nodeCount==1,
                            // that means the text
                            // node is the content
                            // of the element
                            for (org.dom4j.Node textNode : textNodes) {
                                if (textNode.getText() == null || "".equals(textNode.getText().trim())) {
                                    root.remove(textNode);
                                }
                            }
                        }
                    }
                }
            }

            NestXMLTool_tAFOX_2 nestXMLTool_tAFOX_2 = new NestXMLTool_tAFOX_2();
            // sort group root element for judgement of group
            java.util.List<org.dom4j.Element> groupElementList_tAFOX_2 = new java.util.ArrayList<org.dom4j.Element>();
            org.dom4j.Element root4Group_tAFOX_2 = null;
            org.dom4j.Document doc_tAFOX_2 = null;

            doc_tAFOX_2 = org.dom4j.DocumentHelper.createDocument();

            org.dom4j.io.OutputFormat format_tAFOX_2 = org.dom4j.io.OutputFormat.createPrettyPrint();

            format_tAFOX_2.setTrimText(false);
            format_tAFOX_2.setEncoding("UTF-8");

            int[] orders_tAFOX_2 = new int[1];

            /**
             * [tAdvancedFileOutputXML_2 begin ] stop
             */

            /**
             * [tLogRow_2 begin ] start
             */

            ok_Hash.put("tLogRow_2", false);
            start_Hash.put("tLogRow_2", System.currentTimeMillis());

            currentComponent = "tLogRow_2";

            int tos_count_tLogRow_2 = 0;

            /**
             * [tLogRow_2 begin ] stop
             */

            /**
             * [tExtractDelimitedFields_1 begin ] start
             */

            ok_Hash.put("tExtractDelimitedFields_1", false);
            start_Hash.put("tExtractDelimitedFields_1", System.currentTimeMillis());

            currentComponent = "tExtractDelimitedFields_1";

            int tos_count_tExtractDelimitedFields_1 = 0;

            int nb_line_tExtractDelimitedFields_1 = 0;

            /**
             * [tExtractDelimitedFields_1 begin ] stop
             */

            /**
             * [tNormalize_2 begin ] start
             */

            ok_Hash.put("tNormalize_2", false);
            start_Hash.put("tNormalize_2", System.currentTimeMillis());

            currentComponent = "tNormalize_2";

            int tos_count_tNormalize_2 = 0;

            int nb_line_tNormalize_2 = 0;
            String tmp_tNormalize_2 = null;
            StringBuilder currentRecord_tNormalize_2 = null;
            String[] normalizeRecord_tNormalize_2 = null;
            java.util.Set<String> recordSet_tNormalize_2 = new java.util.HashSet<String>();

            /**
             * [tNormalize_2 begin ] stop
             */

            /**
             * [tMap_1 begin ] start
             */

            ok_Hash.put("tMap_1", false);
            start_Hash.put("tMap_1", System.currentTimeMillis());

            currentComponent = "tMap_1";

            int tos_count_tMap_1 = 0;

            // ###############################
            // # Lookup's keys initialization

            org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<propertiesStruct> tHash_Lookup_properties = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<propertiesStruct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<propertiesStruct>) globalMap
                    .get("tHash_Lookup_properties"));

            tHash_Lookup_properties.initGet();

            propertiesStruct propertiesHashKey = new propertiesStruct();
            propertiesStruct propertiesDefault = new propertiesStruct();
            // ###############################

            // ###############################
            // # Vars initialization
            class Var__tMap_1__Struct {
                String filename;
                String filepath;
                String fileext;
                String dateStamp;
                String uuidbase;
                String mdUuid;
                String fcatUuid;
                String layerName;
                String east;
                String west;
                String south;
                String north;
                String mdIndividualName;
                String mdOrganisationName;
                String mdPositionName;
                String mdVoice;
                String mdDeliveryPoint;
                String mdCity;
                String mdAdministrativeArea;
                String mdPostalCode;
                String mdCountry;
                String mdEmail;
                String individualName;
                String organisationName;
                String positionName;
                String voice;
                String deliveryPoint;
                String city;
                String administrativeArea;
                String postalCode;
                String country;
                String email;
                String title;
                String srs;
            }
            Var__tMap_1__Struct Var__tMap_1 = new Var__tMap_1__Struct();
            // ###############################

            // ###############################
            // # Outputs initialization
            iso19115Struct iso19115_tmp = new iso19115Struct();
            // ###############################

            /**
             * [tMap_1 begin ] stop
             */

            /**
             * [sGdalInfoInput_2 begin ] start
             */

            ok_Hash.put("sGdalInfoInput_2", false);
            start_Hash.put("sGdalInfoInput_2", System.currentTimeMillis());

            currentComponent = "sGdalInfoInput_2";

            int tos_count_sGdalInfoInput_2 = 0;

            // Fixed number of line. Only one row to extract information.
            int nb_line_sGdalInfoInput_2 = 1;

            /* Initialize GDAL main variables */
            org.gdal.gdal.Dataset dataset_sGdalInfoInput_2 = null;
            org.gdal.gdal.Driver driver_sGdalInfoInput_2 = null;
            org.gdal.osr.SpatialReference proj_sGdalInfoInput_2, latlon_sGdalInfoInput_2 = null;
            org.gdal.osr.CoordinateTransformation transform_sGdalInfoInput_2 = null;

            /* Initialize JTS main variables */
            com.vividsolutions.jts.geom.GeometryFactory gFact_sGdalInfoInput_2 = new com.vividsolutions.jts.geom.GeometryFactory();

            /* Initialize variables */
            String srs_sGdalInfoInput_2 = null;
            org.opengis.referencing.crs.CoordinateReferenceSystem crs_sGdalInfoInput_2 = null;
            // Default SRS EPSG code, if none is found
            int epsg_code_sGdalInfoInput_2 = -1;
            String datasetName_sGdalInfoInput_2 = /**
                                                  * Start field
                                                  * sGdalInfoInput_2:FILENAME
                                                  */
                    context.file/** End field sGdalInfoInput_2:FILENAME */
            ;
            String FS_sGdalInfoInput_2 = /**
                                         * Start field
                                         * sGdalInfoInput_2:FIELD_SEPARATOR
                                         */
                    " | "/** End field sGdalInfoInput_2:FIELD_SEPARATOR */
            ;
            int nbErrors_sGdalInfoInput_2 = 0;
            String errors_sGdalInfoInput_2 = "";

            // Register all known configured GDAL drivers.
            try {
                org.gdal.gdal.gdal.AllRegister();
            } catch (java.lang.UnsatisfiedLinkError e) {
                System.err.println(
                        "In order to use GDAL/OGR in Talend, the java.library.path variable should point to GDAL library.");
                System.err.println(
                        "To set this property, go to the Run view > Advanced settings > Use specific JVM Arguments");
                System.err.println("and add a new argument:");
                System.err.println("  -Djava.library.path=/path/to/gdal/swig/java");
                System.err.println("");
                e.printStackTrace();
                // Aborting due to wrong GDAL driver configuration
                throw e;
            }

            // Open a GDAL dataset
            dataset_sGdalInfoInput_2 = org.gdal.gdal.gdal.Open(datasetName_sGdalInfoInput_2,
                    org.gdal.gdalconst.gdalconstConstants.GA_ReadOnly);

            if (dataset_sGdalInfoInput_2 == null) {
                nbErrors_sGdalInfoInput_2++;
                errors_sGdalInfoInput_2 = "FAILURE: " + "Unable to open datasource `"
                        + datasetName_sGdalInfoInput_2 + "' with the GDAL drivers. "
                        + "Dataset is null : GDALOpen failed - " + org.gdal.gdal.gdal.GetLastErrorNo() + ". "
                        + org.gdal.gdal.gdal.GetLastErrorMsg();
                System.err.println(errors_sGdalInfoInput_2);
                for (int iDriver = 0; iDriver < org.gdal.gdal.gdal.GetDriverCount(); iDriver++) {
                    System.err.println("  -> " + org.gdal.gdal.gdal.GetDriver(iDriver).getLongName());
                }
                System.err.println("Drivers number " + org.gdal.gdal.gdal.GetDriverCount());
            } else {

                // Get current GDAL driver
                driver_sGdalInfoInput_2 = dataset_sGdalInfoInput_2.GetDriver();

                /* Handle Projection - lat/long transformation */
                String projection_sGdalInfoInput_2 = dataset_sGdalInfoInput_2.GetProjectionRef();
                if (projection_sGdalInfoInput_2 != null && projection_sGdalInfoInput_2.length() > 0) {
                    proj_sGdalInfoInput_2 = new org.gdal.osr.SpatialReference(projection_sGdalInfoInput_2);
                    if (proj_sGdalInfoInput_2 == null) {
                        // No projection
                    } else {
                        srs_sGdalInfoInput_2 = proj_sGdalInfoInput_2.ExportToPrettyWkt(0);
                        if ("EPSG".equals(proj_sGdalInfoInput_2.GetAuthorityName(null))) {
                            epsg_code_sGdalInfoInput_2 = Integer
                                    .parseInt(proj_sGdalInfoInput_2.GetAuthorityCode(null));
                            try {
                                crs_sGdalInfoInput_2 = org.geotools.referencing.CRS
                                        .decode("EPSG:" + epsg_code_sGdalInfoInput_2);
                            } catch (Exception e) {
                                System.err.println("Error trying to identify SRS from EPSG code. Error is: "
                                        + e.getMessage() + ".");

                            }
                        } else {
                            // use WKT and init GeoTools CRS
                            try {
                                if (srs_sGdalInfoInput_2 != null) {
                                    crs_sGdalInfoInput_2 = org.geotools.referencing.CRS
                                            .parseWKT(srs_sGdalInfoInput_2);
                                }
                            } catch (Exception e) {
                                System.err.println(
                                        "Error trying to identify SRS from WKT. Error is: " + e.getMessage());
                            }
                        }
                        latlon_sGdalInfoInput_2 = proj_sGdalInfoInput_2.CloneGeogCS();
                    }

                    if (latlon_sGdalInfoInput_2 != null) {
                        org.gdal.gdal.gdal.PushErrorHandler("CPLQuietErrorHandler");
                        transform_sGdalInfoInput_2 = new org.gdal.osr.CoordinateTransformation(
                                proj_sGdalInfoInput_2, latlon_sGdalInfoInput_2);
                        org.gdal.gdal.gdal.PopErrorHandler();
                        latlon_sGdalInfoInput_2.delete();
                        if (org.gdal.gdal.gdal.GetLastErrorMsg()
                                .indexOf("Unable to load PROJ.4 library") != -1) {
                            transform_sGdalInfoInput_2 = null;
                        }
                    }
                }

                /* Affine GeoTransform */
                org.talend.sdi.geometry.Geometry geom_origin_sGdalInfoInput_2 = null;
                String pixel_size_sGdalInfoInput_2 = null;
                String geotransform_sGdalInfoInput_2 = null;
                double[] adfGeoTransform_sGdalInfoInput_2 = new double[6];
                dataset_sGdalInfoInput_2.GetGeoTransform(adfGeoTransform_sGdalInfoInput_2);

                if (adfGeoTransform_sGdalInfoInput_2[2] == 0.0 && adfGeoTransform_sGdalInfoInput_2[4] == 0.0) {
                    /* Create point origin */
                    com.vividsolutions.jts.geom.Coordinate origin_coord_sGdalInfoInput_2 = new com.vividsolutions.jts.geom.Coordinate(
                            adfGeoTransform_sGdalInfoInput_2[0], adfGeoTransform_sGdalInfoInput_2[3]);
                    geom_origin_sGdalInfoInput_2 = new org.talend.sdi.geometry.Geometry(
                            (com.vividsolutions.jts.geom.Geometry) gFact_sGdalInfoInput_2
                                    .createPoint(origin_coord_sGdalInfoInput_2));
                    /* Pixel size */
                    pixel_size_sGdalInfoInput_2 = adfGeoTransform_sGdalInfoInput_2[1] + ","
                            + adfGeoTransform_sGdalInfoInput_2[5];
                } else {
                    geotransform_sGdalInfoInput_2 = adfGeoTransform_sGdalInfoInput_2[0] + ", "
                            + adfGeoTransform_sGdalInfoInput_2[1] + ", " + adfGeoTransform_sGdalInfoInput_2[2]
                            + "\n " + adfGeoTransform_sGdalInfoInput_2[3] + ", "
                            + adfGeoTransform_sGdalInfoInput_2[4] + ", " + adfGeoTransform_sGdalInfoInput_2[5];
                }

                /* Compute extent */
                java.util.HashMap<String, double[]> corners_sGdalInfoInput_2 = new java.util.HashMap<String, double[]>(
                        5);
                double[] upper_left_corner_sGdalInfoInput_2 = { 0.0, 0.0 };
                double[] lower_left_corner_sGdalInfoInput_2 = { 0.0,
                        dataset_sGdalInfoInput_2.getRasterYSize() };
                double[] upper_right_corner_sGdalInfoInput_2 = { dataset_sGdalInfoInput_2.getRasterXSize(),
                        0.0 };
                double[] lower_right_corner_sGdalInfoInput_2 = { dataset_sGdalInfoInput_2.getRasterXSize(),
                        dataset_sGdalInfoInput_2.getRasterYSize() };
                double[] center_sGdalInfoInput_2 = { dataset_sGdalInfoInput_2.getRasterXSize() / 2.0,
                        dataset_sGdalInfoInput_2.getRasterYSize() / 2.0 };

                corners_sGdalInfoInput_2.put("upperLeft", upper_left_corner_sGdalInfoInput_2);
                corners_sGdalInfoInput_2.put("lowerLeft", lower_left_corner_sGdalInfoInput_2);
                corners_sGdalInfoInput_2.put("upperRight", upper_right_corner_sGdalInfoInput_2);
                corners_sGdalInfoInput_2.put("lowerRight", lower_right_corner_sGdalInfoInput_2);
                corners_sGdalInfoInput_2.put("center", center_sGdalInfoInput_2);

                java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate> geoXY_sGdalInfoInput_2 = new java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate>(
                        5);
                java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate> latlonXY_sGdalInfoInput_2 = new java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate>(
                        5);

                for (String corner_sGdalInfoInput_2 : corners_sGdalInfoInput_2.keySet()) {
                    com.vividsolutions.jts.geom.Coordinate coord_sGdalInfoInput_2 = new com.vividsolutions.jts.geom.Coordinate();
                    if (adfGeoTransform_sGdalInfoInput_2[0] == 0 && adfGeoTransform_sGdalInfoInput_2[1] == 0
                            && adfGeoTransform_sGdalInfoInput_2[2] == 0
                            && adfGeoTransform_sGdalInfoInput_2[3] == 0
                            && adfGeoTransform_sGdalInfoInput_2[4] == 0
                            && adfGeoTransform_sGdalInfoInput_2[5] == 0) {
                        coord_sGdalInfoInput_2.x = corners_sGdalInfoInput_2.get(corner_sGdalInfoInput_2)[0];
                        coord_sGdalInfoInput_2.y = corners_sGdalInfoInput_2.get(corner_sGdalInfoInput_2)[1];
                    } else {
                        coord_sGdalInfoInput_2.x = adfGeoTransform_sGdalInfoInput_2[0]
                                + adfGeoTransform_sGdalInfoInput_2[1]
                                        * corners_sGdalInfoInput_2.get(corner_sGdalInfoInput_2)[0]
                                + adfGeoTransform_sGdalInfoInput_2[2]
                                        * corners_sGdalInfoInput_2.get(corner_sGdalInfoInput_2)[1];
                        coord_sGdalInfoInput_2.y = adfGeoTransform_sGdalInfoInput_2[3]
                                + adfGeoTransform_sGdalInfoInput_2[4]
                                        * corners_sGdalInfoInput_2.get(corner_sGdalInfoInput_2)[0]
                                + adfGeoTransform_sGdalInfoInput_2[5]
                                        * corners_sGdalInfoInput_2.get(corner_sGdalInfoInput_2)[1];
                    }
                    geoXY_sGdalInfoInput_2.put(corner_sGdalInfoInput_2, coord_sGdalInfoInput_2);

                    // lat/long transformation
                    if (transform_sGdalInfoInput_2 != null) {
                        double[] transPoint_sGdalInfoInput_2 = new double[3];
                        transform_sGdalInfoInput_2.TransformPoint(transPoint_sGdalInfoInput_2,
                                coord_sGdalInfoInput_2.x, coord_sGdalInfoInput_2.y, 0);
                        latlonXY_sGdalInfoInput_2.put(corner_sGdalInfoInput_2,
                                new com.vividsolutions.jts.geom.Coordinate(transPoint_sGdalInfoInput_2[0],
                                        transPoint_sGdalInfoInput_2[1]));
                    }
                }

                fromActualFile.driver = driver_sGdalInfoInput_2.getShortName() + "/"
                        + driver_sGdalInfoInput_2.getLongName();
                // Loop over associated files.
                String files_sGdalInfoInput_2 = null;
                java.util.Vector<String> fileList_sGdalInfoInput_2 = dataset_sGdalInfoInput_2.GetFileList();
                boolean singleFile_sGdalInfoInput_2 = true;
                for (String file_sGdalInfoInput_2 : fileList_sGdalInfoInput_2) {
                    if (singleFile_sGdalInfoInput_2) {
                        files_sGdalInfoInput_2 = file_sGdalInfoInput_2;
                        singleFile_sGdalInfoInput_2 = false;
                    } else {
                        files_sGdalInfoInput_2 += FS_sGdalInfoInput_2 + file_sGdalInfoInput_2;
                    }
                }
                fromActualFile.files = files_sGdalInfoInput_2;
                fromActualFile.x_size = dataset_sGdalInfoInput_2.getRasterXSize();
                fromActualFile.y_size = dataset_sGdalInfoInput_2.getRasterYSize();
                fromActualFile.srs = srs_sGdalInfoInput_2;
                fromActualFile.epsg_code = epsg_code_sGdalInfoInput_2;
                fromActualFile.origin = geom_origin_sGdalInfoInput_2;
                fromActualFile.pixel_size = pixel_size_sGdalInfoInput_2;
                fromActualFile.geotransform = geotransform_sGdalInfoInput_2;
                // the center of the extent (Point)
                org.talend.sdi.geometry.Geometry geom_center_sGdalInfoInput_2 = new org.talend.sdi.geometry.Geometry(
                        (com.vividsolutions.jts.geom.Geometry) gFact_sGdalInfoInput_2
                                .createPoint(geoXY_sGdalInfoInput_2.get("center")));
                if (crs_sGdalInfoInput_2 != null) {
                    geom_center_sGdalInfoInput_2.setCRS(crs_sGdalInfoInput_2);
                }
                fromActualFile.center = geom_center_sGdalInfoInput_2;
                // the geo extent (Polygon)
                com.vividsolutions.jts.geom.Coordinate[] geoCoords_sGdalInfoInput_2 = new com.vividsolutions.jts.geom.Coordinate[5];
                geoCoords_sGdalInfoInput_2[0] = geoXY_sGdalInfoInput_2.get("upperLeft");
                geoCoords_sGdalInfoInput_2[1] = geoXY_sGdalInfoInput_2.get("lowerLeft");
                geoCoords_sGdalInfoInput_2[2] = geoXY_sGdalInfoInput_2.get("lowerRight");
                geoCoords_sGdalInfoInput_2[3] = geoXY_sGdalInfoInput_2.get("upperRight");
                geoCoords_sGdalInfoInput_2[4] = geoXY_sGdalInfoInput_2.get("upperLeft");

                org.talend.sdi.geometry.Geometry geo_extent_sGdalInfoInput_2 = new org.talend.sdi.geometry.Geometry(
                        (com.vividsolutions.jts.geom.Geometry) gFact_sGdalInfoInput_2.createPolygon(
                                gFact_sGdalInfoInput_2.createLinearRing(geoCoords_sGdalInfoInput_2), null));
                if (crs_sGdalInfoInput_2 != null) {
                    geo_extent_sGdalInfoInput_2.setCRS(crs_sGdalInfoInput_2);
                }
                fromActualFile.geo_extent = geo_extent_sGdalInfoInput_2;
                // the lat/long extent (Polygon)
                org.talend.sdi.geometry.Geometry latlon_extent_sGdalInfoInput_2 = null;
                if (!latlonXY_sGdalInfoInput_2.isEmpty()) {
                    com.vividsolutions.jts.geom.Coordinate[] latlonCoords_sGdalInfoInput_2 = new com.vividsolutions.jts.geom.Coordinate[5];
                    latlonCoords_sGdalInfoInput_2[0] = latlonXY_sGdalInfoInput_2.get("upperLeft");
                    latlonCoords_sGdalInfoInput_2[1] = latlonXY_sGdalInfoInput_2.get("lowerLeft");
                    latlonCoords_sGdalInfoInput_2[2] = latlonXY_sGdalInfoInput_2.get("lowerRight");
                    latlonCoords_sGdalInfoInput_2[3] = latlonXY_sGdalInfoInput_2.get("upperRight");
                    latlonCoords_sGdalInfoInput_2[4] = latlonXY_sGdalInfoInput_2.get("upperLeft");

                    latlon_extent_sGdalInfoInput_2 = new org.talend.sdi.geometry.Geometry(
                            (com.vividsolutions.jts.geom.Geometry) gFact_sGdalInfoInput_2.createPolygon(
                                    gFact_sGdalInfoInput_2.createLinearRing(latlonCoords_sGdalInfoInput_2),
                                    null));
                    latlon_extent_sGdalInfoInput_2.setCRS(org.geotools.referencing.CRS.decode("EPSG:4326"));
                }

                fromActualFile.latlon_extent = latlon_extent_sGdalInfoInput_2;
                // Loop over the bands if any.
                String bandsInfo_sGdalInfoInput_2 = "";
                for (int iBand_sGdalInfoInput_2 = 0; iBand_sGdalInfoInput_2 < dataset_sGdalInfoInput_2
                        .getRasterCount(); iBand_sGdalInfoInput_2++) {
                    org.gdal.gdal.Band band_sGdalInfoInput_2 = dataset_sGdalInfoInput_2
                            .GetRasterBand(iBand_sGdalInfoInput_2 + 1);
                    int[] blockXSize_sGdalInfoInput_2 = new int[1];
                    int[] blockYSize_sGdalInfoInput_2 = new int[1];
                    band_sGdalInfoInput_2.GetBlockSize(blockXSize_sGdalInfoInput_2,
                            blockYSize_sGdalInfoInput_2);
                    if (iBand_sGdalInfoInput_2 > 0) {
                        bandsInfo_sGdalInfoInput_2 += FS_sGdalInfoInput_2;
                    }

                    bandsInfo_sGdalInfoInput_2 += "Band : " + (iBand_sGdalInfoInput_2 + 1) + " Block="
                            + blockXSize_sGdalInfoInput_2[0] + "x" + blockYSize_sGdalInfoInput_2[0] + " Type="
                            + org.gdal.gdal.gdal.GetDataTypeName(band_sGdalInfoInput_2.getDataType())
                            + ", ColorInterp=" + org.gdal.gdal.gdal.GetColorInterpretationName(
                                    band_sGdalInfoInput_2.GetRasterColorInterpretation());
                }
                fromActualFile.bands = bandsInfo_sGdalInfoInput_2;

                /**
                 * [sGdalInfoInput_2 begin ] stop
                 */

                /**
                 * [sGdalInfoInput_2 main ] start
                 */

                currentComponent = "sGdalInfoInput_2";

                tos_count_sGdalInfoInput_2++;

                /**
                 * [sGdalInfoInput_2 main ] stop
                 */

                /**
                 * [tMap_1 main ] start
                 */

                currentComponent = "tMap_1";

                boolean hasCasePrimitiveKeyWithNull_tMap_1 = false;

                // ###############################
                // # Input tables (lookups)
                boolean rejectedInnerJoin_tMap_1 = false;
                boolean mainRowRejected_tMap_1 = false;

                // /////////////////////////////////////////////
                // Starting Lookup Table "properties"
                // /////////////////////////////////////////////

                boolean forceLoopproperties = false;

                propertiesStruct propertiesObjectFromLookup = null;

                if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                    tHash_Lookup_properties.lookup(propertiesHashKey);

                    if (!tHash_Lookup_properties.hasNext()) { // G_TM_M_090

                        forceLoopproperties = true;

                    } // G_TM_M_090

                } // G_TM_M_020

                else { // G 20 - G 21
                    forceLoopproperties = true;
                } // G 21

                propertiesStruct properties = null;

                while ((tHash_Lookup_properties != null && tHash_Lookup_properties.hasNext())
                        || forceLoopproperties) { // G_TM_M_043

                    // CALL close loop of lookup 'properties'

                    propertiesStruct fromLookup_properties = null;
                    properties = propertiesDefault;

                    if (!forceLoopproperties) { // G 46

                        fromLookup_properties = tHash_Lookup_properties.next();

                        if (fromLookup_properties != null) {
                            properties = fromLookup_properties;
                        }

                        if (!rejectedInnerJoin_tMap_1 &&

                                !(

                                "geo".equals(properties.dataType)

                                )

                        ) { // G 016

                            fromLookup_properties = null;
                            properties = propertiesDefault;

                        } // G 016

                        if (fromLookup_properties == null && !rejectedInnerJoin_tMap_1) { // G 017

                            continue;

                        } // G 017

                    } // G 46

                    forceLoopproperties = false;

                    // ###############################
                    { // start of Var scope

                        // ###############################
                        // # Vars tables

                        Var__tMap_1__Struct Var = Var__tMap_1;
                        Var.filename = new java.io.File(context.file).getName();
                        Var.filepath = context.file;
                        Var.fileext = Var.filename.substring(Var.filename.lastIndexOf(".") + 1);
                        Var.dateStamp = TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss",
                                TalendDate.getCurrentDate());
                        Var.uuidbase = Var.filename;
                        Var.mdUuid = Utility.sha256Digest(Var.uuidbase);
                        Var.fcatUuid = Utility.sha256Digest(Var.uuidbase + "#iso19110");
                        Var.layerName = StringHandling.INDEX(Var.fileext, ".") > 0
                                ? (Var.filename.substring(0, Var.filename.indexOf(Var.fileext) - 1))
                                : (Var.filename);
                        Var.east = fromActualFile.latlon_extent != null
                                ? GeometryOperation.GETCOORDINATE(fromActualFile.latlon_extent, 2, "X") + ""
                                : (context.defaultProjection != null
                                        ? GeometryOperation
                                                .GETCOORDINATE(
                                                        GeometryOperation.PROJ(fromActualFile.geo_extent,
                                                                context.defaultProjection, "EPSG:4326", false),
                                                        2, "X")
                                                + ""
                                        : context.defaultXMax);
                        Var.west = fromActualFile.latlon_extent != null
                                ? GeometryOperation.GETCOORDINATE(fromActualFile.latlon_extent, 0, "X") + ""
                                : (context.defaultProjection != null
                                        ? GeometryOperation
                                                .GETCOORDINATE(
                                                        GeometryOperation.PROJ(fromActualFile.geo_extent,
                                                                context.defaultProjection, "EPSG:4326", false),
                                                        0, "X")
                                                + ""
                                        : context.defaultXMin);
                        Var.south = fromActualFile.latlon_extent != null
                                ? GeometryOperation.GETCOORDINATE(fromActualFile.latlon_extent, 2, "Y") + ""
                                : (context.defaultProjection != null
                                        ? GeometryOperation
                                                .GETCOORDINATE(
                                                        GeometryOperation.PROJ(fromActualFile.geo_extent,
                                                                context.defaultProjection, "EPSG:4326", false),
                                                        2, "Y")
                                                + ""
                                        : context.defaultYMin);
                        Var.north = fromActualFile.latlon_extent != null
                                ? GeometryOperation.GETCOORDINATE(fromActualFile.latlon_extent, 0, "Y") + ""
                                : (context.defaultProjection != null
                                        ? GeometryOperation
                                                .GETCOORDINATE(
                                                        GeometryOperation.PROJ(fromActualFile.geo_extent,
                                                                context.defaultProjection, "EPSG:4326", false),
                                                        0, "Y")
                                                + ""
                                        : context.defaultYMax);
                        Var.mdIndividualName = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                context.mdIndividualName, properties.mdIndividualName);
                        Var.mdOrganisationName = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                context.mdOrganisation, properties.mdOrganisationName);
                        Var.mdPositionName = ExtractorStringUtils
                                .returnFirstNotNullOrBlank(context.mdPositionName, properties.mdPositionName);
                        Var.mdVoice = ExtractorStringUtils.returnFirstNotNullOrBlank(context.mdVoice,
                                properties.mdVoice);
                        Var.mdDeliveryPoint = ExtractorStringUtils
                                .returnFirstNotNullOrBlank(context.mdDeliveryPoint, properties.mdDeliveryPoint);
                        Var.mdCity = ExtractorStringUtils.returnFirstNotNullOrBlank(context.mdCity,
                                properties.mdCity);
                        Var.mdAdministrativeArea = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                context.mdAdministrativeArea, properties.mdAdministrativeArea);
                        Var.mdPostalCode = ExtractorStringUtils.returnFirstNotNullOrBlank(context.mdPostalCode,
                                properties.mdPostalCode);
                        Var.mdCountry = ExtractorStringUtils.returnFirstNotNullOrBlank(context.mdCountry,
                                properties.mdCountry);
                        Var.mdEmail = ExtractorStringUtils.returnFirstNotNullOrBlank(context.mdEmail,
                                properties.mdEmail);
                        Var.individualName = ExtractorStringUtils
                                .returnFirstNotNullOrBlank(context.individualName, properties.individualName);
                        Var.organisationName = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                context.organisationName, properties.organisationName);
                        Var.positionName = ExtractorStringUtils.returnFirstNotNullOrBlank(context.positionName,
                                properties.positionName);
                        Var.voice = ExtractorStringUtils.returnFirstNotNullOrBlank(context.voice,
                                properties.voice);
                        Var.deliveryPoint = ExtractorStringUtils
                                .returnFirstNotNullOrBlank(context.deliveryPoint, properties.deliveryPoint);
                        Var.city = ExtractorStringUtils.returnFirstNotNullOrBlank(context.city,
                                properties.city);
                        Var.administrativeArea = ExtractorStringUtils
                                .returnFirstNotNullOrBlank(context.administrativeArea, properties.adminArea);
                        Var.postalCode = ExtractorStringUtils.returnFirstNotNullOrBlank(context.postalCode,
                                properties.postalCode);
                        Var.country = ExtractorStringUtils.returnFirstNotNullOrBlank(context.country,
                                properties.country);
                        Var.email = ExtractorStringUtils.returnFirstNotNullOrBlank(context.email,
                                properties.email);
                        Var.title = context.titlePrefixRaster + Var.filename;
                        Var.srs = fromActualFile.epsg_code == -1 ? context.defaultProjection
                                : "EPSG:" + fromActualFile.epsg_code;// ###############################
                        // ###############################
                        // # Output tables

                        iso19115 = null;

                        // # Output table : 'iso19115'
                        iso19115_tmp.mdIdentifier = Var.mdUuid;
                        iso19115_tmp.mdLanguage = null;
                        iso19115_tmp.mdCharacterSetCode = null;
                        iso19115_tmp.ciRoleCode = null;
                        iso19115_tmp.mdOrganisation = Var.mdOrganisationName;
                        iso19115_tmp.mdVoice = Var.mdVoice;
                        iso19115_tmp.mdIndividualName = Var.mdIndividualName;
                        iso19115_tmp.mdPositionName = Var.mdPositionName;
                        iso19115_tmp.mdDeliveryPoint = Var.mdDeliveryPoint;
                        iso19115_tmp.mdCity = Var.mdCity;
                        iso19115_tmp.mdAdministrativeArea = Var.mdAdministrativeArea;
                        iso19115_tmp.mdPostalCode = Var.mdPostalCode;
                        iso19115_tmp.mdCountry = Var.mdCountry;
                        iso19115_tmp.mdEmail = Var.mdEmail;
                        iso19115_tmp.mdDate = Var.dateStamp;
                        iso19115_tmp.title = Var.title;
                        iso19115_tmp.organisationName = Var.organisationName;
                        iso19115_tmp.voice = Var.voice;
                        iso19115_tmp.email = Var.email;
                        iso19115_tmp.individualName = Var.individualName;
                        iso19115_tmp.positionName = Var.positionName;
                        iso19115_tmp.deliveryPoint = Var.deliveryPoint;
                        iso19115_tmp.city = Var.city;
                        iso19115_tmp.administrativeArea = Var.administrativeArea;
                        iso19115_tmp.postalCode = Var.postalCode;
                        iso19115_tmp.country = Var.country;
                        iso19115_tmp.spatialRepresentationType = "grid";
                        iso19115_tmp.scaleDenominator = properties.scaleDenominator;
                        iso19115_tmp.topicCategoryCode = properties.topicCategoryCode;
                        iso19115_tmp.west = Var.west;
                        iso19115_tmp.east = Var.east;
                        iso19115_tmp.south = Var.south;
                        iso19115_tmp.north = Var.north;
                        iso19115_tmp.mdMaintenanceFrequencyCode = null;
                        iso19115_tmp.keyword = properties.keyword;
                        iso19115_tmp.keyword2 = null;
                        iso19115_tmp.keyword1_theme = null;
                        iso19115_tmp.keyword2_theme = properties.keyword2;
                        iso19115_tmp.useConstraints = properties.useConstraints;
                        iso19115_tmp.scopeCode = null;
                        iso19115_tmp.lineage = null;
                        iso19115_tmp.srs = Var.srs;
                        iso19115_tmp.columnsDef = null;
                        iso19115_tmp.layerName = null;
                        iso19115_tmp.bands = fromActualFile.bands;
                        iso19115 = iso19115_tmp;
                        // ###############################

                    } // end of Var scope

                    rejectedInnerJoin_tMap_1 = false;

                    tos_count_tMap_1++;

                    /**
                     * [tMap_1 main ] stop
                     */
                    // Start of branch "iso19115"
                    if (iso19115 != null) {

                        /**
                         * [tNormalize_2 main ] start
                         */

                        currentComponent = "tNormalize_2";

                        normalizeRecord_tNormalize_2 = new String[1];
                        if (iso19115.bands != null) {
                            if ("".equals(iso19115.bands)) {
                                normalizeRecord_tNormalize_2[0] = "";
                            } else {

                                normalizeRecord_tNormalize_2 = iso19115.bands.split("\\|", -1);

                            }
                        }
                        int lastNoEmptyIndex_tNormalize_2 = normalizeRecord_tNormalize_2.length;

                        for (int i_tNormalize_2 = 0; i_tNormalize_2 < lastNoEmptyIndex_tNormalize_2; i_tNormalize_2++) {

                            if (normalizeRecord_tNormalize_2[i_tNormalize_2] != null) {
                                normalizeRecord_tNormalize_2[i_tNormalize_2] = normalizeRecord_tNormalize_2[i_tNormalize_2]
                                        .trim();
                            }

                            currentRecord_tNormalize_2 = new StringBuilder();
                            nb_line_tNormalize_2++;

                            row2.mdIdentifier = iso19115.mdIdentifier;

                            row2.mdLanguage = iso19115.mdLanguage;

                            row2.mdCharacterSetCode = iso19115.mdCharacterSetCode;

                            row2.ciRoleCode = iso19115.ciRoleCode;

                            row2.mdOrganisation = iso19115.mdOrganisation;

                            row2.mdVoice = iso19115.mdVoice;

                            row2.mdIndividualName = iso19115.mdIndividualName;

                            row2.mdPositionName = iso19115.mdPositionName;

                            row2.mdDeliveryPoint = iso19115.mdDeliveryPoint;

                            row2.mdCity = iso19115.mdCity;

                            row2.mdAdministrativeArea = iso19115.mdAdministrativeArea;

                            row2.mdPostalCode = iso19115.mdPostalCode;

                            row2.mdCountry = iso19115.mdCountry;

                            row2.mdEmail = iso19115.mdEmail;

                            row2.mdDate = iso19115.mdDate;

                            row2.title = iso19115.title;

                            row2.organisationName = iso19115.organisationName;

                            row2.voice = iso19115.voice;

                            row2.email = iso19115.email;

                            row2.individualName = iso19115.individualName;

                            row2.positionName = iso19115.positionName;

                            row2.deliveryPoint = iso19115.deliveryPoint;

                            row2.city = iso19115.city;

                            row2.administrativeArea = iso19115.administrativeArea;

                            row2.postalCode = iso19115.postalCode;

                            row2.country = iso19115.country;

                            row2.spatialRepresentationType = iso19115.spatialRepresentationType;

                            row2.scaleDenominator = iso19115.scaleDenominator;

                            row2.topicCategoryCode = iso19115.topicCategoryCode;

                            row2.west = iso19115.west;

                            row2.east = iso19115.east;

                            row2.south = iso19115.south;

                            row2.north = iso19115.north;

                            row2.mdMaintenanceFrequencyCode = iso19115.mdMaintenanceFrequencyCode;

                            row2.keyword = iso19115.keyword;

                            row2.keyword2 = iso19115.keyword2;

                            row2.keyword1_theme = iso19115.keyword1_theme;

                            row2.keyword2_theme = iso19115.keyword2_theme;

                            row2.useConstraints = iso19115.useConstraints;

                            row2.scopeCode = iso19115.scopeCode;

                            row2.lineage = iso19115.lineage;

                            row2.srs = iso19115.srs;

                            row2.columnsDef = iso19115.columnsDef;

                            row2.layerName = iso19115.layerName;

                            row2.bands = normalizeRecord_tNormalize_2[i_tNormalize_2];

                            tos_count_tNormalize_2++;

                            /**
                             * [tNormalize_2 main ] stop
                             */

                            /**
                             * [tExtractDelimitedFields_1 main ] start
                             */

                            currentComponent = "tExtractDelimitedFields_1";

                            row1 = null;

                            row1 = new row1Struct();
                            String field_tExtractDelimitedFields_1 = row2.bands;
                            String[] newFields_tExtractDelimitedFields_1 = new String[0];
                            if (field_tExtractDelimitedFields_1 != null) {// C_01
                                try {
                                    newFields_tExtractDelimitedFields_1 = field_tExtractDelimitedFields_1
                                            .split(",", -1);
                                    int length_tExtractDelimitedFields_1 = newFields_tExtractDelimitedFields_1.length;
                                    for (int i_tExtractDelimitedFields_1 = 0; i_tExtractDelimitedFields_1 < length_tExtractDelimitedFields_1; i_tExtractDelimitedFields_1++) {
                                        newFields_tExtractDelimitedFields_1[i_tExtractDelimitedFields_1] = newFields_tExtractDelimitedFields_1[i_tExtractDelimitedFields_1]
                                                .trim();
                                    }
                                    row1.mdIdentifier = row2.mdIdentifier;
                                    row1.mdLanguage = row2.mdLanguage;
                                    row1.mdCharacterSetCode = row2.mdCharacterSetCode;
                                    row1.ciRoleCode = row2.ciRoleCode;
                                    row1.mdOrganisation = row2.mdOrganisation;
                                    row1.mdVoice = row2.mdVoice;
                                    row1.mdIndividualName = row2.mdIndividualName;
                                    row1.mdPositionName = row2.mdPositionName;
                                    row1.mdDeliveryPoint = row2.mdDeliveryPoint;
                                    row1.mdCity = row2.mdCity;
                                    row1.mdAdministrativeArea = row2.mdAdministrativeArea;
                                    row1.mdPostalCode = row2.mdPostalCode;
                                    row1.mdCountry = row2.mdCountry;
                                    row1.mdEmail = row2.mdEmail;
                                    row1.mdDate = row2.mdDate;
                                    row1.title = row2.title;
                                    row1.organisationName = row2.organisationName;
                                    row1.voice = row2.voice;
                                    row1.email = row2.email;
                                    row1.individualName = row2.individualName;
                                    row1.positionName = row2.positionName;
                                    row1.deliveryPoint = row2.deliveryPoint;
                                    row1.city = row2.city;
                                    row1.administrativeArea = row2.administrativeArea;
                                    row1.postalCode = row2.postalCode;
                                    row1.country = row2.country;
                                    row1.spatialRepresentationType = row2.spatialRepresentationType;
                                    row1.scaleDenominator = row2.scaleDenominator;
                                    row1.topicCategoryCode = row2.topicCategoryCode;
                                    row1.west = row2.west;
                                    row1.east = row2.east;
                                    row1.south = row2.south;
                                    row1.north = row2.north;
                                    row1.mdMaintenanceFrequencyCode = row2.mdMaintenanceFrequencyCode;
                                    row1.keyword = row2.keyword;
                                    row1.keyword2 = row2.keyword2;
                                    row1.keyword1_theme = row2.keyword1_theme;
                                    row1.keyword2_theme = row2.keyword2_theme;
                                    row1.useConstraints = row2.useConstraints;
                                    row1.scopeCode = row2.scopeCode;
                                    row1.lineage = row2.lineage;
                                    row1.srs = row2.srs;
                                    row1.columnsDef = row2.columnsDef;
                                    row1.layerName = row2.layerName;
                                    row1.bands = row2.bands;
                                    String temp_tExtractDelimitedFields_1 = null;
                                    row1.bandName = 0 >= length_tExtractDelimitedFields_1 ? ""
                                            : newFields_tExtractDelimitedFields_1[0];
                                    row1.bandColorInterpret = 1 >= length_tExtractDelimitedFields_1 ? ""
                                            : newFields_tExtractDelimitedFields_1[1];
                                    nb_line_tExtractDelimitedFields_1++;
                                } catch (java.lang.Exception ex_tExtractDelimitedFields_1) {
                                    System.err.println(ex_tExtractDelimitedFields_1.getMessage());
                                    row1 = null;
                                }

                                tos_count_tExtractDelimitedFields_1++;

                                /**
                                 * [tExtractDelimitedFields_1 main ] stop
                                 */
                                // Start of branch "row1"
                                if (row1 != null) {

                                    /**
                                     * [tLogRow_2 main ] start
                                     */

                                    currentComponent = "tLogRow_2";

                                    row3 = row1;

                                    tos_count_tLogRow_2++;

                                    /**
                                     * [tLogRow_2 main ] stop
                                     */

                                    /**
                                     * [tAdvancedFileOutputXML_2 main ]
                                     * start
                                     */

                                    currentComponent = "tAdvancedFileOutputXML_2";

                                    nb_line_tAFOX_2++;
                                    valueMap_tAFOX_2.clear();
                                    valueMap_tAFOX_2.put("mdIdentifier",
                                            (row1.mdIdentifier != null ? row1.mdIdentifier.toString() : null));
                                    valueMap_tAFOX_2.put("mdLanguage",
                                            (row1.mdLanguage != null ? row1.mdLanguage.toString() : "eng"));
                                    valueMap_tAFOX_2.put("mdCharacterSetCode",
                                            (row1.mdCharacterSetCode != null
                                                    ? row1.mdCharacterSetCode.toString()
                                                    : "utf-8"));
                                    valueMap_tAFOX_2.put("ciRoleCode",
                                            (row1.ciRoleCode != null ? row1.ciRoleCode.toString()
                                                    : "pointOfContact"));
                                    valueMap_tAFOX_2.put("mdOrganisation",
                                            (row1.mdOrganisation != null ? row1.mdOrganisation.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("mdVoice",
                                            (row1.mdVoice != null ? row1.mdVoice.toString() : null));
                                    valueMap_tAFOX_2.put("mdIndividualName",
                                            (row1.mdIndividualName != null ? row1.mdIndividualName.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("mdPositionName",
                                            (row1.mdPositionName != null ? row1.mdPositionName.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("mdDeliveryPoint",
                                            (row1.mdDeliveryPoint != null ? row1.mdDeliveryPoint.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("mdCity",
                                            (row1.mdCity != null ? row1.mdCity.toString() : null));
                                    valueMap_tAFOX_2.put("mdAdministrativeArea",
                                            (row1.mdAdministrativeArea != null
                                                    ? row1.mdAdministrativeArea.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("mdPostalCode",
                                            (row1.mdPostalCode != null ? row1.mdPostalCode.toString() : null));
                                    valueMap_tAFOX_2.put("mdCountry",
                                            (row1.mdCountry != null ? row1.mdCountry.toString() : null));
                                    valueMap_tAFOX_2.put("mdEmail",
                                            (row1.mdEmail != null ? row1.mdEmail.toString() : null));
                                    valueMap_tAFOX_2.put("mdDate",
                                            (row1.mdDate != null ? row1.mdDate.toString() : null));
                                    valueMap_tAFOX_2.put("title",
                                            (row1.title != null ? row1.title.toString() : null));
                                    valueMap_tAFOX_2.put("organisationName",
                                            (row1.organisationName != null ? row1.organisationName.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("voice",
                                            (row1.voice != null ? row1.voice.toString() : null));
                                    valueMap_tAFOX_2.put("email",
                                            (row1.email != null ? row1.email.toString() : null));
                                    valueMap_tAFOX_2.put("individualName",
                                            (row1.individualName != null ? row1.individualName.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("positionName",
                                            (row1.positionName != null ? row1.positionName.toString() : null));
                                    valueMap_tAFOX_2.put("deliveryPoint",
                                            (row1.deliveryPoint != null ? row1.deliveryPoint.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("city",
                                            (row1.city != null ? row1.city.toString() : null));
                                    valueMap_tAFOX_2.put("administrativeArea",
                                            (row1.administrativeArea != null
                                                    ? row1.administrativeArea.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("postalCode",
                                            (row1.postalCode != null ? row1.postalCode.toString() : null));
                                    valueMap_tAFOX_2.put("country",
                                            (row1.country != null ? row1.country.toString() : null));
                                    valueMap_tAFOX_2.put("spatialRepresentationType",
                                            (row1.spatialRepresentationType != null
                                                    ? row1.spatialRepresentationType.toString()
                                                    : "vector"));
                                    valueMap_tAFOX_2.put("scaleDenominator",
                                            (row1.scaleDenominator != null ? row1.scaleDenominator.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("topicCategoryCode",
                                            (row1.topicCategoryCode != null ? row1.topicCategoryCode.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("west",
                                            (row1.west != null ? row1.west.toString() : null));
                                    valueMap_tAFOX_2.put("east",
                                            (row1.east != null ? row1.east.toString() : null));
                                    valueMap_tAFOX_2.put("south",
                                            (row1.south != null ? row1.south.toString() : null));
                                    valueMap_tAFOX_2.put("north",
                                            (row1.north != null ? row1.north.toString() : null));
                                    valueMap_tAFOX_2.put("mdMaintenanceFrequencyCode",
                                            (row1.mdMaintenanceFrequencyCode != null
                                                    ? row1.mdMaintenanceFrequencyCode.toString()
                                                    : "asNeeded"));
                                    valueMap_tAFOX_2.put("keyword",
                                            (row1.keyword != null ? row1.keyword.toString() : null));
                                    valueMap_tAFOX_2.put("keyword2",
                                            (row1.keyword2 != null ? row1.keyword2.toString() : null));
                                    valueMap_tAFOX_2.put("keyword1_theme",
                                            (row1.keyword1_theme != null ? row1.keyword1_theme.toString()
                                                    : "theme"));
                                    valueMap_tAFOX_2.put("keyword2_theme",
                                            (row1.keyword2_theme != null ? row1.keyword2_theme.toString()
                                                    : "place"));
                                    valueMap_tAFOX_2.put("useConstraints",
                                            (row1.useConstraints != null ? row1.useConstraints.toString()
                                                    : null));
                                    valueMap_tAFOX_2.put("scopeCode",
                                            (row1.scopeCode != null ? row1.scopeCode.toString() : "dataset"));
                                    valueMap_tAFOX_2.put("lineage",
                                            (row1.lineage != null ? row1.lineage.toString() : null));
                                    valueMap_tAFOX_2.put("srs",
                                            (row1.srs != null ? row1.srs.toString() : "WGS 1984"));
                                    valueMap_tAFOX_2.put("columnsDef",
                                            (row1.columnsDef != null ? row1.columnsDef.toString() : null));
                                    valueMap_tAFOX_2.put("layerName",
                                            (row1.layerName != null ? row1.layerName.toString() : null));
                                    valueMap_tAFOX_2.put("bands",
                                            (row1.bands != null ? row1.bands.toString() : null));
                                    valueMap_tAFOX_2.put("bandName",
                                            (row1.bandName != null ? row1.bandName.toString() : null));
                                    valueMap_tAFOX_2.put("bandColorInterpret",
                                            (row1.bandColorInterpret != null
                                                    ? row1.bandColorInterpret.toString()
                                                    : null));
                                    org.dom4j.Element subTreeRootParent_tAFOX_2 = null;

                                    // build root xml tree
                                    if (needRoot_tAFOX_2) {
                                        needRoot_tAFOX_2 = false;
                                        if (orders_tAFOX_2.length > 0) {
                                            orders_tAFOX_2[0] = 0;
                                        }
                                        org.dom4j.Element root_tAFOX_2 = doc_tAFOX_2
                                                .addElement("mdb:MD_Metadata");
                                        root_tAFOX_2.addNamespace("xsi", TalendString.replaceSpecialCharForXML(
                                                "http://www.w3.org/2001/XMLSchema-instance"));
                                        root_tAFOX_2.addNamespace("cit", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/cit/1.0"));
                                        root_tAFOX_2.addNamespace("dqm", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19157/-2/dqm/1.0"));
                                        root_tAFOX_2.addNamespace("gco", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/gco/1.0"));
                                        root_tAFOX_2.addNamespace("gcx", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/gcx/1.0"));
                                        root_tAFOX_2.addNamespace("gex", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/gex/1.0"));
                                        root_tAFOX_2.addNamespace("gml", TalendString
                                                .replaceSpecialCharForXML("http://www.opengis.net/gml/3.2"));
                                        root_tAFOX_2.addNamespace("lan", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/lan/1.0"));
                                        root_tAFOX_2.addNamespace("mcc", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mcc/1.0"));
                                        root_tAFOX_2.addNamespace("mco", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mco/1.0"));
                                        root_tAFOX_2.addNamespace("mdb", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mdb/1.0"));
                                        root_tAFOX_2.addNamespace("mmi", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mmi/1.0"));
                                        root_tAFOX_2.addNamespace("mrd", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mrd/1.0"));
                                        root_tAFOX_2.addNamespace("mri", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mri/1.0"));
                                        root_tAFOX_2.addNamespace("mrl", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mrl/1.0"));
                                        root_tAFOX_2.addNamespace("mrs", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mrs/1.0"));
                                        root_tAFOX_2.addNamespace("msr", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/msr/1.0"));
                                        root_tAFOX_2.addNamespace("mrc", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/mrc/1.0"));
                                        root_tAFOX_2.addNamespace("srv", TalendString.replaceSpecialCharForXML(
                                                "http://standards.iso.org/19115/-3/srv/2.0"));
                                        root_tAFOX_2.setName("mdb:MD_Metadata");
                                        org.dom4j.Element root_0_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_0_tAFOX_2 = root_tAFOX_2.addElement("metadataIdentifier");
                                        } else {
                                            root_0_tAFOX_2 = root_tAFOX_2.addElement("mdb:metadataIdentifier");
                                        }
                                        root_0_tAFOX_2.setName("mdb:metadataIdentifier");
                                        org.dom4j.Element root_0_0_tAFOX_2;
                                        if (root_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_0_0_tAFOX_2 = root_0_tAFOX_2.addElement("MD_Identifier");
                                        } else {
                                            root_0_0_tAFOX_2 = root_0_tAFOX_2.addElement("mcc:MD_Identifier");
                                        }
                                        root_0_0_tAFOX_2.setName("mcc:MD_Identifier");
                                        org.dom4j.Element root_0_0_0_tAFOX_2;
                                        if (root_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_0_0_0_tAFOX_2 = root_0_0_tAFOX_2.addElement("code");
                                        } else {
                                            root_0_0_0_tAFOX_2 = root_0_0_tAFOX_2.addElement("mcc:code");
                                        }
                                        root_0_0_0_tAFOX_2.setName("mcc:code");
                                        org.dom4j.Element root_0_0_0_0_tAFOX_2;
                                        if (root_0_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_0_0_0_0_tAFOX_2 = root_0_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_0_0_0_0_tAFOX_2 = root_0_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdIdentifier") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_0_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdIdentifier"));
                                        }
                                        root_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_0_0_1_tAFOX_2;
                                        if (root_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_0_0_1_tAFOX_2 = root_0_0_tAFOX_2.addElement("codeSpace");
                                        } else {
                                            root_0_0_1_tAFOX_2 = root_0_0_tAFOX_2.addElement("mcc:codeSpace");
                                        }
                                        root_0_0_1_tAFOX_2.setName("mcc:codeSpace");
                                        org.dom4j.Element root_0_0_1_0_tAFOX_2;
                                        if (root_0_0_1_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_0_0_1_0_tAFOX_2 = root_0_0_1_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_0_0_1_0_tAFOX_2 = root_0_0_1_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        nestXMLTool_tAFOX_2.parseAndAdd(root_0_0_1_0_tAFOX_2, "urn:uuid");

                                        root_0_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_1_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_1_tAFOX_2 = root_tAFOX_2.addElement("defaultLocale");
                                        } else {
                                            root_1_tAFOX_2 = root_tAFOX_2.addElement("mdb:defaultLocale");
                                        }
                                        root_1_tAFOX_2.setName("mdb:defaultLocale");
                                        org.dom4j.Element root_1_0_tAFOX_2;
                                        if (root_1_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_1_0_tAFOX_2 = root_1_tAFOX_2.addElement("PT_Locale");
                                        } else {
                                            root_1_0_tAFOX_2 = root_1_tAFOX_2.addElement("lan:PT_Locale");
                                        }
                                        root_1_0_tAFOX_2.setName("lan:PT_Locale");
                                        org.dom4j.Element root_1_0_0_tAFOX_2;
                                        if (root_1_0_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_1_0_0_tAFOX_2 = root_1_0_tAFOX_2.addElement("language");
                                        } else {
                                            root_1_0_0_tAFOX_2 = root_1_0_tAFOX_2.addElement("lan:language");
                                        }
                                        root_1_0_0_tAFOX_2.setName("lan:language");
                                        org.dom4j.Element root_1_0_0_0_tAFOX_2;
                                        if (root_1_0_0_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_1_0_0_0_tAFOX_2 = root_1_0_0_tAFOX_2
                                                    .addElement("LanguageCode");
                                        } else {
                                            root_1_0_0_0_tAFOX_2 = root_1_0_0_tAFOX_2
                                                    .addElement("lan:LanguageCode");
                                        }
                                        root_1_0_0_0_tAFOX_2.addAttribute("codeList",
                                                "http://www.loc.gov/standards/iso639-2/");
                                        if (valueMap_tAFOX_2.get("mdLanguage") != null) {
                                            root_1_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("mdLanguage"));
                                        }
                                        root_1_0_0_0_tAFOX_2.setName("lan:LanguageCode");
                                        org.dom4j.Element root_1_0_1_tAFOX_2;
                                        if (root_1_0_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_1_0_1_tAFOX_2 = root_1_0_tAFOX_2
                                                    .addElement("characterEncoding");
                                        } else {
                                            root_1_0_1_tAFOX_2 = root_1_0_tAFOX_2
                                                    .addElement("lan:characterEncoding");
                                        }
                                        root_1_0_1_tAFOX_2.setName("lan:characterEncoding");
                                        org.dom4j.Element root_1_0_1_0_tAFOX_2;
                                        if (root_1_0_1_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_1_0_1_0_tAFOX_2 = root_1_0_1_tAFOX_2
                                                    .addElement("MD_CharacterSetCode");
                                        } else {
                                            root_1_0_1_0_tAFOX_2 = root_1_0_1_tAFOX_2
                                                    .addElement("lan:MD_CharacterSetCode");
                                        }
                                        root_1_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_CharacterSetCode");
                                        if (valueMap_tAFOX_2.get("mdCharacterSetCode") != null) {
                                            root_1_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("mdCharacterSetCode"));
                                        }
                                        root_1_0_1_0_tAFOX_2.setName("lan:MD_CharacterSetCode");
                                        org.dom4j.Element root_2_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_2_tAFOX_2 = root_tAFOX_2.addElement("contact");
                                        } else {
                                            root_2_tAFOX_2 = root_tAFOX_2.addElement("mdb:contact");
                                        }
                                        root_2_tAFOX_2.setName("mdb:contact");
                                        org.dom4j.Element root_2_0_tAFOX_2;
                                        if (root_2_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_tAFOX_2 = root_2_tAFOX_2.addElement("CI_Responsibility");
                                        } else {
                                            root_2_0_tAFOX_2 = root_2_tAFOX_2
                                                    .addElement("cit:CI_Responsibility");
                                        }
                                        root_2_0_tAFOX_2.setName("cit:CI_Responsibility");
                                        org.dom4j.Element root_2_0_0_tAFOX_2;
                                        if (root_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_0_tAFOX_2 = root_2_0_tAFOX_2.addElement("role");
                                        } else {
                                            root_2_0_0_tAFOX_2 = root_2_0_tAFOX_2.addElement("cit:role");
                                        }
                                        root_2_0_0_tAFOX_2.setName("cit:role");
                                        org.dom4j.Element root_2_0_0_0_tAFOX_2;
                                        if (root_2_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_0_0_tAFOX_2 = root_2_0_0_tAFOX_2.addElement("CI_RoleCode");
                                        } else {
                                            root_2_0_0_0_tAFOX_2 = root_2_0_0_tAFOX_2
                                                    .addElement("cit:CI_RoleCode");
                                        }
                                        root_2_0_0_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_RoleCode");
                                        if (valueMap_tAFOX_2.get("ciRoleCode") != null) {
                                            root_2_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("ciRoleCode"));
                                        }
                                        root_2_0_0_0_tAFOX_2.setName("cit:CI_RoleCode");
                                        org.dom4j.Element root_2_0_1_tAFOX_2;
                                        if (root_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_tAFOX_2 = root_2_0_tAFOX_2.addElement("party");
                                        } else {
                                            root_2_0_1_tAFOX_2 = root_2_0_tAFOX_2.addElement("cit:party");
                                        }
                                        root_2_0_1_tAFOX_2.setName("cit:party");
                                        org.dom4j.Element root_2_0_1_0_tAFOX_2;
                                        if (root_2_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_tAFOX_2 = root_2_0_1_tAFOX_2
                                                    .addElement("CI_Organisation");
                                        } else {
                                            root_2_0_1_0_tAFOX_2 = root_2_0_1_tAFOX_2
                                                    .addElement("cit:CI_Organisation");
                                        }
                                        root_2_0_1_0_tAFOX_2.setName("cit:CI_Organisation");
                                        org.dom4j.Element root_2_0_1_0_0_tAFOX_2;
                                        if (root_2_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_0_tAFOX_2 = root_2_0_1_0_tAFOX_2.addElement("name");
                                        } else {
                                            root_2_0_1_0_0_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                    .addElement("cit:name");
                                        }
                                        root_2_0_1_0_0_tAFOX_2.setName("cit:name");
                                        org.dom4j.Element root_2_0_1_0_0_0_tAFOX_2;
                                        if (root_2_0_1_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdOrganisation") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdOrganisation"));
                                        }
                                        root_2_0_1_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_1_tAFOX_2;
                                        if (root_2_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                    .addElement("contactInfo");
                                        } else {
                                            root_2_0_1_0_1_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                    .addElement("cit:contactInfo");
                                        }
                                        root_2_0_1_0_1_tAFOX_2.setName("cit:contactInfo");
                                        org.dom4j.Element root_2_0_1_0_1_0_tAFOX_2;
                                        if (root_2_0_1_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_tAFOX_2
                                                    .addElement("CI_Contact");
                                        } else {
                                            root_2_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_tAFOX_2
                                                    .addElement("cit:CI_Contact");
                                        }
                                        root_2_0_1_0_1_0_tAFOX_2.setName("cit:CI_Contact");
                                        org.dom4j.Element root_2_0_1_0_1_0_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_0_tAFOX_2 = root_2_0_1_0_1_0_tAFOX_2
                                                    .addElement("phone");
                                        } else {
                                            root_2_0_1_0_1_0_0_tAFOX_2 = root_2_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:phone");
                                        }
                                        root_2_0_1_0_1_0_0_tAFOX_2.setName("cit:phone");
                                        org.dom4j.Element root_2_0_1_0_1_0_0_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("CI_Telephone");
                                        } else {
                                            root_2_0_1_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("cit:CI_Telephone");
                                        }
                                        root_2_0_1_0_1_0_0_0_tAFOX_2.setName("cit:CI_Telephone");
                                        org.dom4j.Element root_2_0_1_0_1_0_0_0_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("number");
                                        } else {
                                            root_2_0_1_0_1_0_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:number");
                                        }
                                        root_2_0_1_0_1_0_0_0_0_tAFOX_2.setName("cit:number");
                                        org.dom4j.Element root_2_0_1_0_1_0_0_0_0_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdVoice") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_1_0_0_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdVoice"));
                                        }
                                        root_2_0_1_0_1_0_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_1_0_0_0_1_tAFOX_2;
                                        if (root_2_0_1_0_1_0_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_0_0_1_tAFOX_2 = root_2_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("numberType");
                                        } else {
                                            root_2_0_1_0_1_0_0_0_1_tAFOX_2 = root_2_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:numberType");
                                        }
                                        root_2_0_1_0_1_0_0_0_1_tAFOX_2.setName("cit:numberType");
                                        org.dom4j.Element root_2_0_1_0_1_0_0_0_1_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                    .addElement("CI_TelephoneTypeCode");
                                        } else {
                                            root_2_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                    .addElement("cit:CI_TelephoneTypeCode");
                                        }
                                        root_2_0_1_0_1_0_0_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_TelephoneTypeCode");
                                        root_2_0_1_0_1_0_0_0_1_0_tAFOX_2.addAttribute("codeListValue", "voice");
                                        root_2_0_1_0_1_0_0_0_1_0_tAFOX_2.setName("cit:CI_TelephoneTypeCode");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_tAFOX_2;
                                        if (root_2_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_1_tAFOX_2 = root_2_0_1_0_1_0_tAFOX_2
                                                    .addElement("address");
                                        } else {
                                            root_2_0_1_0_1_0_1_tAFOX_2 = root_2_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:address");
                                        }
                                        root_2_0_1_0_1_0_1_tAFOX_2.setName("cit:address");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_1_tAFOX_2
                                                    .addElement("CI_Address");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_1_tAFOX_2
                                                    .addElement("cit:CI_Address");
                                        }
                                        root_2_0_1_0_1_0_1_0_tAFOX_2.setName("cit:CI_Address");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_1_0_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("deliveryPoint");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:deliveryPoint");
                                        }
                                        root_2_0_1_0_1_0_1_0_0_tAFOX_2.setName("cit:deliveryPoint");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_0_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_1_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdDeliveryPoint") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_1_0_1_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdDeliveryPoint"));
                                        }
                                        root_2_0_1_0_1_0_1_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_1_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_1_0_1_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("city");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_1_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:city");
                                        }
                                        root_2_0_1_0_1_0_1_0_1_tAFOX_2.setName("cit:city");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_1_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_1_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_1_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_1_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_1_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdCity") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_1_0_1_0_1_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdCity"));
                                        }
                                        root_2_0_1_0_1_0_1_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_2_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_1_0_2_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("administrativeArea");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_2_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:administrativeArea");
                                        }
                                        root_2_0_1_0_1_0_1_0_2_tAFOX_2.setName("cit:administrativeArea");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_2_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_2_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_1_0_1_0_2_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_2_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_2_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_2_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdAdministrativeArea") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_1_0_1_0_2_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdAdministrativeArea"));
                                        }
                                        root_2_0_1_0_1_0_1_0_2_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_3_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_1_0_3_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("postalCode");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_3_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:postalCode");
                                        }
                                        root_2_0_1_0_1_0_1_0_3_tAFOX_2.setName("cit:postalCode");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_3_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_3_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_1_0_1_0_3_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_3_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_3_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_3_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdPostalCode") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_1_0_1_0_3_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdPostalCode"));
                                        }
                                        root_2_0_1_0_1_0_1_0_3_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_4_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_1_0_4_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("country");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_4_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:country");
                                        }
                                        root_2_0_1_0_1_0_1_0_4_tAFOX_2.setName("cit:country");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_4_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_4_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_1_0_1_0_4_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_4_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_4_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_4_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdCountry") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_1_0_1_0_4_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdCountry"));
                                        }
                                        root_2_0_1_0_1_0_1_0_4_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_5_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_1_0_1_0_5_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("electronicMailAddress");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_5_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:electronicMailAddress");
                                        }
                                        root_2_0_1_0_1_0_1_0_5_tAFOX_2.setName("cit:electronicMailAddress");
                                        org.dom4j.Element root_2_0_1_0_1_0_1_0_5_0_tAFOX_2;
                                        if (root_2_0_1_0_1_0_1_0_5_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_1_0_1_0_5_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_5_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_1_0_1_0_5_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_5_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdEmail") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_1_0_1_0_5_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdEmail"));
                                        }
                                        root_2_0_1_0_1_0_1_0_5_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_2_tAFOX_2;
                                        if (root_2_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_2_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                    .addElement("individual");
                                        } else {
                                            root_2_0_1_0_2_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                    .addElement("cit:individual");
                                        }
                                        root_2_0_1_0_2_tAFOX_2.setName("cit:individual");
                                        org.dom4j.Element root_2_0_1_0_2_0_tAFOX_2;
                                        if (root_2_0_1_0_2_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_2_0_tAFOX_2 = root_2_0_1_0_2_tAFOX_2
                                                    .addElement("CI_Individual");
                                        } else {
                                            root_2_0_1_0_2_0_tAFOX_2 = root_2_0_1_0_2_tAFOX_2
                                                    .addElement("cit:CI_Individual");
                                        }
                                        root_2_0_1_0_2_0_tAFOX_2.setName("cit:CI_Individual");
                                        org.dom4j.Element root_2_0_1_0_2_0_0_tAFOX_2;
                                        if (root_2_0_1_0_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_2_0_0_tAFOX_2 = root_2_0_1_0_2_0_tAFOX_2
                                                    .addElement("name");
                                        } else {
                                            root_2_0_1_0_2_0_0_tAFOX_2 = root_2_0_1_0_2_0_tAFOX_2
                                                    .addElement("cit:name");
                                        }
                                        root_2_0_1_0_2_0_0_tAFOX_2.setName("cit:name");
                                        org.dom4j.Element root_2_0_1_0_2_0_0_0_tAFOX_2;
                                        if (root_2_0_1_0_2_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_2_0_0_0_tAFOX_2 = root_2_0_1_0_2_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_2_0_0_0_tAFOX_2 = root_2_0_1_0_2_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdIndividualName") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_2_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdIndividualName"));
                                        }
                                        root_2_0_1_0_2_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_2_0_1_0_2_0_1_tAFOX_2;
                                        if (root_2_0_1_0_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_2_0_1_0_2_0_1_tAFOX_2 = root_2_0_1_0_2_0_tAFOX_2
                                                    .addElement("positionName");
                                        } else {
                                            root_2_0_1_0_2_0_1_tAFOX_2 = root_2_0_1_0_2_0_tAFOX_2
                                                    .addElement("cit:positionName");
                                        }
                                        root_2_0_1_0_2_0_1_tAFOX_2.setName("cit:positionName");
                                        org.dom4j.Element root_2_0_1_0_2_0_1_0_tAFOX_2;
                                        if (root_2_0_1_0_2_0_1_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_2_0_1_0_2_0_1_0_tAFOX_2 = root_2_0_1_0_2_0_1_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_2_0_1_0_2_0_1_0_tAFOX_2 = root_2_0_1_0_2_0_1_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("mdPositionName") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_2_0_1_0_2_0_1_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdPositionName"));
                                        }
                                        root_2_0_1_0_2_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_3_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_3_tAFOX_2 = root_tAFOX_2.addElement("dateInfo");
                                        } else {
                                            root_3_tAFOX_2 = root_tAFOX_2.addElement("mdb:dateInfo");
                                        }
                                        root_3_tAFOX_2.setName("mdb:dateInfo");
                                        org.dom4j.Element root_3_0_tAFOX_2;
                                        if (root_3_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_3_0_tAFOX_2 = root_3_tAFOX_2.addElement("CI_Date");
                                        } else {
                                            root_3_0_tAFOX_2 = root_3_tAFOX_2.addElement("cit:CI_Date");
                                        }
                                        root_3_0_tAFOX_2.setName("cit:CI_Date");
                                        org.dom4j.Element root_3_0_0_tAFOX_2;
                                        if (root_3_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_3_0_0_tAFOX_2 = root_3_0_tAFOX_2.addElement("date");
                                        } else {
                                            root_3_0_0_tAFOX_2 = root_3_0_tAFOX_2.addElement("cit:date");
                                        }
                                        root_3_0_0_tAFOX_2.setName("cit:date");
                                        org.dom4j.Element root_3_0_0_0_tAFOX_2;
                                        if (root_3_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_3_0_0_0_tAFOX_2 = root_3_0_0_tAFOX_2.addElement("DateTime");
                                        } else {
                                            root_3_0_0_0_tAFOX_2 = root_3_0_0_tAFOX_2
                                                    .addElement("gco:DateTime");
                                        }
                                        if (valueMap_tAFOX_2.get("mdDate") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_3_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdDate"));
                                        }
                                        root_3_0_0_0_tAFOX_2.setName("gco:DateTime");
                                        org.dom4j.Element root_3_0_1_tAFOX_2;
                                        if (root_3_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_3_0_1_tAFOX_2 = root_3_0_tAFOX_2.addElement("dateType");
                                        } else {
                                            root_3_0_1_tAFOX_2 = root_3_0_tAFOX_2.addElement("cit:dateType");
                                        }
                                        root_3_0_1_tAFOX_2.setName("cit:dateType");
                                        org.dom4j.Element root_3_0_1_0_tAFOX_2;
                                        if (root_3_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_3_0_1_0_tAFOX_2 = root_3_0_1_tAFOX_2
                                                    .addElement("CI_DateTypeCode");
                                        } else {
                                            root_3_0_1_0_tAFOX_2 = root_3_0_1_tAFOX_2
                                                    .addElement("cit:CI_DateTypeCode");
                                        }
                                        root_3_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_DateTypeCode");
                                        root_3_0_1_0_tAFOX_2.addAttribute("codeListValue", "creation");
                                        root_3_0_1_0_tAFOX_2.setName("cit:CI_DateTypeCode");
                                        org.dom4j.Element root_4_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_4_tAFOX_2 = root_tAFOX_2.addElement("metadataStandard");
                                        } else {
                                            root_4_tAFOX_2 = root_tAFOX_2.addElement("mdb:metadataStandard");
                                        }
                                        root_4_tAFOX_2.setName("mdb:metadataStandard");
                                        org.dom4j.Element root_4_0_tAFOX_2;
                                        if (root_4_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_4_0_tAFOX_2 = root_4_tAFOX_2.addElement("CI_Citation");
                                        } else {
                                            root_4_0_tAFOX_2 = root_4_tAFOX_2.addElement("cit:CI_Citation");
                                        }
                                        root_4_0_tAFOX_2.setName("cit:CI_Citation");
                                        org.dom4j.Element root_4_0_0_tAFOX_2;
                                        if (root_4_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_4_0_0_tAFOX_2 = root_4_0_tAFOX_2.addElement("title");
                                        } else {
                                            root_4_0_0_tAFOX_2 = root_4_0_tAFOX_2.addElement("cit:title");
                                        }
                                        root_4_0_0_tAFOX_2.setName("cit:title");
                                        org.dom4j.Element root_4_0_0_0_tAFOX_2;
                                        if (root_4_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_4_0_0_0_tAFOX_2 = root_4_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_4_0_0_0_tAFOX_2 = root_4_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        nestXMLTool_tAFOX_2.parseAndAdd(root_4_0_0_0_tAFOX_2, "ISO 19115-3");

                                        root_4_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_5_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_5_tAFOX_2 = root_tAFOX_2.addElement("referenceSystemInfo");
                                        } else {
                                            root_5_tAFOX_2 = root_tAFOX_2.addElement("mdb:referenceSystemInfo");
                                        }
                                        root_5_tAFOX_2.setName("mdb:referenceSystemInfo");
                                        org.dom4j.Element root_5_0_tAFOX_2;
                                        if (root_5_tAFOX_2.getNamespaceForPrefix("mrs") == null) {
                                            root_5_0_tAFOX_2 = root_5_tAFOX_2.addElement("MD_ReferenceSystem");
                                        } else {
                                            root_5_0_tAFOX_2 = root_5_tAFOX_2
                                                    .addElement("mrs:MD_ReferenceSystem");
                                        }
                                        root_5_0_tAFOX_2.setName("mrs:MD_ReferenceSystem");
                                        org.dom4j.Element root_5_0_0_tAFOX_2;
                                        if (root_5_0_tAFOX_2.getNamespaceForPrefix("mrs") == null) {
                                            root_5_0_0_tAFOX_2 = root_5_0_tAFOX_2
                                                    .addElement("referenceSystemIdentifier");
                                        } else {
                                            root_5_0_0_tAFOX_2 = root_5_0_tAFOX_2
                                                    .addElement("mrs:referenceSystemIdentifier");
                                        }
                                        root_5_0_0_tAFOX_2.setName("mrs:referenceSystemIdentifier");
                                        org.dom4j.Element root_5_0_0_0_tAFOX_2;
                                        if (root_5_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_5_0_0_0_tAFOX_2 = root_5_0_0_tAFOX_2
                                                    .addElement("MD_Identifier");
                                        } else {
                                            root_5_0_0_0_tAFOX_2 = root_5_0_0_tAFOX_2
                                                    .addElement("mcc:MD_Identifier");
                                        }
                                        root_5_0_0_0_tAFOX_2.setName("mcc:MD_Identifier");
                                        org.dom4j.Element root_5_0_0_0_0_tAFOX_2;
                                        if (root_5_0_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_5_0_0_0_0_tAFOX_2 = root_5_0_0_0_tAFOX_2.addElement("code");
                                        } else {
                                            root_5_0_0_0_0_tAFOX_2 = root_5_0_0_0_tAFOX_2
                                                    .addElement("mcc:code");
                                        }
                                        root_5_0_0_0_0_tAFOX_2.setName("mcc:code");
                                        org.dom4j.Element root_5_0_0_0_0_0_tAFOX_2;
                                        if (root_5_0_0_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_5_0_0_0_0_0_tAFOX_2 = root_5_0_0_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_5_0_0_0_0_0_tAFOX_2 = root_5_0_0_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("srs") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_5_0_0_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("srs"));
                                        }
                                        root_5_0_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_6_tAFOX_2 = root_tAFOX_2.addElement("identificationInfo");
                                        } else {
                                            root_6_tAFOX_2 = root_tAFOX_2.addElement("mdb:identificationInfo");
                                        }
                                        root_6_tAFOX_2.setName("mdb:identificationInfo");
                                        org.dom4j.Element root_6_0_tAFOX_2;
                                        if (root_6_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_tAFOX_2 = root_6_tAFOX_2
                                                    .addElement("MD_DataIdentification");
                                        } else {
                                            root_6_0_tAFOX_2 = root_6_tAFOX_2
                                                    .addElement("mri:MD_DataIdentification");
                                        }
                                        root_6_0_tAFOX_2.setName("mri:MD_DataIdentification");
                                        org.dom4j.Element root_6_0_0_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_0_tAFOX_2 = root_6_0_tAFOX_2.addElement("citation");
                                        } else {
                                            root_6_0_0_tAFOX_2 = root_6_0_tAFOX_2.addElement("mri:citation");
                                        }
                                        root_6_0_0_tAFOX_2.setName("mri:citation");
                                        org.dom4j.Element root_6_0_0_0_tAFOX_2;
                                        if (root_6_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_tAFOX_2 = root_6_0_0_tAFOX_2.addElement("CI_Citation");
                                        } else {
                                            root_6_0_0_0_tAFOX_2 = root_6_0_0_tAFOX_2
                                                    .addElement("cit:CI_Citation");
                                        }
                                        root_6_0_0_0_tAFOX_2.setName("cit:CI_Citation");
                                        org.dom4j.Element root_6_0_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_0_tAFOX_2 = root_6_0_0_0_tAFOX_2.addElement("title");
                                        } else {
                                            root_6_0_0_0_0_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                    .addElement("cit:title");
                                        }
                                        root_6_0_0_0_0_tAFOX_2.setName("cit:title");
                                        org.dom4j.Element root_6_0_0_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_0_0_0_0_tAFOX_2 = root_6_0_0_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_0_0_0_0_tAFOX_2 = root_6_0_0_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("title") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_0_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("title"));
                                        }
                                        root_6_0_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_0_0_1_tAFOX_2;
                                        if (root_6_0_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_1_tAFOX_2 = root_6_0_0_0_tAFOX_2.addElement("date");
                                        } else {
                                            root_6_0_0_0_1_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                    .addElement("cit:date");
                                        }
                                        root_6_0_0_0_1_tAFOX_2.setName("cit:date");
                                        org.dom4j.Element root_6_0_0_0_1_0_tAFOX_2;
                                        if (root_6_0_0_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_1_0_tAFOX_2 = root_6_0_0_0_1_tAFOX_2
                                                    .addElement("CI_Date");
                                        } else {
                                            root_6_0_0_0_1_0_tAFOX_2 = root_6_0_0_0_1_tAFOX_2
                                                    .addElement("cit:CI_Date");
                                        }
                                        root_6_0_0_0_1_0_tAFOX_2.setName("cit:CI_Date");
                                        org.dom4j.Element root_6_0_0_0_1_0_0_tAFOX_2;
                                        if (root_6_0_0_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_1_0_0_tAFOX_2 = root_6_0_0_0_1_0_tAFOX_2
                                                    .addElement("date");
                                        } else {
                                            root_6_0_0_0_1_0_0_tAFOX_2 = root_6_0_0_0_1_0_tAFOX_2
                                                    .addElement("cit:date");
                                        }
                                        root_6_0_0_0_1_0_0_tAFOX_2.setName("cit:date");
                                        org.dom4j.Element root_6_0_0_0_1_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_1_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_0_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_1_0_0_tAFOX_2
                                                    .addElement("DateTime");
                                        } else {
                                            root_6_0_0_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_1_0_0_tAFOX_2
                                                    .addElement("gco:DateTime");
                                        }
                                        if (valueMap_tAFOX_2.get("mdDate") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_0_0_1_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("mdDate"));
                                        }
                                        root_6_0_0_0_1_0_0_0_tAFOX_2.setName("gco:DateTime");
                                        org.dom4j.Element root_6_0_0_0_1_0_1_tAFOX_2;
                                        if (root_6_0_0_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_1_0_1_tAFOX_2 = root_6_0_0_0_1_0_tAFOX_2
                                                    .addElement("dateType");
                                        } else {
                                            root_6_0_0_0_1_0_1_tAFOX_2 = root_6_0_0_0_1_0_tAFOX_2
                                                    .addElement("cit:dateType");
                                        }
                                        root_6_0_0_0_1_0_1_tAFOX_2.setName("cit:dateType");
                                        org.dom4j.Element root_6_0_0_0_1_0_1_0_tAFOX_2;
                                        if (root_6_0_0_0_1_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_1_0_1_tAFOX_2
                                                    .addElement("CI_DateTypeCode");
                                        } else {
                                            root_6_0_0_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_1_0_1_tAFOX_2
                                                    .addElement("cit:CI_DateTypeCode");
                                        }
                                        root_6_0_0_0_1_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_DateTypeCode");
                                        root_6_0_0_0_1_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                "publication");
                                        root_6_0_0_0_1_0_1_0_tAFOX_2.setName("cit:CI_DateTypeCode");
                                        org.dom4j.Element root_6_0_0_0_2_tAFOX_2;
                                        if (root_6_0_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                    .addElement("citedResponsibleParty");
                                        } else {
                                            root_6_0_0_0_2_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                    .addElement("cit:citedResponsibleParty");
                                        }
                                        root_6_0_0_0_2_tAFOX_2.setName("cit:citedResponsibleParty");
                                        org.dom4j.Element root_6_0_0_0_2_0_tAFOX_2;
                                        if (root_6_0_0_0_2_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_tAFOX_2 = root_6_0_0_0_2_tAFOX_2
                                                    .addElement("CI_Responsibility");
                                        } else {
                                            root_6_0_0_0_2_0_tAFOX_2 = root_6_0_0_0_2_tAFOX_2
                                                    .addElement("cit:CI_Responsibility");
                                        }
                                        root_6_0_0_0_2_0_tAFOX_2.setName("cit:CI_Responsibility");
                                        org.dom4j.Element root_6_0_0_0_2_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_0_tAFOX_2 = root_6_0_0_0_2_0_tAFOX_2
                                                    .addElement("role");
                                        } else {
                                            root_6_0_0_0_2_0_0_tAFOX_2 = root_6_0_0_0_2_0_tAFOX_2
                                                    .addElement("cit:role");
                                        }
                                        root_6_0_0_0_2_0_0_tAFOX_2.setName("cit:role");
                                        org.dom4j.Element root_6_0_0_0_2_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_0_tAFOX_2
                                                    .addElement("CI_RoleCode");
                                        } else {
                                            root_6_0_0_0_2_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_0_tAFOX_2
                                                    .addElement("cit:CI_RoleCode");
                                        }
                                        root_6_0_0_0_2_0_0_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_RoleCode");
                                        root_6_0_0_0_2_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                "originator");
                                        root_6_0_0_0_2_0_0_0_tAFOX_2.setName("cit:CI_RoleCode");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_tAFOX_2;
                                        if (root_6_0_0_0_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_tAFOX_2 = root_6_0_0_0_2_0_tAFOX_2
                                                    .addElement("party");
                                        } else {
                                            root_6_0_0_0_2_0_1_tAFOX_2 = root_6_0_0_0_2_0_tAFOX_2
                                                    .addElement("cit:party");
                                        }
                                        root_6_0_0_0_2_0_1_tAFOX_2.setName("cit:party");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_tAFOX_2
                                                    .addElement("CI_Organisation");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_tAFOX_2
                                                    .addElement("cit:CI_Organisation");
                                        }
                                        root_6_0_0_0_2_0_1_0_tAFOX_2.setName("cit:CI_Organisation");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                    .addElement("name");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                    .addElement("cit:name");
                                        }
                                        root_6_0_0_0_2_0_1_0_0_tAFOX_2.setName("cit:name");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_0_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_0_0_2_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("organisationName") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_0_0_2_0_1_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("organisationName"));
                                        }
                                        root_6_0_0_0_2_0_1_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                    .addElement("contactInfo");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                    .addElement("cit:contactInfo");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_tAFOX_2.setName("cit:contactInfo");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_tAFOX_2
                                                    .addElement("CI_Contact");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_tAFOX_2
                                                    .addElement("cit:CI_Contact");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_tAFOX_2.setName("cit:CI_Contact");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                    .addElement("phone");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:phone");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2.setName("cit:phone");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("CI_Telephone");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("cit:CI_Telephone");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2.setName("cit:CI_Telephone");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("number");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:number");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2.setName("cit:number");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("voice") != null) {
                                            nestXMLTool_tAFOX_2.setText(
                                                    root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("voice"));
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("numberType");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:numberType");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2.setName("cit:numberType");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                    .addElement("CI_TelephoneTypeCode");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                    .addElement("cit:CI_TelephoneTypeCode");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_TelephoneTypeCode");
                                        root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                "voice");
                                        root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2
                                                .setName("cit:CI_TelephoneTypeCode");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                    .addElement("address");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:address");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2.setName("cit:address");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2
                                                    .addElement("CI_Address");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2
                                                    .addElement("cit:CI_Address");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2.setName("cit:CI_Address");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("electronicMailAddress");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:electronicMailAddress");
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                .setName("cit:electronicMailAddress");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("email") != null) {
                                            nestXMLTool_tAFOX_2.setText(
                                                    root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("email"));
                                        }
                                        root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_2_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_2_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                    .addElement("individual");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_2_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                    .addElement("cit:individual");
                                        }
                                        root_6_0_0_0_2_0_1_0_2_tAFOX_2.setName("cit:individual");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_2_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_2_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_2_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_tAFOX_2
                                                    .addElement("CI_Individual");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_2_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_tAFOX_2
                                                    .addElement("cit:CI_Individual");
                                        }
                                        root_6_0_0_0_2_0_1_0_2_0_tAFOX_2.setName("cit:CI_Individual");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_2_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_0_tAFOX_2
                                                    .addElement("name");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_0_tAFOX_2
                                                    .addElement("cit:name");
                                        }
                                        root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2.setName("cit:name");
                                        org.dom4j.Element root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2;
                                        if (root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("individualName") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("individualName"));
                                        }
                                        root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_1_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_1_tAFOX_2 = root_6_0_tAFOX_2.addElement("abstract");
                                        } else {
                                            root_6_0_1_tAFOX_2 = root_6_0_tAFOX_2.addElement("mri:abstract");
                                        }
                                        root_6_0_1_tAFOX_2.setName("mri:abstract");
                                        org.dom4j.Element root_6_0_1_0_tAFOX_2;
                                        if (root_6_0_1_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_1_0_tAFOX_2 = root_6_0_1_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_1_0_tAFOX_2 = root_6_0_1_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        root_6_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_2_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_2_tAFOX_2 = root_6_0_tAFOX_2.addElement("purpose");
                                        } else {
                                            root_6_0_2_tAFOX_2 = root_6_0_tAFOX_2.addElement("mri:purpose");
                                        }
                                        root_6_0_2_tAFOX_2.setName("mri:purpose");
                                        org.dom4j.Element root_6_0_2_0_tAFOX_2;
                                        if (root_6_0_2_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_2_0_tAFOX_2 = root_6_0_2_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_2_0_tAFOX_2 = root_6_0_2_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        root_6_0_2_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_3_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_3_tAFOX_2 = root_6_0_tAFOX_2.addElement("status");
                                        } else {
                                            root_6_0_3_tAFOX_2 = root_6_0_tAFOX_2.addElement("mri:status");
                                        }
                                        root_6_0_3_tAFOX_2.setName("mri:status");
                                        org.dom4j.Element root_6_0_3_0_tAFOX_2;
                                        if (root_6_0_3_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_6_0_3_0_tAFOX_2 = root_6_0_3_tAFOX_2
                                                    .addElement("MD_ProgressCode");
                                        } else {
                                            root_6_0_3_0_tAFOX_2 = root_6_0_3_tAFOX_2
                                                    .addElement("mcc:MD_ProgressCode");
                                        }
                                        root_6_0_3_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_ProgressCode");
                                        root_6_0_3_0_tAFOX_2.addAttribute("codeListValue", "completed");
                                        root_6_0_3_0_tAFOX_2.setName("mcc:MD_ProgressCode");
                                        org.dom4j.Element root_6_0_4_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_4_tAFOX_2 = root_6_0_tAFOX_2.addElement("pointOfContact");
                                        } else {
                                            root_6_0_4_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:pointOfContact");
                                        }
                                        root_6_0_4_tAFOX_2.setName("mri:pointOfContact");
                                        org.dom4j.Element root_6_0_4_0_tAFOX_2;
                                        if (root_6_0_4_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_tAFOX_2 = root_6_0_4_tAFOX_2
                                                    .addElement("CI_Responsibility");
                                        } else {
                                            root_6_0_4_0_tAFOX_2 = root_6_0_4_tAFOX_2
                                                    .addElement("cit:CI_Responsibility");
                                        }
                                        root_6_0_4_0_tAFOX_2.setName("cit:CI_Responsibility");
                                        org.dom4j.Element root_6_0_4_0_0_tAFOX_2;
                                        if (root_6_0_4_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_0_tAFOX_2 = root_6_0_4_0_tAFOX_2.addElement("role");
                                        } else {
                                            root_6_0_4_0_0_tAFOX_2 = root_6_0_4_0_tAFOX_2
                                                    .addElement("cit:role");
                                        }
                                        root_6_0_4_0_0_tAFOX_2.setName("cit:role");
                                        org.dom4j.Element root_6_0_4_0_0_0_tAFOX_2;
                                        if (root_6_0_4_0_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_0_0_tAFOX_2 = root_6_0_4_0_0_tAFOX_2
                                                    .addElement("CI_RoleCode");
                                        } else {
                                            root_6_0_4_0_0_0_tAFOX_2 = root_6_0_4_0_0_tAFOX_2
                                                    .addElement("cit:CI_RoleCode");
                                        }
                                        root_6_0_4_0_0_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_RoleCode");
                                        root_6_0_4_0_0_0_tAFOX_2.addAttribute("codeListValue", "originator");
                                        root_6_0_4_0_0_0_tAFOX_2.setName("cit:CI_RoleCode");
                                        org.dom4j.Element root_6_0_4_0_1_tAFOX_2;
                                        if (root_6_0_4_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_tAFOX_2 = root_6_0_4_0_tAFOX_2.addElement("party");
                                        } else {
                                            root_6_0_4_0_1_tAFOX_2 = root_6_0_4_0_tAFOX_2
                                                    .addElement("cit:party");
                                        }
                                        root_6_0_4_0_1_tAFOX_2.setName("cit:party");
                                        org.dom4j.Element root_6_0_4_0_1_0_tAFOX_2;
                                        if (root_6_0_4_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_tAFOX_2 = root_6_0_4_0_1_tAFOX_2
                                                    .addElement("CI_Organisation");
                                        } else {
                                            root_6_0_4_0_1_0_tAFOX_2 = root_6_0_4_0_1_tAFOX_2
                                                    .addElement("cit:CI_Organisation");
                                        }
                                        root_6_0_4_0_1_0_tAFOX_2.setName("cit:CI_Organisation");
                                        org.dom4j.Element root_6_0_4_0_1_0_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_0_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                    .addElement("name");
                                        } else {
                                            root_6_0_4_0_1_0_0_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                    .addElement("cit:name");
                                        }
                                        root_6_0_4_0_1_0_0_tAFOX_2.setName("cit:name");
                                        org.dom4j.Element root_6_0_4_0_1_0_0_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("organisationName") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("organisationName"));
                                        }
                                        root_6_0_4_0_1_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_tAFOX_2;
                                        if (root_6_0_4_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                    .addElement("contactInfo");
                                        } else {
                                            root_6_0_4_0_1_0_1_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                    .addElement("cit:contactInfo");
                                        }
                                        root_6_0_4_0_1_0_1_tAFOX_2.setName("cit:contactInfo");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_1_tAFOX_2
                                                    .addElement("CI_Contact");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_1_tAFOX_2
                                                    .addElement("cit:CI_Contact");
                                        }
                                        root_6_0_4_0_1_0_1_0_tAFOX_2.setName("cit:CI_Contact");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_tAFOX_2
                                                    .addElement("address");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_tAFOX_2
                                                    .addElement("cit:address");
                                        }
                                        root_6_0_4_0_1_0_1_0_0_tAFOX_2.setName("cit:address");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("CI_Address");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_tAFOX_2
                                                    .addElement("cit:CI_Address");
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_tAFOX_2.setName("cit:CI_Address");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("deliveryPoint");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:deliveryPoint");
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2.setName("cit:deliveryPoint");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("deliveryPoint") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("deliveryPoint"));
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("city");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:city");
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2.setName("cit:city");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("city") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("city"));
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("administrativeArea");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:administrativeArea");
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2.setName("cit:administrativeArea");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("administrativeArea") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("administrativeArea"));
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("postalCode");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:postalCode");
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2.setName("cit:postalCode");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("postalCode") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("postalCode"));
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("country");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:country");
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2.setName("cit:country");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("country") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("country"));
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                .getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("electronicMailAddress");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                    .addElement("cit:electronicMailAddress");
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2.setName("cit:electronicMailAddress");
                                        org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("email") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("email"));
                                        }
                                        root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_4_0_1_0_2_tAFOX_2;
                                        if (root_6_0_4_0_1_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_2_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                    .addElement("individual");
                                        } else {
                                            root_6_0_4_0_1_0_2_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                    .addElement("cit:individual");
                                        }
                                        root_6_0_4_0_1_0_2_tAFOX_2.setName("cit:individual");
                                        org.dom4j.Element root_6_0_4_0_1_0_2_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_2_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_2_0_tAFOX_2 = root_6_0_4_0_1_0_2_tAFOX_2
                                                    .addElement("CI_Individual");
                                        } else {
                                            root_6_0_4_0_1_0_2_0_tAFOX_2 = root_6_0_4_0_1_0_2_tAFOX_2
                                                    .addElement("cit:CI_Individual");
                                        }
                                        root_6_0_4_0_1_0_2_0_tAFOX_2.setName("cit:CI_Individual");
                                        org.dom4j.Element root_6_0_4_0_1_0_2_0_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_2_0_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_tAFOX_2
                                                    .addElement("name");
                                        } else {
                                            root_6_0_4_0_1_0_2_0_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_tAFOX_2
                                                    .addElement("cit:name");
                                        }
                                        root_6_0_4_0_1_0_2_0_0_tAFOX_2.setName("cit:name");
                                        org.dom4j.Element root_6_0_4_0_1_0_2_0_0_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_2_0_0_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_2_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_2_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("individualName") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_2_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("individualName"));
                                        }
                                        root_6_0_4_0_1_0_2_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_4_0_1_0_2_0_1_tAFOX_2;
                                        if (root_6_0_4_0_1_0_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                            root_6_0_4_0_1_0_2_0_1_tAFOX_2 = root_6_0_4_0_1_0_2_0_tAFOX_2
                                                    .addElement("positionName");
                                        } else {
                                            root_6_0_4_0_1_0_2_0_1_tAFOX_2 = root_6_0_4_0_1_0_2_0_tAFOX_2
                                                    .addElement("cit:positionName");
                                        }
                                        root_6_0_4_0_1_0_2_0_1_tAFOX_2.setName("cit:positionName");
                                        org.dom4j.Element root_6_0_4_0_1_0_2_0_1_0_tAFOX_2;
                                        if (root_6_0_4_0_1_0_2_0_1_tAFOX_2
                                                .getNamespaceForPrefix("gco") == null) {
                                            root_6_0_4_0_1_0_2_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_1_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_4_0_1_0_2_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_1_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("positionName") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_4_0_1_0_2_0_1_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("positionName"));
                                        }
                                        root_6_0_4_0_1_0_2_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_5_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_5_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("spatialRepresentationType");
                                        } else {
                                            root_6_0_5_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:spatialRepresentationType");
                                        }
                                        root_6_0_5_tAFOX_2.setName("mri:spatialRepresentationType");
                                        org.dom4j.Element root_6_0_5_0_tAFOX_2;
                                        if (root_6_0_5_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_6_0_5_0_tAFOX_2 = root_6_0_5_tAFOX_2
                                                    .addElement("MD_SpatialRepresentationTypeCode");
                                        } else {
                                            root_6_0_5_0_tAFOX_2 = root_6_0_5_tAFOX_2
                                                    .addElement("mcc:MD_SpatialRepresentationTypeCode");
                                        }
                                        root_6_0_5_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_SpatialRepresentationTypeCode");
                                        if (valueMap_tAFOX_2.get("spatialRepresentationType") != null) {
                                            root_6_0_5_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("spatialRepresentationType"));
                                        }
                                        root_6_0_5_0_tAFOX_2.setName("mcc:MD_SpatialRepresentationTypeCode");
                                        org.dom4j.Element root_6_0_6_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_6_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("spatialResolution");
                                        } else {
                                            root_6_0_6_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:spatialResolution");
                                        }
                                        root_6_0_6_tAFOX_2.setName("mri:spatialResolution");
                                        org.dom4j.Element root_6_0_6_0_tAFOX_2;
                                        if (root_6_0_6_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_6_0_tAFOX_2 = root_6_0_6_tAFOX_2
                                                    .addElement("MD_Resolution");
                                        } else {
                                            root_6_0_6_0_tAFOX_2 = root_6_0_6_tAFOX_2
                                                    .addElement("mri:MD_Resolution");
                                        }
                                        root_6_0_6_0_tAFOX_2.setName("mri:MD_Resolution");
                                        org.dom4j.Element root_6_0_6_0_0_tAFOX_2;
                                        if (root_6_0_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_6_0_0_tAFOX_2 = root_6_0_6_0_tAFOX_2
                                                    .addElement("equivalentScale");
                                        } else {
                                            root_6_0_6_0_0_tAFOX_2 = root_6_0_6_0_tAFOX_2
                                                    .addElement("mri:equivalentScale");
                                        }
                                        root_6_0_6_0_0_tAFOX_2.setName("mri:equivalentScale");
                                        org.dom4j.Element root_6_0_6_0_0_0_tAFOX_2;
                                        if (root_6_0_6_0_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_6_0_0_0_tAFOX_2 = root_6_0_6_0_0_tAFOX_2
                                                    .addElement("MD_RepresentativeFraction");
                                        } else {
                                            root_6_0_6_0_0_0_tAFOX_2 = root_6_0_6_0_0_tAFOX_2
                                                    .addElement("mri:MD_RepresentativeFraction");
                                        }
                                        root_6_0_6_0_0_0_tAFOX_2.setName("mri:MD_RepresentativeFraction");
                                        org.dom4j.Element root_6_0_6_0_0_0_0_tAFOX_2;
                                        if (root_6_0_6_0_0_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_6_0_0_0_0_tAFOX_2 = root_6_0_6_0_0_0_tAFOX_2
                                                    .addElement("denominator");
                                        } else {
                                            root_6_0_6_0_0_0_0_tAFOX_2 = root_6_0_6_0_0_0_tAFOX_2
                                                    .addElement("mri:denominator");
                                        }
                                        root_6_0_6_0_0_0_0_tAFOX_2.setName("mri:denominator");
                                        org.dom4j.Element root_6_0_7_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_7_tAFOX_2 = root_6_0_tAFOX_2.addElement("topicCategory");
                                        } else {
                                            root_6_0_7_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:topicCategory");
                                        }
                                        root_6_0_7_tAFOX_2.setName("mri:topicCategory");
                                        org.dom4j.Element root_6_0_8_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_8_tAFOX_2 = root_6_0_tAFOX_2.addElement("extent");
                                        } else {
                                            root_6_0_8_tAFOX_2 = root_6_0_tAFOX_2.addElement("mri:extent");
                                        }
                                        root_6_0_8_tAFOX_2.setName("mri:extent");
                                        org.dom4j.Element root_6_0_8_0_tAFOX_2;
                                        if (root_6_0_8_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_8_0_tAFOX_2 = root_6_0_8_tAFOX_2.addElement("EX_Extent");
                                        } else {
                                            root_6_0_8_0_tAFOX_2 = root_6_0_8_tAFOX_2
                                                    .addElement("gex:EX_Extent");
                                        }
                                        root_6_0_8_0_tAFOX_2.setName("gex:EX_Extent");
                                        org.dom4j.Element root_6_0_8_0_0_tAFOX_2;
                                        if (root_6_0_8_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_8_0_0_tAFOX_2 = root_6_0_8_0_tAFOX_2
                                                    .addElement("temporalElement");
                                        } else {
                                            root_6_0_8_0_0_tAFOX_2 = root_6_0_8_0_tAFOX_2
                                                    .addElement("gex:temporalElement");
                                        }
                                        root_6_0_8_0_0_tAFOX_2.setName("gex:temporalElement");
                                        org.dom4j.Element root_6_0_8_0_0_0_tAFOX_2;
                                        if (root_6_0_8_0_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_8_0_0_0_tAFOX_2 = root_6_0_8_0_0_tAFOX_2
                                                    .addElement("EX_TemporalExtent");
                                        } else {
                                            root_6_0_8_0_0_0_tAFOX_2 = root_6_0_8_0_0_tAFOX_2
                                                    .addElement("gex:EX_TemporalExtent");
                                        }
                                        root_6_0_8_0_0_0_tAFOX_2.setName("gex:EX_TemporalExtent");
                                        org.dom4j.Element root_6_0_8_0_0_0_0_tAFOX_2;
                                        if (root_6_0_8_0_0_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_8_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_tAFOX_2
                                                    .addElement("extent");
                                        } else {
                                            root_6_0_8_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_tAFOX_2
                                                    .addElement("gex:extent");
                                        }
                                        root_6_0_8_0_0_0_0_tAFOX_2.setName("gex:extent");
                                        org.dom4j.Element root_6_0_8_0_0_0_0_0_tAFOX_2;
                                        if (root_6_0_8_0_0_0_0_tAFOX_2.getNamespaceForPrefix("gml") == null) {
                                            root_6_0_8_0_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_0_tAFOX_2
                                                    .addElement("TimePeriod");
                                        } else {
                                            root_6_0_8_0_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_0_tAFOX_2
                                                    .addElement("gml:TimePeriod");
                                        }
                                        root_6_0_8_0_0_0_0_0_tAFOX_2.addAttribute("gml:id", "A1234");
                                        root_6_0_8_0_0_0_0_0_tAFOX_2.setName("gml:TimePeriod");
                                        org.dom4j.Element root_6_0_8_0_0_0_0_0_0_tAFOX_2;
                                        if (root_6_0_8_0_0_0_0_0_tAFOX_2.getNamespaceForPrefix("gml") == null) {
                                            root_6_0_8_0_0_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_0_0_tAFOX_2
                                                    .addElement("beginPosition");
                                        } else {
                                            root_6_0_8_0_0_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_0_0_tAFOX_2
                                                    .addElement("gml:beginPosition");
                                        }
                                        root_6_0_8_0_0_0_0_0_0_tAFOX_2.setName("gml:beginPosition");
                                        org.dom4j.Element root_6_0_8_0_0_0_0_0_1_tAFOX_2;
                                        if (root_6_0_8_0_0_0_0_0_tAFOX_2.getNamespaceForPrefix("gml") == null) {
                                            root_6_0_8_0_0_0_0_0_1_tAFOX_2 = root_6_0_8_0_0_0_0_0_tAFOX_2
                                                    .addElement("endPosition");
                                        } else {
                                            root_6_0_8_0_0_0_0_0_1_tAFOX_2 = root_6_0_8_0_0_0_0_0_tAFOX_2
                                                    .addElement("gml:endPosition");
                                        }
                                        root_6_0_8_0_0_0_0_0_1_tAFOX_2.setName("gml:endPosition");
                                        org.dom4j.Element root_6_0_9_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_9_tAFOX_2 = root_6_0_tAFOX_2.addElement("extent");
                                        } else {
                                            root_6_0_9_tAFOX_2 = root_6_0_tAFOX_2.addElement("mri:extent");
                                        }
                                        root_6_0_9_tAFOX_2.setName("mri:extent");
                                        org.dom4j.Element root_6_0_9_0_tAFOX_2;
                                        if (root_6_0_9_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_9_0_tAFOX_2 = root_6_0_9_tAFOX_2.addElement("EX_Extent");
                                        } else {
                                            root_6_0_9_0_tAFOX_2 = root_6_0_9_tAFOX_2
                                                    .addElement("gex:EX_Extent");
                                        }
                                        root_6_0_9_0_tAFOX_2.setName("gex:EX_Extent");
                                        org.dom4j.Element root_6_0_9_0_0_tAFOX_2;
                                        if (root_6_0_9_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_9_0_0_tAFOX_2 = root_6_0_9_0_tAFOX_2
                                                    .addElement("geographicElement");
                                        } else {
                                            root_6_0_9_0_0_tAFOX_2 = root_6_0_9_0_tAFOX_2
                                                    .addElement("gex:geographicElement");
                                        }
                                        root_6_0_9_0_0_tAFOX_2.setName("gex:geographicElement");
                                        org.dom4j.Element root_6_0_9_0_0_0_tAFOX_2;
                                        if (root_6_0_9_0_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_9_0_0_0_tAFOX_2 = root_6_0_9_0_0_tAFOX_2
                                                    .addElement("EX_GeographicBoundingBox");
                                        } else {
                                            root_6_0_9_0_0_0_tAFOX_2 = root_6_0_9_0_0_tAFOX_2
                                                    .addElement("gex:EX_GeographicBoundingBox");
                                        }
                                        root_6_0_9_0_0_0_tAFOX_2.setName("gex:EX_GeographicBoundingBox");
                                        org.dom4j.Element root_6_0_9_0_0_0_0_tAFOX_2;
                                        if (root_6_0_9_0_0_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_9_0_0_0_0_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                    .addElement("westBoundLongitude");
                                        } else {
                                            root_6_0_9_0_0_0_0_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                    .addElement("gex:westBoundLongitude");
                                        }
                                        root_6_0_9_0_0_0_0_tAFOX_2.setName("gex:westBoundLongitude");
                                        org.dom4j.Element root_6_0_9_0_0_0_0_0_tAFOX_2;
                                        if (root_6_0_9_0_0_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_9_0_0_0_0_0_tAFOX_2 = root_6_0_9_0_0_0_0_tAFOX_2
                                                    .addElement("Decimal");
                                        } else {
                                            root_6_0_9_0_0_0_0_0_tAFOX_2 = root_6_0_9_0_0_0_0_tAFOX_2
                                                    .addElement("gco:Decimal");
                                        }
                                        if (valueMap_tAFOX_2.get("west") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_9_0_0_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("west"));
                                        }
                                        root_6_0_9_0_0_0_0_0_tAFOX_2.setName("gco:Decimal");
                                        org.dom4j.Element root_6_0_9_0_0_0_1_tAFOX_2;
                                        if (root_6_0_9_0_0_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_9_0_0_0_1_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                    .addElement("eastBoundLongitude");
                                        } else {
                                            root_6_0_9_0_0_0_1_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                    .addElement("gex:eastBoundLongitude");
                                        }
                                        root_6_0_9_0_0_0_1_tAFOX_2.setName("gex:eastBoundLongitude");
                                        org.dom4j.Element root_6_0_9_0_0_0_1_0_tAFOX_2;
                                        if (root_6_0_9_0_0_0_1_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_9_0_0_0_1_0_tAFOX_2 = root_6_0_9_0_0_0_1_tAFOX_2
                                                    .addElement("Decimal");
                                        } else {
                                            root_6_0_9_0_0_0_1_0_tAFOX_2 = root_6_0_9_0_0_0_1_tAFOX_2
                                                    .addElement("gco:Decimal");
                                        }
                                        if (valueMap_tAFOX_2.get("east") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_9_0_0_0_1_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("east"));
                                        }
                                        root_6_0_9_0_0_0_1_0_tAFOX_2.setName("gco:Decimal");
                                        org.dom4j.Element root_6_0_9_0_0_0_2_tAFOX_2;
                                        if (root_6_0_9_0_0_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_9_0_0_0_2_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                    .addElement("southBoundLatitude");
                                        } else {
                                            root_6_0_9_0_0_0_2_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                    .addElement("gex:southBoundLatitude");
                                        }
                                        root_6_0_9_0_0_0_2_tAFOX_2.setName("gex:southBoundLatitude");
                                        org.dom4j.Element root_6_0_9_0_0_0_2_0_tAFOX_2;
                                        if (root_6_0_9_0_0_0_2_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_9_0_0_0_2_0_tAFOX_2 = root_6_0_9_0_0_0_2_tAFOX_2
                                                    .addElement("Decimal");
                                        } else {
                                            root_6_0_9_0_0_0_2_0_tAFOX_2 = root_6_0_9_0_0_0_2_tAFOX_2
                                                    .addElement("gco:Decimal");
                                        }
                                        if (valueMap_tAFOX_2.get("south") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_9_0_0_0_2_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("south"));
                                        }
                                        root_6_0_9_0_0_0_2_0_tAFOX_2.setName("gco:Decimal");
                                        org.dom4j.Element root_6_0_9_0_0_0_3_tAFOX_2;
                                        if (root_6_0_9_0_0_0_tAFOX_2.getNamespaceForPrefix("gex") == null) {
                                            root_6_0_9_0_0_0_3_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                    .addElement("northBoundLatitude");
                                        } else {
                                            root_6_0_9_0_0_0_3_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                    .addElement("gex:northBoundLatitude");
                                        }
                                        root_6_0_9_0_0_0_3_tAFOX_2.setName("gex:northBoundLatitude");
                                        org.dom4j.Element root_6_0_9_0_0_0_3_0_tAFOX_2;
                                        if (root_6_0_9_0_0_0_3_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_9_0_0_0_3_0_tAFOX_2 = root_6_0_9_0_0_0_3_tAFOX_2
                                                    .addElement("Decimal");
                                        } else {
                                            root_6_0_9_0_0_0_3_0_tAFOX_2 = root_6_0_9_0_0_0_3_tAFOX_2
                                                    .addElement("gco:Decimal");
                                        }
                                        if (valueMap_tAFOX_2.get("north") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_9_0_0_0_3_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("north"));
                                        }
                                        root_6_0_9_0_0_0_3_0_tAFOX_2.setName("gco:Decimal");
                                        org.dom4j.Element root_6_0_10_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_10_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("resourceMaintenance");
                                        } else {
                                            root_6_0_10_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:resourceMaintenance");
                                        }
                                        root_6_0_10_tAFOX_2.setName("mri:resourceMaintenance");
                                        org.dom4j.Element root_6_0_10_0_tAFOX_2;
                                        if (root_6_0_10_tAFOX_2.getNamespaceForPrefix("mmi") == null) {
                                            root_6_0_10_0_tAFOX_2 = root_6_0_10_tAFOX_2
                                                    .addElement("MD_MaintenanceInformation");
                                        } else {
                                            root_6_0_10_0_tAFOX_2 = root_6_0_10_tAFOX_2
                                                    .addElement("mmi:MD_MaintenanceInformation");
                                        }
                                        root_6_0_10_0_tAFOX_2.setName("mmi:MD_MaintenanceInformation");
                                        org.dom4j.Element root_6_0_10_0_0_tAFOX_2;
                                        if (root_6_0_10_0_tAFOX_2.getNamespaceForPrefix("mmi") == null) {
                                            root_6_0_10_0_0_tAFOX_2 = root_6_0_10_0_tAFOX_2
                                                    .addElement("maintenanceAndUpdateFrequency");
                                        } else {
                                            root_6_0_10_0_0_tAFOX_2 = root_6_0_10_0_tAFOX_2
                                                    .addElement("mmi:maintenanceAndUpdateFrequency");
                                        }
                                        root_6_0_10_0_0_tAFOX_2.setName("mmi:maintenanceAndUpdateFrequency");
                                        org.dom4j.Element root_6_0_10_0_0_0_tAFOX_2;
                                        if (root_6_0_10_0_0_tAFOX_2.getNamespaceForPrefix("mmi") == null) {
                                            root_6_0_10_0_0_0_tAFOX_2 = root_6_0_10_0_0_tAFOX_2
                                                    .addElement("MD_MaintenanceFrequencyCode");
                                        } else {
                                            root_6_0_10_0_0_0_tAFOX_2 = root_6_0_10_0_0_tAFOX_2
                                                    .addElement("mmi:MD_MaintenanceFrequencyCode");
                                        }
                                        root_6_0_10_0_0_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_MaintenanceFrequencyCode");
                                        root_6_0_10_0_0_0_tAFOX_2.addAttribute("codeListValue", "asNeeded");
                                        root_6_0_10_0_0_0_tAFOX_2.setName("mmi:MD_MaintenanceFrequencyCode");
                                        org.dom4j.Element root_6_0_11_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_11_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("descriptiveKeywords");
                                        } else {
                                            root_6_0_11_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:descriptiveKeywords");
                                        }
                                        root_6_0_11_tAFOX_2.setName("mri:descriptiveKeywords");
                                        org.dom4j.Element root_6_0_11_0_tAFOX_2;
                                        if (root_6_0_11_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_11_0_tAFOX_2 = root_6_0_11_tAFOX_2
                                                    .addElement("MD_Keywords");
                                        } else {
                                            root_6_0_11_0_tAFOX_2 = root_6_0_11_tAFOX_2
                                                    .addElement("mri:MD_Keywords");
                                        }
                                        root_6_0_11_0_tAFOX_2.setName("mri:MD_Keywords");
                                        org.dom4j.Element root_6_0_11_0_0_tAFOX_2;
                                        if (root_6_0_11_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_11_0_0_tAFOX_2 = root_6_0_11_0_tAFOX_2
                                                    .addElement("keyword");
                                        } else {
                                            root_6_0_11_0_0_tAFOX_2 = root_6_0_11_0_tAFOX_2
                                                    .addElement("mri:keyword");
                                        }
                                        root_6_0_11_0_0_tAFOX_2.setName("mri:keyword");
                                        org.dom4j.Element root_6_0_11_0_0_0_tAFOX_2;
                                        if (root_6_0_11_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_11_0_0_0_tAFOX_2 = root_6_0_11_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_11_0_0_0_tAFOX_2 = root_6_0_11_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("keyword") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_11_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("keyword"));
                                        }
                                        root_6_0_11_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_11_0_1_tAFOX_2;
                                        if (root_6_0_11_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_11_0_1_tAFOX_2 = root_6_0_11_0_tAFOX_2.addElement("type");
                                        } else {
                                            root_6_0_11_0_1_tAFOX_2 = root_6_0_11_0_tAFOX_2
                                                    .addElement("mri:type");
                                        }
                                        root_6_0_11_0_1_tAFOX_2.setName("mri:type");
                                        org.dom4j.Element root_6_0_11_0_1_0_tAFOX_2;
                                        if (root_6_0_11_0_1_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_11_0_1_0_tAFOX_2 = root_6_0_11_0_1_tAFOX_2
                                                    .addElement("MD_KeywordTypeCode");
                                        } else {
                                            root_6_0_11_0_1_0_tAFOX_2 = root_6_0_11_0_1_tAFOX_2
                                                    .addElement("mri:MD_KeywordTypeCode");
                                        }
                                        root_6_0_11_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_KeywordTypeCode");
                                        if (valueMap_tAFOX_2.get("keyword1_theme") != null) {
                                            root_6_0_11_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("keyword1_theme"));
                                        }
                                        root_6_0_11_0_1_0_tAFOX_2.setName("mri:MD_KeywordTypeCode");
                                        org.dom4j.Element root_6_0_12_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_12_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("descriptiveKeywords");
                                        } else {
                                            root_6_0_12_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:descriptiveKeywords");
                                        }
                                        root_6_0_12_tAFOX_2.setName("mri:descriptiveKeywords");
                                        org.dom4j.Element root_6_0_12_0_tAFOX_2;
                                        if (root_6_0_12_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_12_0_tAFOX_2 = root_6_0_12_tAFOX_2
                                                    .addElement("MD_Keywords");
                                        } else {
                                            root_6_0_12_0_tAFOX_2 = root_6_0_12_tAFOX_2
                                                    .addElement("mri:MD_Keywords");
                                        }
                                        root_6_0_12_0_tAFOX_2.setName("mri:MD_Keywords");
                                        org.dom4j.Element root_6_0_12_0_0_tAFOX_2;
                                        if (root_6_0_12_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_12_0_0_tAFOX_2 = root_6_0_12_0_tAFOX_2
                                                    .addElement("keyword");
                                        } else {
                                            root_6_0_12_0_0_tAFOX_2 = root_6_0_12_0_tAFOX_2
                                                    .addElement("mri:keyword");
                                        }
                                        root_6_0_12_0_0_tAFOX_2.setName("mri:keyword");
                                        org.dom4j.Element root_6_0_12_0_0_0_tAFOX_2;
                                        if (root_6_0_12_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_12_0_0_0_tAFOX_2 = root_6_0_12_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_12_0_0_0_tAFOX_2 = root_6_0_12_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("keyword2") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_12_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("keyword2"));
                                        }
                                        root_6_0_12_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_12_0_1_tAFOX_2;
                                        if (root_6_0_12_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_12_0_1_tAFOX_2 = root_6_0_12_0_tAFOX_2.addElement("type");
                                        } else {
                                            root_6_0_12_0_1_tAFOX_2 = root_6_0_12_0_tAFOX_2
                                                    .addElement("mri:type");
                                        }
                                        root_6_0_12_0_1_tAFOX_2.setName("mri:type");
                                        org.dom4j.Element root_6_0_12_0_1_0_tAFOX_2;
                                        if (root_6_0_12_0_1_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_12_0_1_0_tAFOX_2 = root_6_0_12_0_1_tAFOX_2
                                                    .addElement("MD_KeywordTypeCode");
                                        } else {
                                            root_6_0_12_0_1_0_tAFOX_2 = root_6_0_12_0_1_tAFOX_2
                                                    .addElement("mri:MD_KeywordTypeCode");
                                        }
                                        root_6_0_12_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_KeywordTypeCode");
                                        if (valueMap_tAFOX_2.get("keyword2_theme") != null) {
                                            root_6_0_12_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("keyword2_theme"));
                                        }
                                        root_6_0_12_0_1_0_tAFOX_2.setName("mri:MD_KeywordTypeCode");
                                        org.dom4j.Element root_6_0_13_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_13_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("resourceConstraints");
                                        } else {
                                            root_6_0_13_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:resourceConstraints");
                                        }
                                        root_6_0_13_tAFOX_2.setName("mri:resourceConstraints");
                                        org.dom4j.Element root_6_0_13_0_tAFOX_2;
                                        if (root_6_0_13_tAFOX_2.getNamespaceForPrefix("mco") == null) {
                                            root_6_0_13_0_tAFOX_2 = root_6_0_13_tAFOX_2
                                                    .addElement("MD_LegalConstraints");
                                        } else {
                                            root_6_0_13_0_tAFOX_2 = root_6_0_13_tAFOX_2
                                                    .addElement("mco:MD_LegalConstraints");
                                        }
                                        root_6_0_13_0_tAFOX_2.setName("mco:MD_LegalConstraints");
                                        org.dom4j.Element root_6_0_13_0_0_tAFOX_2;
                                        if (root_6_0_13_0_tAFOX_2.getNamespaceForPrefix("mco") == null) {
                                            root_6_0_13_0_0_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                    .addElement("accessConstraints");
                                        } else {
                                            root_6_0_13_0_0_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                    .addElement("mco:accessConstraints");
                                        }
                                        root_6_0_13_0_0_tAFOX_2.setName("mco:accessConstraints");
                                        org.dom4j.Element root_6_0_13_0_0_0_tAFOX_2;
                                        if (root_6_0_13_0_0_tAFOX_2.getNamespaceForPrefix("mco") == null) {
                                            root_6_0_13_0_0_0_tAFOX_2 = root_6_0_13_0_0_tAFOX_2
                                                    .addElement("MD_RestrictionCode");
                                        } else {
                                            root_6_0_13_0_0_0_tAFOX_2 = root_6_0_13_0_0_tAFOX_2
                                                    .addElement("mco:MD_RestrictionCode");
                                        }
                                        root_6_0_13_0_0_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_RestrictionCode");
                                        root_6_0_13_0_0_0_tAFOX_2.addAttribute("codeListValue", "copyright");
                                        root_6_0_13_0_0_0_tAFOX_2.setName("mco:MD_RestrictionCode");
                                        org.dom4j.Element root_6_0_13_0_1_tAFOX_2;
                                        if (root_6_0_13_0_tAFOX_2.getNamespaceForPrefix("mco") == null) {
                                            root_6_0_13_0_1_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                    .addElement("useConstraints");
                                        } else {
                                            root_6_0_13_0_1_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                    .addElement("mco:useConstraints");
                                        }
                                        root_6_0_13_0_1_tAFOX_2.setName("mco:useConstraints");
                                        org.dom4j.Element root_6_0_13_0_1_0_tAFOX_2;
                                        if (root_6_0_13_0_1_tAFOX_2.getNamespaceForPrefix("mco") == null) {
                                            root_6_0_13_0_1_0_tAFOX_2 = root_6_0_13_0_1_tAFOX_2
                                                    .addElement("MD_RestrictionCode");
                                        } else {
                                            root_6_0_13_0_1_0_tAFOX_2 = root_6_0_13_0_1_tAFOX_2
                                                    .addElement("mco:MD_RestrictionCode");
                                        }
                                        root_6_0_13_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_RestrictionCode");
                                        root_6_0_13_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                "otherRestrictions");
                                        root_6_0_13_0_1_0_tAFOX_2.setName("mco:MD_RestrictionCode");
                                        org.dom4j.Element root_6_0_13_0_2_tAFOX_2;
                                        if (root_6_0_13_0_tAFOX_2.getNamespaceForPrefix("mco") == null) {
                                            root_6_0_13_0_2_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                    .addElement("otherConstraints");
                                        } else {
                                            root_6_0_13_0_2_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                    .addElement("mco:otherConstraints");
                                        }
                                        root_6_0_13_0_2_tAFOX_2.setName("mco:otherConstraints");
                                        org.dom4j.Element root_6_0_13_0_2_0_tAFOX_2;
                                        if (root_6_0_13_0_2_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_13_0_2_0_tAFOX_2 = root_6_0_13_0_2_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_13_0_2_0_tAFOX_2 = root_6_0_13_0_2_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("useConstraints") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_6_0_13_0_2_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("useConstraints"));
                                        }
                                        root_6_0_13_0_2_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_6_0_14_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_14_tAFOX_2 = root_6_0_tAFOX_2.addElement("defaultLocale");
                                        } else {
                                            root_6_0_14_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:defaultLocale");
                                        }
                                        root_6_0_14_tAFOX_2.setName("mri:defaultLocale");
                                        org.dom4j.Element root_6_0_14_0_tAFOX_2;
                                        if (root_6_0_14_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_6_0_14_0_tAFOX_2 = root_6_0_14_tAFOX_2.addElement("PT_Locale");
                                        } else {
                                            root_6_0_14_0_tAFOX_2 = root_6_0_14_tAFOX_2
                                                    .addElement("lan:PT_Locale");
                                        }
                                        root_6_0_14_0_tAFOX_2.setName("lan:PT_Locale");
                                        org.dom4j.Element root_6_0_14_0_0_tAFOX_2;
                                        if (root_6_0_14_0_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_6_0_14_0_0_tAFOX_2 = root_6_0_14_0_tAFOX_2
                                                    .addElement("language");
                                        } else {
                                            root_6_0_14_0_0_tAFOX_2 = root_6_0_14_0_tAFOX_2
                                                    .addElement("lan:language");
                                        }
                                        root_6_0_14_0_0_tAFOX_2.setName("lan:language");
                                        org.dom4j.Element root_6_0_14_0_0_0_tAFOX_2;
                                        if (root_6_0_14_0_0_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_6_0_14_0_0_0_tAFOX_2 = root_6_0_14_0_0_tAFOX_2
                                                    .addElement("LanguageCode");
                                        } else {
                                            root_6_0_14_0_0_0_tAFOX_2 = root_6_0_14_0_0_tAFOX_2
                                                    .addElement("lan:LanguageCode");
                                        }
                                        root_6_0_14_0_0_0_tAFOX_2.addAttribute("codeList",
                                                "http://www.loc.gov/standards/iso639-2/");
                                        if (valueMap_tAFOX_2.get("mdLanguage") != null) {
                                            root_6_0_14_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("mdLanguage"));
                                        }
                                        root_6_0_14_0_0_0_tAFOX_2.setName("lan:LanguageCode");
                                        org.dom4j.Element root_6_0_14_0_1_tAFOX_2;
                                        if (root_6_0_14_0_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_6_0_14_0_1_tAFOX_2 = root_6_0_14_0_tAFOX_2
                                                    .addElement("characterEncoding");
                                        } else {
                                            root_6_0_14_0_1_tAFOX_2 = root_6_0_14_0_tAFOX_2
                                                    .addElement("lan:characterEncoding");
                                        }
                                        root_6_0_14_0_1_tAFOX_2.setName("lan:characterEncoding");
                                        org.dom4j.Element root_6_0_14_0_1_0_tAFOX_2;
                                        if (root_6_0_14_0_1_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                            root_6_0_14_0_1_0_tAFOX_2 = root_6_0_14_0_1_tAFOX_2
                                                    .addElement("MD_CharacterSetCode");
                                        } else {
                                            root_6_0_14_0_1_0_tAFOX_2 = root_6_0_14_0_1_tAFOX_2
                                                    .addElement("lan:MD_CharacterSetCode");
                                        }
                                        root_6_0_14_0_1_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_CharacterSetCode");
                                        if (valueMap_tAFOX_2.get("mdCharacterSetCode") != null) {
                                            root_6_0_14_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("mdCharacterSetCode"));
                                        }
                                        root_6_0_14_0_1_0_tAFOX_2.setName("lan:MD_CharacterSetCode");
                                        org.dom4j.Element root_6_0_15_tAFOX_2;
                                        if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                            root_6_0_15_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("supplementalInformation");
                                        } else {
                                            root_6_0_15_tAFOX_2 = root_6_0_tAFOX_2
                                                    .addElement("mri:supplementalInformation");
                                        }
                                        root_6_0_15_tAFOX_2.setName("mri:supplementalInformation");
                                        org.dom4j.Element root_6_0_15_0_tAFOX_2;
                                        if (root_6_0_15_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_6_0_15_0_tAFOX_2 = root_6_0_15_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_6_0_15_0_tAFOX_2 = root_6_0_15_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        root_6_0_15_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_7_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_7_tAFOX_2 = root_tAFOX_2.addElement("contentInfo");
                                        } else {
                                            root_7_tAFOX_2 = root_tAFOX_2.addElement("mdb:contentInfo");
                                        }
                                        root_7_tAFOX_2.setName("mdb:contentInfo");
                                        org.dom4j.Element root_7_0_tAFOX_2;
                                        if (root_7_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                            root_7_0_tAFOX_2 = root_7_tAFOX_2
                                                    .addElement("MD_CoverageDescription");
                                        } else {
                                            root_7_0_tAFOX_2 = root_7_tAFOX_2
                                                    .addElement("mrc:MD_CoverageDescription");
                                        }
                                        subTreeRootParent_tAFOX_2 = root_7_0_tAFOX_2;
                                        root_7_0_tAFOX_2.setName("mrc:MD_CoverageDescription");
                                        org.dom4j.Element root_7_0_0_tAFOX_2;
                                        if (root_7_0_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                            root_7_0_0_tAFOX_2 = root_7_0_tAFOX_2
                                                    .addElement("attributeDescription");
                                        } else {
                                            root_7_0_0_tAFOX_2 = root_7_0_tAFOX_2
                                                    .addElement("mrc:attributeDescription");
                                        }
                                        root_7_0_0_tAFOX_2.setName("mrc:attributeDescription");
                                        org.dom4j.Element root_7_0_0_0_tAFOX_2;
                                        if (root_7_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_7_0_0_0_tAFOX_2 = root_7_0_0_tAFOX_2.addElement("RecordType");
                                        } else {
                                            root_7_0_0_0_tAFOX_2 = root_7_0_0_tAFOX_2
                                                    .addElement("gco:RecordType");
                                        }
                                        nestXMLTool_tAFOX_2.parseAndAdd(root_7_0_0_0_tAFOX_2, "Raster bands");

                                        root_7_0_0_0_tAFOX_2.setName("gco:RecordType");
                                        org.dom4j.Element root_8_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_8_tAFOX_2 = root_tAFOX_2.addElement("distributionInfo");
                                        } else {
                                            root_8_tAFOX_2 = root_tAFOX_2.addElement("mdb:distributionInfo");
                                        }
                                        root_8_tAFOX_2.setName("mdb:distributionInfo");
                                        org.dom4j.Element root_8_0_tAFOX_2;
                                        if (root_8_tAFOX_2.getNamespaceForPrefix("mrd") == null) {
                                            root_8_0_tAFOX_2 = root_8_tAFOX_2.addElement("MD_Distribution");
                                        } else {
                                            root_8_0_tAFOX_2 = root_8_tAFOX_2.addElement("mrd:MD_Distribution");
                                        }
                                        root_8_0_tAFOX_2.setName("mrd:MD_Distribution");
                                        org.dom4j.Element root_8_0_0_tAFOX_2;
                                        if (root_8_0_tAFOX_2.getNamespaceForPrefix("mrd") == null) {
                                            root_8_0_0_tAFOX_2 = root_8_0_tAFOX_2.addElement("transferOptions");
                                        } else {
                                            root_8_0_0_tAFOX_2 = root_8_0_tAFOX_2
                                                    .addElement("mrd:transferOptions");
                                        }
                                        root_8_0_0_tAFOX_2.setName("mrd:transferOptions");
                                        org.dom4j.Element root_8_0_0_0_tAFOX_2;
                                        if (root_8_0_0_tAFOX_2.getNamespaceForPrefix("mrd") == null) {
                                            root_8_0_0_0_tAFOX_2 = root_8_0_0_tAFOX_2
                                                    .addElement("MD_DigitalTransferOptions");
                                        } else {
                                            root_8_0_0_0_tAFOX_2 = root_8_0_0_tAFOX_2
                                                    .addElement("mrd:MD_DigitalTransferOptions");
                                        }
                                        root_8_0_0_0_tAFOX_2.setName("mrd:MD_DigitalTransferOptions");
                                        org.dom4j.Element root_9_tAFOX_2;
                                        if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                            root_9_tAFOX_2 = root_tAFOX_2.addElement("resourceLineage");
                                        } else {
                                            root_9_tAFOX_2 = root_tAFOX_2.addElement("mdb:resourceLineage");
                                        }
                                        root_9_tAFOX_2.setName("mdb:resourceLineage");
                                        org.dom4j.Element root_9_0_tAFOX_2;
                                        if (root_9_tAFOX_2.getNamespaceForPrefix("mrl") == null) {
                                            root_9_0_tAFOX_2 = root_9_tAFOX_2.addElement("LI_Lineage");
                                        } else {
                                            root_9_0_tAFOX_2 = root_9_tAFOX_2.addElement("mrl:LI_Lineage");
                                        }
                                        root_9_0_tAFOX_2.setName("mrl:LI_Lineage");
                                        org.dom4j.Element root_9_0_0_tAFOX_2;
                                        if (root_9_0_tAFOX_2.getNamespaceForPrefix("mrl") == null) {
                                            root_9_0_0_tAFOX_2 = root_9_0_tAFOX_2.addElement("statement");
                                        } else {
                                            root_9_0_0_tAFOX_2 = root_9_0_tAFOX_2.addElement("mrl:statement");
                                        }
                                        root_9_0_0_tAFOX_2.addAttribute("gco:nilReason", "missing");
                                        root_9_0_0_tAFOX_2.setName("mrl:statement");
                                        org.dom4j.Element root_9_0_0_0_tAFOX_2;
                                        if (root_9_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                            root_9_0_0_0_tAFOX_2 = root_9_0_0_tAFOX_2
                                                    .addElement("CharacterString");
                                        } else {
                                            root_9_0_0_0_tAFOX_2 = root_9_0_0_tAFOX_2
                                                    .addElement("gco:CharacterString");
                                        }
                                        if (valueMap_tAFOX_2.get("lineage") != null) {
                                            nestXMLTool_tAFOX_2.setText(root_9_0_0_0_tAFOX_2,
                                                    valueMap_tAFOX_2.get("lineage"));
                                        }
                                        root_9_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                        org.dom4j.Element root_9_0_1_tAFOX_2;
                                        if (root_9_0_tAFOX_2.getNamespaceForPrefix("mrl") == null) {
                                            root_9_0_1_tAFOX_2 = root_9_0_tAFOX_2.addElement("scope");
                                        } else {
                                            root_9_0_1_tAFOX_2 = root_9_0_tAFOX_2.addElement("mrl:scope");
                                        }
                                        root_9_0_1_tAFOX_2.setName("mrl:scope");
                                        org.dom4j.Element root_9_0_1_0_tAFOX_2;
                                        if (root_9_0_1_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_9_0_1_0_tAFOX_2 = root_9_0_1_tAFOX_2.addElement("MD_Scope");
                                        } else {
                                            root_9_0_1_0_tAFOX_2 = root_9_0_1_tAFOX_2
                                                    .addElement("mcc:MD_Scope");
                                        }
                                        root_9_0_1_0_tAFOX_2.setName("mcc:MD_Scope");
                                        org.dom4j.Element root_9_0_1_0_0_tAFOX_2;
                                        if (root_9_0_1_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_9_0_1_0_0_tAFOX_2 = root_9_0_1_0_tAFOX_2.addElement("level");
                                        } else {
                                            root_9_0_1_0_0_tAFOX_2 = root_9_0_1_0_tAFOX_2
                                                    .addElement("mcc:level");
                                        }
                                        root_9_0_1_0_0_tAFOX_2.setName("mcc:level");
                                        org.dom4j.Element root_9_0_1_0_0_0_tAFOX_2;
                                        if (root_9_0_1_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                            root_9_0_1_0_0_0_tAFOX_2 = root_9_0_1_0_0_tAFOX_2
                                                    .addElement("MD_ScopeCode");
                                        } else {
                                            root_9_0_1_0_0_0_tAFOX_2 = root_9_0_1_0_0_tAFOX_2
                                                    .addElement("mcc:MD_ScopeCode");
                                        }
                                        root_9_0_1_0_0_0_tAFOX_2.addAttribute("codeList",
                                                "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode");
                                        if (valueMap_tAFOX_2.get("scopeCode") != null) {
                                            root_9_0_1_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                    valueMap_tAFOX_2.get("scopeCode"));
                                        }
                                        root_9_0_1_0_0_0_tAFOX_2.setName("mcc:MD_ScopeCode");
                                        root4Group_tAFOX_2 = subTreeRootParent_tAFOX_2;
                                    } else {
                                        subTreeRootParent_tAFOX_2 = root4Group_tAFOX_2;
                                    }
                                    // build group xml tree
                                    // build loop xml tree
                                    org.dom4j.Element loop_tAFOX_2;
                                    if (subTreeRootParent_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                        loop_tAFOX_2 = org.dom4j.DocumentHelper.createElement("attributeGroup");
                                    } else {
                                        loop_tAFOX_2 = org.dom4j.DocumentHelper
                                                .createElement("mrc:attributeGroup");
                                    }
                                    if (orders_tAFOX_2[0] == 0) {
                                        orders_tAFOX_2[0] = 1;
                                    }
                                    if (1 < orders_tAFOX_2.length) {
                                        orders_tAFOX_2[1] = 0;
                                    }
                                    subTreeRootParent_tAFOX_2.elements().add(orders_tAFOX_2[0]++, loop_tAFOX_2);
                                    loop_tAFOX_2.setName("mrc:attributeGroup");
                                    org.dom4j.Element loop_0_tAFOX_2;
                                    if (loop_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                        loop_0_tAFOX_2 = loop_tAFOX_2.addElement("MD_AttributeGroup");
                                    } else {
                                        loop_0_tAFOX_2 = loop_tAFOX_2.addElement("mrc:MD_AttributeGroup");
                                    }
                                    loop_0_tAFOX_2.setName("mrc:MD_AttributeGroup");
                                    org.dom4j.Element loop_0_0_tAFOX_2;
                                    if (loop_0_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                        loop_0_0_tAFOX_2 = loop_0_tAFOX_2.addElement("contentType");
                                    } else {
                                        loop_0_0_tAFOX_2 = loop_0_tAFOX_2.addElement("mrc:contentType");
                                    }
                                    loop_0_0_tAFOX_2.setName("mrc:contentType");
                                    org.dom4j.Element loop_0_0_0_tAFOX_2;
                                    if (loop_0_0_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                        loop_0_0_0_tAFOX_2 = loop_0_0_tAFOX_2
                                                .addElement("MD_CoverageContentTypeCode");
                                    } else {
                                        loop_0_0_0_tAFOX_2 = loop_0_0_tAFOX_2
                                                .addElement("mrc:MD_CoverageContentTypeCode");
                                    }
                                    loop_0_0_0_tAFOX_2.addAttribute("codeList",
                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_CoverageContentTypeCode");
                                    loop_0_0_0_tAFOX_2.addAttribute("codeListValue", "image");
                                    loop_0_0_0_tAFOX_2.setName("mrc:MD_CoverageContentTypeCode");
                                    org.dom4j.Element loop_0_1_tAFOX_2;
                                    if (loop_0_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                        loop_0_1_tAFOX_2 = loop_0_tAFOX_2.addElement("attribute");
                                    } else {
                                        loop_0_1_tAFOX_2 = loop_0_tAFOX_2.addElement("mrc:attribute");
                                    }
                                    loop_0_1_tAFOX_2.setName("mrc:attribute");
                                    org.dom4j.Element loop_0_1_0_tAFOX_2;
                                    if (loop_0_1_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                        loop_0_1_0_tAFOX_2 = loop_0_1_tAFOX_2.addElement("MD_Band");
                                    } else {
                                        loop_0_1_0_tAFOX_2 = loop_0_1_tAFOX_2.addElement("mrc:MD_Band");
                                    }
                                    loop_0_1_0_tAFOX_2.setName("mrc:MD_Band");
                                    org.dom4j.Element loop_0_1_0_0_tAFOX_2;
                                    if (loop_0_1_0_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                        loop_0_1_0_0_tAFOX_2 = loop_0_1_0_tAFOX_2.addElement("name");
                                    } else {
                                        loop_0_1_0_0_tAFOX_2 = loop_0_1_0_tAFOX_2.addElement("mrc:name");
                                    }
                                    loop_0_1_0_0_tAFOX_2.setName("mrc:name");
                                    org.dom4j.Element loop_0_1_0_0_0_tAFOX_2;
                                    if (loop_0_1_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                        loop_0_1_0_0_0_tAFOX_2 = loop_0_1_0_0_tAFOX_2
                                                .addElement("MD_Identifier");
                                    } else {
                                        loop_0_1_0_0_0_tAFOX_2 = loop_0_1_0_0_tAFOX_2
                                                .addElement("mcc:MD_Identifier");
                                    }
                                    loop_0_1_0_0_0_tAFOX_2.setName("mcc:MD_Identifier");
                                    org.dom4j.Element loop_0_1_0_0_0_0_tAFOX_2;
                                    if (loop_0_1_0_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                        loop_0_1_0_0_0_0_tAFOX_2 = loop_0_1_0_0_0_tAFOX_2.addElement("code");
                                    } else {
                                        loop_0_1_0_0_0_0_tAFOX_2 = loop_0_1_0_0_0_tAFOX_2
                                                .addElement("mcc:code");
                                    }
                                    loop_0_1_0_0_0_0_tAFOX_2.setName("mcc:code");
                                    org.dom4j.Element loop_0_1_0_0_0_0_0_tAFOX_2;
                                    if (loop_0_1_0_0_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                        loop_0_1_0_0_0_0_0_tAFOX_2 = loop_0_1_0_0_0_0_tAFOX_2
                                                .addElement("CharacterString");
                                    } else {
                                        loop_0_1_0_0_0_0_0_tAFOX_2 = loop_0_1_0_0_0_0_tAFOX_2
                                                .addElement("gco:CharacterString");
                                    }
                                    if (valueMap_tAFOX_2.get("bandName") != null) {
                                        nestXMLTool_tAFOX_2.setText(loop_0_1_0_0_0_0_0_tAFOX_2,
                                                valueMap_tAFOX_2.get("bandName"));
                                    }
                                    loop_0_1_0_0_0_0_0_tAFOX_2.setName("gco:CharacterString");

                                    tos_count_tAdvancedFileOutputXML_2++;

                                    /**
                                     * [tAdvancedFileOutputXML_2 main ] stop
                                     */

                                } // End of branch "row1"

                            } // C_01

                            // end for
                        }

                    } // End of branch "iso19115"

                } // close loop of lookup 'properties' // G_TM_M_043

                /**
                 * [sGdalInfoInput_2 end ] start
                 */

                currentComponent = "sGdalInfoInput_2";

                // Delete current GDAL dataset
                dataset_sGdalInfoInput_2.delete();
            }
            // Optional
            org.gdal.gdal.gdal.GDALDestroyDriverManager();

            globalMap.put("sGdalInfoInput_2_NB_LINE", nb_line_sGdalInfoInput_2);
            globalMap.put("sGdalInfoInput_2_NB_ERRORS", nbErrors_sGdalInfoInput_2);
            globalMap.put("sGdalInfoInput_2_ERRORS", errors_sGdalInfoInput_2);

            ok_Hash.put("sGdalInfoInput_2", true);
            end_Hash.put("sGdalInfoInput_2", System.currentTimeMillis());

            if (((Integer) globalMap.get("sGdalInfoInput_2_NB_ERRORS")) > 0) {

                tWarn_1Process(globalMap);
            }

            if (((Integer) globalMap.get("sGdalInfoInput_2_NB_ERRORS")) > 0) {

                tDie_1Process(globalMap);
            }

            /**
             * [sGdalInfoInput_2 end ] stop
             */

            /**
             * [tMap_1 end ] start
             */

            currentComponent = "tMap_1";

            // ###############################
            // # Lookup hashes releasing
            if (tHash_Lookup_properties != null) {
                tHash_Lookup_properties.endGet();
            }
            globalMap.remove("tHash_Lookup_properties");

            // ###############################

            ok_Hash.put("tMap_1", true);
            end_Hash.put("tMap_1", System.currentTimeMillis());

            /**
             * [tMap_1 end ] stop
             */

            /**
             * [tNormalize_2 end ] start
             */

            currentComponent = "tNormalize_2";

            globalMap.put("tNormalize_2_NB_LINE", nb_line_tNormalize_2);

            ok_Hash.put("tNormalize_2", true);
            end_Hash.put("tNormalize_2", System.currentTimeMillis());

            /**
             * [tNormalize_2 end ] stop
             */

            /**
             * [tExtractDelimitedFields_1 end ] start
             */

            currentComponent = "tExtractDelimitedFields_1";

            globalMap.put("tExtractDelimitedFields_1_NB_LINE", nb_line_tExtractDelimitedFields_1);

            ok_Hash.put("tExtractDelimitedFields_1", true);
            end_Hash.put("tExtractDelimitedFields_1", System.currentTimeMillis());

            /**
             * [tExtractDelimitedFields_1 end ] stop
             */

            /**
             * [tLogRow_2 end ] start
             */

            currentComponent = "tLogRow_2";

            ok_Hash.put("tLogRow_2", true);
            end_Hash.put("tLogRow_2", System.currentTimeMillis());

            /**
             * [tLogRow_2 end ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 end ] start
             */

            currentComponent = "tAdvancedFileOutputXML_2";

            java.io.FileOutputStream stream_tAFOX_2 = new java.io.FileOutputStream(fileName_tAFOX_2);
            org.dom4j.io.XMLWriter output_tAFOX_2 = new org.dom4j.io.XMLWriter(stream_tAFOX_2, format_tAFOX_2);
            if (doc_tAFOX_2.getRootElement() != null) {
                nestXMLTool_tAFOX_2.replaceDefaultNameSpace(doc_tAFOX_2.getRootElement());
                output_tAFOX_2.write(doc_tAFOX_2);
            }
            output_tAFOX_2.close();
            globalMap.put("tAdvancedFileOutputXML_2_NB_LINE", nb_line_tAFOX_2);

            ok_Hash.put("tAdvancedFileOutputXML_2", true);
            end_Hash.put("tAdvancedFileOutputXML_2", System.currentTimeMillis());

            /**
             * [tAdvancedFileOutputXML_2 end ] stop
             */

        } // end the resume

    } catch (java.lang.Exception e) {

        TalendException te = new TalendException(e, currentComponent, globalMap);

        throw te;
    } catch (java.lang.Error error) {

        throw error;
    } finally {

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_properties");

        try {

            /**
             * [sGdalInfoInput_2 finally ] start
             */

            currentComponent = "sGdalInfoInput_2";

            /**
             * [sGdalInfoInput_2 finally ] stop
             */

            /**
             * [tMap_1 finally ] start
             */

            currentComponent = "tMap_1";

            /**
             * [tMap_1 finally ] stop
             */

            /**
             * [tNormalize_2 finally ] start
             */

            currentComponent = "tNormalize_2";

            /**
             * [tNormalize_2 finally ] stop
             */

            /**
             * [tExtractDelimitedFields_1 finally ] start
             */

            currentComponent = "tExtractDelimitedFields_1";

            /**
             * [tExtractDelimitedFields_1 finally ] stop
             */

            /**
             * [tLogRow_2 finally ] start
             */

            currentComponent = "tLogRow_2";

            /**
             * [tLogRow_2 finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_2";

            /**
             * [tAdvancedFileOutputXML_2 finally ] stop
             */

        } catch (java.lang.Exception e) {
            // ignore
        } catch (java.lang.Error error) {
            // ignore
        }
        resourceMap = null;
    }

    globalMap.put("sGdalInfoInput_2_SUBPROCESS_STATE", 1);
}

From source file:metadata_generator.vectorjob_0_1.VectorJob.java

License:Apache License

public void sOGRInfoInput_1Process(final java.util.Map<String, Object> globalMap) throws TalendException {
    globalMap.put("sOGRInfoInput_1_SUBPROCESS_STATE", 0);

    final boolean execStat = this.execStat;

    String iterateId = "";

    String currentComponent = "";
    java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();

    try {/*from w  w  w .j  a va2 s  .  co  m*/

        String currentMethodName = new java.lang.Exception().getStackTrace()[0].getMethodName();
        boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
        if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
            // the
            // resume
            globalResumeTicket = true;

            tFileInputDelimited_1Process(globalMap);
            tFileInputDelimited_2Process(globalMap);

            fileRowStruct fileRow = new fileRowStruct();
            layerRowStruct layerRow = new layerRowStruct();
            layerRowStruct row1 = layerRow;
            layerRowStruct fromActualFile = layerRow;
            iso19115_3Struct iso19115_3 = new iso19115_3Struct();
            row2Struct row2 = new row2Struct();
            row4Struct row4 = new row4Struct();
            row4Struct row3 = row4;

            /**
             * [tFlowToIterate_1 begin ] start
             */

            int NB_ITERATE_sOGRInfoInput_3 = 0; // for statistics

            ok_Hash.put("tFlowToIterate_1", false);
            start_Hash.put("tFlowToIterate_1", System.currentTimeMillis());

            currentComponent = "tFlowToIterate_1";

            int tos_count_tFlowToIterate_1 = 0;

            int nb_line_tFlowToIterate_1 = 0;
            int counter_tFlowToIterate_1 = 0;

            /**
             * [tFlowToIterate_1 begin ] stop
             */

            /**
             * [sOGRInfoInput_1 begin ] start
             */

            ok_Hash.put("sOGRInfoInput_1", false);
            start_Hash.put("sOGRInfoInput_1", System.currentTimeMillis());

            currentComponent = "sOGRInfoInput_1";

            int tos_count_sOGRInfoInput_1 = 0;

            // Fixed number of line. Only one row to extract information.
            int nb_line_sOGRInfoInput_1 = 1;

            /* Initialize OGR main variables */
            org.gdal.ogr.DataSource dataset_sOGRInfoInput_1 = null;
            org.gdal.ogr.Driver driver_sOGRInfoInput_1 = null;
            org.gdal.osr.SpatialReference proj_sOGRInfoInput_1, latlon_sOGRInfoInput_1 = null;
            org.gdal.osr.CoordinateTransformation transform_sOGRInfoInput_1 = null;

            boolean bReadOnly_sOGRInfoInput_1 = true;

            /* Initialize JTS main variables */
            com.vividsolutions.jts.geom.GeometryFactory gFact_sOGRInfoInput_1 = new com.vividsolutions.jts.geom.GeometryFactory();

            /* Initialize variables */
            String srs_sOGRInfoInput_1 = null;
            org.opengis.referencing.crs.CoordinateReferenceSystem crs_sOGRInfoInput_1 = null;
            // Default SRS EPSG code, if none is found
            int epsg_code_sOGRInfoInput_1 = -1;
            String datasetName_sOGRInfoInput_1 = /**
                                                 * Start field
                                                 * sOGRInfoInput_1:FILENAME
                                                 */
                    context.file/** End field sOGRInfoInput_1:FILENAME */
            ;
            String FS_sOGRInfoInput_1 = /**
                                        * Start field
                                        * sOGRInfoInput_1:FIELD_SEPARATOR
                                        */
                    "|"/** End field sOGRInfoInput_1:FIELD_SEPARATOR */
            ;
            String error_sOGRInfoInput_1 = "";
            String geomType_sOGRInfoInput_1 = "";
            String fidColumn_sOGRInfoInput_1 = "";
            String geomColumn_sOGRInfoInput_1 = "";
            String columnsDef_sOGRInfoInput_1 = "";
            int nbFeatures_sOGRInfoInput_1 = 0;
            int nbErrors_sOGRInfoInput_1 = 0;
            String errors_sOGRInfoInput_1 = "";
            java.util.HashMap<String, double[]> corners_sOGRInfoInput_1;
            java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate> geoXY_sOGRInfoInput_1;
            java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate> latlonXY_sOGRInfoInput_1;

            // Register all known configured GDAL drivers.
            try {
                org.gdal.ogr.ogr.RegisterAll();
            } catch (java.lang.UnsatisfiedLinkError e) {
                System.err.println(
                        "In order to use GDAL/OGR in Talend, the java.library.path variable should point to GDAL library.");
                System.err.println(
                        "To set this property, go to the Run view > Advanced settings > Use specific JVM Arguments");
                System.err.println("and add a new argument:");
                System.err.println("  -Djava.library.path=/path/to/gdal/swig/java");
                System.err.println("");
                e.printStackTrace();
                // Aborting due to wrong GDAL driver configuration
                throw e;
            }
            // Open an OGR dataset
            // dataset_sOGRInfoInput_1 =
            // org.gdal.gdal.gdal.Open(datasetName_sOGRInfoInput_1,
            // org.gdal.gdalconst.gdalconstConstants.GA_ReadOnly);
            /* get feature source from store */
            dataset_sOGRInfoInput_1 = org.gdal.ogr.ogr.Open(datasetName_sOGRInfoInput_1,
                    !bReadOnly_sOGRInfoInput_1);
            if (dataset_sOGRInfoInput_1 == null) {
                error_sOGRInfoInput_1 = "FAILURE:" + "Unable to open datasource `" + datasetName_sOGRInfoInput_1
                        + "' with the OGR drivers.";
                // TODO : report in reject output
                System.err.println(error_sOGRInfoInput_1);
                for (int iDriver = 0; iDriver < org.gdal.ogr.ogr.GetDriverCount(); iDriver++) {
                    System.err.println("  -> " + org.gdal.ogr.ogr.GetDriver(iDriver).GetName());
                }
            } else {

                // Get current GDAL driver
                driver_sOGRInfoInput_1 = dataset_sOGRInfoInput_1.GetDriver();
                geoXY_sOGRInfoInput_1 = new java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate>(
                        4);
                latlonXY_sOGRInfoInput_1 = new java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate>(
                        4);

                for (int iLayer_sOGRInfoInput_1 = 0; iLayer_sOGRInfoInput_1 < dataset_sOGRInfoInput_1
                        .GetLayerCount(); iLayer_sOGRInfoInput_1++) {
                    org.gdal.ogr.Layer poLayer_sOGRInfoInput_1 = dataset_sOGRInfoInput_1
                            .GetLayer(iLayer_sOGRInfoInput_1);
                    String layerName_sOGRInfoInput_1 = poLayer_sOGRInfoInput_1.GetName();

                    // Skip layer if a specific one is requested.
                    if (!/** Start field sOGRInfoInput_1:LAYER */
                    ""/** End field sOGRInfoInput_1:LAYER */
                            .equals("") && !/** Start field sOGRInfoInput_1:LAYER */
                    ""/** End field sOGRInfoInput_1:LAYER */
                            .equals(layerName_sOGRInfoInput_1))
                        continue;

                    if (poLayer_sOGRInfoInput_1 == null) {
                        System.out.println(
                                "FAILURE: Couldn't fetch advertised layer " + iLayer_sOGRInfoInput_1 + "!");
                        return;
                    }
                    org.gdal.ogr.FeatureDefn poDefn_sOGRInfoInput_1 = poLayer_sOGRInfoInput_1.GetLayerDefn();

                    geomType_sOGRInfoInput_1 = org.gdal.ogr.ogr
                            .GeometryTypeToName(poDefn_sOGRInfoInput_1.GetGeomType());

                    nbFeatures_sOGRInfoInput_1 = poLayer_sOGRInfoInput_1.GetFeatureCount();

                    /* Handle Projection - lat/long transformation */
                    /* CRS TODO get EPSG code */
                    int pszWKT_sOGRInfoInput_1;
                    proj_sOGRInfoInput_1 = poLayer_sOGRInfoInput_1.GetSpatialRef();
                    if (proj_sOGRInfoInput_1 == null) {
                        pszWKT_sOGRInfoInput_1 = -1;
                    } else {
                        srs_sOGRInfoInput_1 = proj_sOGRInfoInput_1.ExportToPrettyWkt();

                        // First try: use AutoIdentifyEPSG and init GeoTools
                        // CRS
                        try {
                            // This method inspects a WKT definition, and
                            // adds EPSG authority nodes
                            pszWKT_sOGRInfoInput_1 = proj_sOGRInfoInput_1.AutoIdentifyEPSG();
                            if ("EPSG".equals(proj_sOGRInfoInput_1.GetAuthorityName(null))) {
                                epsg_code_sOGRInfoInput_1 = Integer.parseInt(
                                        poLayer_sOGRInfoInput_1.GetSpatialRef().GetAuthorityCode(null));
                                try {
                                    crs_sOGRInfoInput_1 = org.geotools.referencing.CRS
                                            .decode("EPSG:" + epsg_code_sOGRInfoInput_1);
                                } catch (Exception e) {
                                    System.err.println(e.getMessage());
                                }
                            }
                        } catch (Exception e) {
                            System.err.println("Error trying to identify SRS from EPSG code. Error is: "
                                    + e.getMessage() + ". Trying with WKT ...");

                            // Second try: use WKT and init GeoTools CRS
                            try {
                                if (srs_sOGRInfoInput_1 != null) {
                                    crs_sOGRInfoInput_1 = org.geotools.referencing.CRS
                                            .parseWKT(srs_sOGRInfoInput_1);
                                }
                            } catch (Exception e2) {
                                System.err.println(
                                        "Error trying to identify SRS from WKT. Error is: " + e2.getMessage());
                            }

                            pszWKT_sOGRInfoInput_1 = -1;
                        }

                        latlon_sOGRInfoInput_1 = proj_sOGRInfoInput_1.CloneGeogCS();
                    }

                    if (latlon_sOGRInfoInput_1 != null) {
                        org.gdal.gdal.gdal.PushErrorHandler("CPLQuietErrorHandler");
                        transform_sOGRInfoInput_1 = new org.gdal.osr.CoordinateTransformation(
                                proj_sOGRInfoInput_1, latlon_sOGRInfoInput_1);
                        org.gdal.gdal.gdal.PopErrorHandler();
                        latlon_sOGRInfoInput_1.delete();
                        if (org.gdal.gdal.gdal.GetLastErrorMsg()
                                .indexOf("Unable to load PROJ.4 library") != -1) {
                            transform_sOGRInfoInput_1 = null;
                        }
                    }

                    if (poLayer_sOGRInfoInput_1.GetFIDColumn().length() > 0)
                        fidColumn_sOGRInfoInput_1 = poLayer_sOGRInfoInput_1.GetFIDColumn();

                    if (poLayer_sOGRInfoInput_1.GetGeometryColumn().length() > 0)
                        geomColumn_sOGRInfoInput_1 = poLayer_sOGRInfoInput_1.GetGeometryColumn();

                    for (int iAttr = 0; iAttr < poDefn_sOGRInfoInput_1.GetFieldCount(); iAttr++) {
                        org.gdal.ogr.FieldDefn poField_sOGRInfoInput_1 = poDefn_sOGRInfoInput_1
                                .GetFieldDefn(iAttr);

                        columnsDef_sOGRInfoInput_1 += poField_sOGRInfoInput_1.GetNameRef() + "#"
                                + poField_sOGRInfoInput_1
                                        .GetFieldTypeName(poField_sOGRInfoInput_1.GetFieldType())
                                + "#" + poField_sOGRInfoInput_1.GetWidth() + "."
                                + poField_sOGRInfoInput_1.GetPrecision() + FS_sOGRInfoInput_1;
                    }

                    double oExt_sOGRInfoInput_1[] = poLayer_sOGRInfoInput_1.GetExtent(true);

                    if (oExt_sOGRInfoInput_1 != null) {
                        /* Compute extent */
                        corners_sOGRInfoInput_1 = new java.util.HashMap<String, double[]>(4);
                        double[] upper_left_corner_sOGRInfoInput_1 = { oExt_sOGRInfoInput_1[0],
                                oExt_sOGRInfoInput_1[3] };
                        double[] lower_left_corner_sOGRInfoInput_1 = { oExt_sOGRInfoInput_1[0],
                                oExt_sOGRInfoInput_1[2] };
                        double[] upper_right_corner_sOGRInfoInput_1 = { oExt_sOGRInfoInput_1[1],
                                oExt_sOGRInfoInput_1[3] };
                        double[] lower_right_corner_sOGRInfoInput_1 = { oExt_sOGRInfoInput_1[1],
                                oExt_sOGRInfoInput_1[2] };

                        corners_sOGRInfoInput_1.put("upperLeft", upper_left_corner_sOGRInfoInput_1);
                        corners_sOGRInfoInput_1.put("lowerLeft", lower_left_corner_sOGRInfoInput_1);
                        corners_sOGRInfoInput_1.put("upperRight", upper_right_corner_sOGRInfoInput_1);
                        corners_sOGRInfoInput_1.put("lowerRight", lower_right_corner_sOGRInfoInput_1);

                        for (String corner_sOGRInfoInput_1 : corners_sOGRInfoInput_1.keySet()) {
                            com.vividsolutions.jts.geom.Coordinate coord_sOGRInfoInput_1 = new com.vividsolutions.jts.geom.Coordinate();

                            coord_sOGRInfoInput_1.x = corners_sOGRInfoInput_1.get(corner_sOGRInfoInput_1)[0];
                            coord_sOGRInfoInput_1.y = corners_sOGRInfoInput_1.get(corner_sOGRInfoInput_1)[1];

                            geoXY_sOGRInfoInput_1.put(corner_sOGRInfoInput_1, coord_sOGRInfoInput_1);

                            // lat/long transformation
                            if (transform_sOGRInfoInput_1 != null) {
                                double[] transPoint_sOGRInfoInput_1 = new double[3];
                                transform_sOGRInfoInput_1.TransformPoint(transPoint_sOGRInfoInput_1,
                                        coord_sOGRInfoInput_1.x, coord_sOGRInfoInput_1.y, 0);
                                latlonXY_sOGRInfoInput_1.put(corner_sOGRInfoInput_1,
                                        new com.vividsolutions.jts.geom.Coordinate(
                                                transPoint_sOGRInfoInput_1[0], transPoint_sOGRInfoInput_1[1]));
                            }
                        }
                    }
                    fileRow.driver = driver_sOGRInfoInput_1.getName();
                    fileRow.files = datasetName_sOGRInfoInput_1;
                    fileRow.layer_name = layerName_sOGRInfoInput_1;
                    fileRow.fid_column = fidColumn_sOGRInfoInput_1;
                    fileRow.geom_column = geomColumn_sOGRInfoInput_1;
                    fileRow.columns_def = columnsDef_sOGRInfoInput_1;
                    fileRow.geom_type = geomType_sOGRInfoInput_1;
                    fileRow.srs = srs_sOGRInfoInput_1;
                    fileRow.epsg_code = epsg_code_sOGRInfoInput_1;

                    // the geo extent (Polygon)
                    com.vividsolutions.jts.geom.Coordinate[] geoCoords_sOGRInfoInput_1 = new com.vividsolutions.jts.geom.Coordinate[5];
                    org.talend.sdi.geometry.Geometry geo_extent_sOGRInfoInput_1 = null;
                    if (!geoXY_sOGRInfoInput_1.isEmpty()) {
                        try {
                            geoCoords_sOGRInfoInput_1[0] = geoXY_sOGRInfoInput_1.get("upperLeft");
                            geoCoords_sOGRInfoInput_1[1] = geoXY_sOGRInfoInput_1.get("lowerLeft");
                            geoCoords_sOGRInfoInput_1[2] = geoXY_sOGRInfoInput_1.get("lowerRight");
                            geoCoords_sOGRInfoInput_1[3] = geoXY_sOGRInfoInput_1.get("upperRight");
                            geoCoords_sOGRInfoInput_1[4] = geoXY_sOGRInfoInput_1.get("upperLeft");

                            geo_extent_sOGRInfoInput_1 = new org.talend.sdi.geometry.Geometry(
                                    (com.vividsolutions.jts.geom.Geometry) gFact_sOGRInfoInput_1.createPolygon(
                                            gFact_sOGRInfoInput_1.createLinearRing(geoCoords_sOGRInfoInput_1),
                                            null));
                            if (crs_sOGRInfoInput_1 != null) {
                                geo_extent_sOGRInfoInput_1.setCRS(crs_sOGRInfoInput_1);
                            }
                        } catch (Exception e) {
                            nbErrors_sOGRInfoInput_1++;
                            errors_sOGRInfoInput_1 += "\n" + e.getMessage();
                            // TODO : catch error
                            e.printStackTrace();
                        }
                    }
                    fileRow.geo_extent = geo_extent_sOGRInfoInput_1;

                    // the lat/long extent (Polygon)
                    org.talend.sdi.geometry.Geometry latlon_extent_sOGRInfoInput_1 = null;
                    if (!latlonXY_sOGRInfoInput_1.isEmpty()) {
                        try {
                            com.vividsolutions.jts.geom.Coordinate[] latlonCoords_sOGRInfoInput_1 = new com.vividsolutions.jts.geom.Coordinate[5];
                            latlonCoords_sOGRInfoInput_1[0] = latlonXY_sOGRInfoInput_1.get("upperLeft");
                            latlonCoords_sOGRInfoInput_1[1] = latlonXY_sOGRInfoInput_1.get("lowerLeft");
                            latlonCoords_sOGRInfoInput_1[2] = latlonXY_sOGRInfoInput_1.get("lowerRight");
                            latlonCoords_sOGRInfoInput_1[3] = latlonXY_sOGRInfoInput_1.get("upperRight");
                            latlonCoords_sOGRInfoInput_1[4] = latlonXY_sOGRInfoInput_1.get("upperLeft");

                            latlon_extent_sOGRInfoInput_1 = new org.talend.sdi.geometry.Geometry(
                                    (com.vividsolutions.jts.geom.Geometry) gFact_sOGRInfoInput_1
                                            .createPolygon(gFact_sOGRInfoInput_1
                                                    .createLinearRing(latlonCoords_sOGRInfoInput_1), null));
                            latlon_extent_sOGRInfoInput_1
                                    .setCRS(org.geotools.referencing.CRS.decode("EPSG:4326"));

                        } catch (Exception e) {
                            nbErrors_sOGRInfoInput_1++;
                            errors_sOGRInfoInput_1 += "\n" + e.getMessage();
                            // TODO : catch error
                            e.printStackTrace();
                        }
                    }

                    fileRow.latlon_extent = latlon_extent_sOGRInfoInput_1;
                    fileRow.nb_features = nbFeatures_sOGRInfoInput_1;
                    fileRow.error = error_sOGRInfoInput_1;

                    /**
                     * [sOGRInfoInput_1 begin ] stop
                     */

                    /**
                     * [sOGRInfoInput_1 main ] start
                     */

                    currentComponent = "sOGRInfoInput_1";

                    tos_count_sOGRInfoInput_1++;

                    /**
                     * [sOGRInfoInput_1 main ] stop
                     */

                    /**
                     * [tFlowToIterate_1 main ] start
                     */

                    currentComponent = "tFlowToIterate_1";

                    globalMap.put("fileRow.driver", fileRow.driver);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.files", fileRow.files);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.layer_name", fileRow.layer_name);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.fid_column", fileRow.fid_column);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.geom_column", fileRow.geom_column);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.columns_def", fileRow.columns_def);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.geom_type", fileRow.geom_type);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.srs", fileRow.srs);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.epsg_code", fileRow.epsg_code);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.geo_extent", fileRow.geo_extent);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.latlon_extent", fileRow.latlon_extent);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.nb_features", fileRow.nb_features);
                    nb_line_tFlowToIterate_1++;

                    globalMap.put("fileRow.error", fileRow.error);
                    nb_line_tFlowToIterate_1++;

                    counter_tFlowToIterate_1++;
                    globalMap.put("tFlowToIterate_1_CURRENT_ITERATION", counter_tFlowToIterate_1);

                    tos_count_tFlowToIterate_1++;

                    /**
                     * [tFlowToIterate_1 main ] stop
                     */
                    NB_ITERATE_sOGRInfoInput_3++;

                    /**
                     * [tAdvancedFileOutputXML_2 begin ] start
                     */

                    ok_Hash.put("tAdvancedFileOutputXML_2", false);
                    start_Hash.put("tAdvancedFileOutputXML_2", System.currentTimeMillis());

                    currentComponent = "tAdvancedFileOutputXML_2";

                    int tos_count_tAdvancedFileOutputXML_2 = 0;

                    int nb_line_tAFOX_2 = 0;

                    boolean needRoot_tAFOX_2 = true;

                    String fileName_tAFOX_2 = (context.generateMetadataInSeparateDir
                            ? context.metadataDir + "/" + new java.io.File(context.file).getName()
                            : context.file) + "_md_iso19115-3_" + System.currentTimeMillis() + ".xml";
                    Boolean alreadyExistsFile_tAFOX_2 = new java.io.File(fileName_tAFOX_2).exists();
                    fileName_tAFOX_2 = new java.io.File(fileName_tAFOX_2).getAbsolutePath().replace("\\", "/");
                    String file_tAFOX_2 = "";

                    if (fileName_tAFOX_2.indexOf("/") < 0) {
                        throw new IllegalArgumentException("not a correct file name.");
                    } else {
                        String tail_tAFOX_2 = fileName_tAFOX_2.substring(fileName_tAFOX_2.lastIndexOf("/"));
                        file_tAFOX_2 = tail_tAFOX_2.lastIndexOf(".") > 0
                                ? fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("."))
                                : fileName_tAFOX_2;
                    }
                    java.io.File createFiletAFOX_2 = new java.io.File(fileName_tAFOX_2);

                    if (!createFiletAFOX_2.exists()) {
                        (new java.io.File(fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("/"))))
                                .mkdirs();
                        needRoot_tAFOX_2 = true;
                    }

                    java.util.List<java.util.List<String>> groupbyList_tAFOX_2 = new java.util.ArrayList<java.util.List<String>>();
                    java.util.Map<String, String> valueMap_tAFOX_2 = new java.util.HashMap<String, String>();

                    class NestXMLTool_tAFOX_2 {
                        public void parseAndAdd(org.dom4j.Element nestRoot, String value) {
                            try {
                                org.dom4j.Document doc4Str = org.dom4j.DocumentHelper
                                        .parseText("<root>" + value + "</root>");
                                nestRoot.setContent(doc4Str.getRootElement().content());
                            } catch (java.lang.Exception e) {
                                // e.printStackTrace();
                                nestRoot.setText(value);
                            }
                        }

                        public void setText(org.dom4j.Element element, String value) {
                            if (value.startsWith("<![CDATA[") && value.endsWith("]]>")) {
                                String text = value.substring(9, value.length() - 3);
                                element.addCDATA(text);
                            } else {
                                element.setText(value);
                            }
                        }

                        public void appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                            element.appendContent(doc);
                        }

                        public void replaceDefaultNameSpace(org.dom4j.Element nestRoot) {
                            if (nestRoot != null) {
                                boolean isDefaultNameSpaceAtRoot = ""
                                        .equals(nestRoot.getQName().getNamespace().getPrefix());
                                for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) nestRoot
                                        .elements()) {
                                    if (("").equals(tmp.getQName().getNamespace().getURI())
                                            && ("").equals(tmp.getQName().getNamespace().getPrefix())
                                            && isDefaultNameSpaceAtRoot) {
                                        tmp.setQName(org.dom4j.DocumentHelper.createQName(tmp.getName(),
                                                nestRoot.getQName().getNamespace()));
                                    }
                                    replaceDefaultNameSpace(tmp);
                                }
                            }
                        }

                        public void removeEmptyElement(org.dom4j.Element root) {
                            if (root != null) {
                                for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) root
                                        .elements()) {
                                    removeEmptyElement(tmp);
                                }
                                if (root.content().size() == 0 && root.attributes().size() == 0
                                        && root.declaredNamespaces().size() == 0) {
                                    if (root.getParent() != null) {
                                        root.getParent().remove(root);
                                    }
                                }
                            }
                        }

                        /**
                         * remove the whiteSpace Node between the elements
                         * when appending the source file under dom4j
                         * 
                         * @param root
                         */
                        public void removeWhiteSpaceTextNode(org.dom4j.Element root) {
                            if (root != null) {
                                List<org.dom4j.Node> textNodes = new java.util.ArrayList<org.dom4j.Node>();
                                for (int i = 0; i < root.nodeCount(); i++) {
                                    if (root.node(i).getNodeType() == org.dom4j.Node.ELEMENT_NODE) {
                                        removeWhiteSpaceTextNode((org.dom4j.Element) root.node(i));
                                    } else if (root.node(i).getNodeType() == org.dom4j.Node.TEXT_NODE) {
                                        textNodes.add(root.node(i));
                                    }
                                }
                                if (root.nodeCount() > 1) { // when
                                    // root.nodeCount==1,
                                    // that means
                                    // the text node
                                    // is the
                                    // content of
                                    // the element
                                    for (org.dom4j.Node textNode : textNodes) {
                                        if (textNode.getText() == null
                                                || "".equals(textNode.getText().trim())) {
                                            root.remove(textNode);
                                        }
                                    }
                                }
                            }
                        }
                    }

                    NestXMLTool_tAFOX_2 nestXMLTool_tAFOX_2 = new NestXMLTool_tAFOX_2();
                    // sort group root element for judgement of group
                    java.util.List<org.dom4j.Element> groupElementList_tAFOX_2 = new java.util.ArrayList<org.dom4j.Element>();
                    org.dom4j.Element root4Group_tAFOX_2 = null;
                    org.dom4j.Document doc_tAFOX_2 = null;

                    doc_tAFOX_2 = org.dom4j.DocumentHelper.createDocument();

                    org.dom4j.io.OutputFormat format_tAFOX_2 = org.dom4j.io.OutputFormat.createPrettyPrint();

                    format_tAFOX_2.setTrimText(false);
                    format_tAFOX_2.setEncoding("UTF-8");

                    int[] orders_tAFOX_2 = new int[1];

                    /**
                     * [tAdvancedFileOutputXML_2 begin ] stop
                     */

                    /**
                     * [tLogRow_2 begin ] start
                     */

                    ok_Hash.put("tLogRow_2", false);
                    start_Hash.put("tLogRow_2", System.currentTimeMillis());

                    currentComponent = "tLogRow_2";

                    int tos_count_tLogRow_2 = 0;

                    /**
                     * [tLogRow_2 begin ] stop
                     */

                    /**
                     * [tExtractDelimitedFields_3 begin ] start
                     */

                    ok_Hash.put("tExtractDelimitedFields_3", false);
                    start_Hash.put("tExtractDelimitedFields_3", System.currentTimeMillis());

                    currentComponent = "tExtractDelimitedFields_3";

                    int tos_count_tExtractDelimitedFields_3 = 0;

                    int nb_line_tExtractDelimitedFields_3 = 0;

                    /**
                     * [tExtractDelimitedFields_3 begin ] stop
                     */

                    /**
                     * [tNormalize_1 begin ] start
                     */

                    ok_Hash.put("tNormalize_1", false);
                    start_Hash.put("tNormalize_1", System.currentTimeMillis());

                    currentComponent = "tNormalize_1";

                    int tos_count_tNormalize_1 = 0;

                    int nb_line_tNormalize_1 = 0;
                    String tmp_tNormalize_1 = null;
                    StringBuilder currentRecord_tNormalize_1 = null;
                    String[] normalizeRecord_tNormalize_1 = null;
                    java.util.Set<String> recordSet_tNormalize_1 = new java.util.HashSet<String>();

                    /**
                     * [tNormalize_1 begin ] stop
                     */

                    /**
                     * [tMap_1 begin ] start
                     */

                    ok_Hash.put("tMap_1", false);
                    start_Hash.put("tMap_1", System.currentTimeMillis());

                    currentComponent = "tMap_1";

                    int tos_count_tMap_1 = 0;

                    // ###############################
                    // # Lookup's keys initialization

                    org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<metadataPropertiesStruct> tHash_Lookup_metadataProperties = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<metadataPropertiesStruct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<metadataPropertiesStruct>) globalMap
                            .get("tHash_Lookup_metadataProperties"));

                    tHash_Lookup_metadataProperties.initGet();

                    metadataPropertiesStruct metadataPropertiesHashKey = new metadataPropertiesStruct();
                    metadataPropertiesStruct metadataPropertiesDefault = new metadataPropertiesStruct();
                    // ###############################

                    // ###############################
                    // # Vars initialization
                    class Var__tMap_1__Struct {
                        String dateStamp;
                        String srs;
                        String title;
                        String west;
                        String east;
                        String south;
                        String north;
                        String filepath;
                        String filename;
                        String uuidbase;
                        String mdUuid;
                        String fcatUuid;
                        String mdIndividualName;
                        String mdOrganisation;
                        String mdPositionName;
                        String mdVoice;
                        String mdDeliveryPoint;
                        String mdCity;
                        String mdAdministrativeArea;
                        String mdPostalCode;
                        String mdCountry;
                        String mdEmail;
                        String individualName;
                        String organisationName;
                        String positionName;
                        String voice;
                        String deliveryPoint;
                        String city;
                        String administrativeArea;
                        String postalCode;
                        String country;
                        String email;
                    }
                    Var__tMap_1__Struct Var__tMap_1 = new Var__tMap_1__Struct();
                    // ###############################

                    // ###############################
                    // # Outputs initialization
                    iso19115_3Struct iso19115_3_tmp = new iso19115_3Struct();
                    // ###############################

                    /**
                     * [tMap_1 begin ] stop
                     */

                    /**
                     * [tLogRow_1 begin ] start
                     */

                    ok_Hash.put("tLogRow_1", false);
                    start_Hash.put("tLogRow_1", System.currentTimeMillis());

                    currentComponent = "tLogRow_1";

                    int tos_count_tLogRow_1 = 0;

                    /**
                     * [tLogRow_1 begin ] stop
                     */

                    /**
                     * [tReplaceList_1 begin ] start
                     */

                    ok_Hash.put("tReplaceList_1", false);
                    start_Hash.put("tReplaceList_1", System.currentTimeMillis());

                    currentComponent = "tReplaceList_1";

                    int tos_count_tReplaceList_1 = 0;

                    java.util.Map<geometryTypeStruct, geometryTypeStruct> tMap_geometryType_tReplaceList_1 = (java.util.Map<geometryTypeStruct, geometryTypeStruct>) globalMap
                            .get("tHash_geometryType");
                    java.util.Map<String, String> replace_tReplaceList_1 = new java.util.HashMap<String, String>();

                    for (Object o : tMap_geometryType_tReplaceList_1.keySet()) {

                        String search = tMap_geometryType_tReplaceList_1.get(o).OGR_TYPE;
                        String replacement = tMap_geometryType_tReplaceList_1.get(o).ISO_TYPE;
                        replace_tReplaceList_1.put(search, replacement);
                    }

                    /**
                     * [tReplaceList_1 begin ] stop
                     */

                    /**
                     * [sOGRInfoInput_3 begin ] start
                     */

                    ok_Hash.put("sOGRInfoInput_3", false);
                    start_Hash.put("sOGRInfoInput_3", System.currentTimeMillis());

                    currentComponent = "sOGRInfoInput_3";

                    int tos_count_sOGRInfoInput_3 = 0;

                    // Fixed number of line. Only one row to extract
                    // information.
                    int nb_line_sOGRInfoInput_3 = 1;

                    /* Initialize OGR main variables */
                    org.gdal.ogr.DataSource dataset_sOGRInfoInput_3 = null;
                    org.gdal.ogr.Driver driver_sOGRInfoInput_3 = null;
                    org.gdal.osr.SpatialReference proj_sOGRInfoInput_3, latlon_sOGRInfoInput_3 = null;
                    org.gdal.osr.CoordinateTransformation transform_sOGRInfoInput_3 = null;

                    boolean bReadOnly_sOGRInfoInput_3 = true;

                    /* Initialize JTS main variables */
                    com.vividsolutions.jts.geom.GeometryFactory gFact_sOGRInfoInput_3 = new com.vividsolutions.jts.geom.GeometryFactory();

                    /* Initialize variables */
                    String srs_sOGRInfoInput_3 = null;
                    org.opengis.referencing.crs.CoordinateReferenceSystem crs_sOGRInfoInput_3 = null;
                    // Default SRS EPSG code, if none is found
                    int epsg_code_sOGRInfoInput_3 = -1;
                    String datasetName_sOGRInfoInput_3 = /**
                                                         * Start field
                                                         * sOGRInfoInput_3:FILENAME
                                                         */
                            context.file/** End field sOGRInfoInput_3:FILENAME */
                    ;
                    String FS_sOGRInfoInput_3 = /**
                                                * Start field
                                                * sOGRInfoInput_3:FIELD_SEPARATOR
                                                */
                            "|"/** End field sOGRInfoInput_3:FIELD_SEPARATOR */
                    ;
                    String error_sOGRInfoInput_3 = "";
                    String geomType_sOGRInfoInput_3 = "";
                    String fidColumn_sOGRInfoInput_3 = "";
                    String geomColumn_sOGRInfoInput_3 = "";
                    String columnsDef_sOGRInfoInput_3 = "";
                    int nbFeatures_sOGRInfoInput_3 = 0;
                    int nbErrors_sOGRInfoInput_3 = 0;
                    String errors_sOGRInfoInput_3 = "";
                    java.util.HashMap<String, double[]> corners_sOGRInfoInput_3;
                    java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate> geoXY_sOGRInfoInput_3;
                    java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate> latlonXY_sOGRInfoInput_3;

                    // Register all known configured GDAL drivers.
                    try {
                        org.gdal.ogr.ogr.RegisterAll();
                    } catch (java.lang.UnsatisfiedLinkError e) {
                        System.err.println(
                                "In order to use GDAL/OGR in Talend, the java.library.path variable should point to GDAL library.");
                        System.err.println(
                                "To set this property, go to the Run view > Advanced settings > Use specific JVM Arguments");
                        System.err.println("and add a new argument:");
                        System.err.println("  -Djava.library.path=/path/to/gdal/swig/java");
                        System.err.println("");
                        e.printStackTrace();
                        // Aborting due to wrong GDAL driver configuration
                        throw e;
                    }
                    // Open an OGR dataset
                    // dataset_sOGRInfoInput_3 =
                    // org.gdal.gdal.gdal.Open(datasetName_sOGRInfoInput_3,
                    // org.gdal.gdalconst.gdalconstConstants.GA_ReadOnly);
                    /* get feature source from store */
                    dataset_sOGRInfoInput_3 = org.gdal.ogr.ogr.Open(datasetName_sOGRInfoInput_3,
                            !bReadOnly_sOGRInfoInput_3);
                    if (dataset_sOGRInfoInput_3 == null) {
                        error_sOGRInfoInput_3 = "FAILURE:" + "Unable to open datasource `"
                                + datasetName_sOGRInfoInput_3 + "' with the OGR drivers.";
                        // TODO : report in reject output
                        System.err.println(error_sOGRInfoInput_3);
                        for (int iDriver = 0; iDriver < org.gdal.ogr.ogr.GetDriverCount(); iDriver++) {
                            System.err.println("  -> " + org.gdal.ogr.ogr.GetDriver(iDriver).GetName());
                        }
                    } else {

                        // Get current GDAL driver
                        driver_sOGRInfoInput_3 = dataset_sOGRInfoInput_3.GetDriver();
                        geoXY_sOGRInfoInput_3 = new java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate>(
                                4);
                        latlonXY_sOGRInfoInput_3 = new java.util.HashMap<String, com.vividsolutions.jts.geom.Coordinate>(
                                4);

                        for (int iLayer_sOGRInfoInput_3 = 0; iLayer_sOGRInfoInput_3 < dataset_sOGRInfoInput_3
                                .GetLayerCount(); iLayer_sOGRInfoInput_3++) {
                            org.gdal.ogr.Layer poLayer_sOGRInfoInput_3 = dataset_sOGRInfoInput_3
                                    .GetLayer(iLayer_sOGRInfoInput_3);
                            String layerName_sOGRInfoInput_3 = poLayer_sOGRInfoInput_3.GetName();

                            // Skip layer if a specific one is requested.
                            if (!/** Start field sOGRInfoInput_3:LAYER */
                            ((String) globalMap.get("fileRow.layer_name"))/**
                                                                          * 
                                                                          * End field sOGRInfoInput_3:LAYER
                                                                          */
                                    .equals("") && !/**
                                                    * Start field
                                                    * sOGRInfoInput_3:LAYER
                                                    */
                            ((String) globalMap.get("fileRow.layer_name"))/**
                                                                          * 
                                                                          * End field sOGRInfoInput_3:LAYER
                                                                          */
                                    .equals(layerName_sOGRInfoInput_3))
                                continue;

                            if (poLayer_sOGRInfoInput_3 == null) {
                                System.out.println("FAILURE: Couldn't fetch advertised layer "
                                        + iLayer_sOGRInfoInput_3 + "!");
                                return;
                            }
                            org.gdal.ogr.FeatureDefn poDefn_sOGRInfoInput_3 = poLayer_sOGRInfoInput_3
                                    .GetLayerDefn();

                            geomType_sOGRInfoInput_3 = org.gdal.ogr.ogr
                                    .GeometryTypeToName(poDefn_sOGRInfoInput_3.GetGeomType());

                            nbFeatures_sOGRInfoInput_3 = poLayer_sOGRInfoInput_3.GetFeatureCount();

                            /* Handle Projection - lat/long transformation */
                            /* CRS TODO get EPSG code */
                            int pszWKT_sOGRInfoInput_3;
                            proj_sOGRInfoInput_3 = poLayer_sOGRInfoInput_3.GetSpatialRef();
                            if (proj_sOGRInfoInput_3 == null) {
                                pszWKT_sOGRInfoInput_3 = -1;
                            } else {
                                srs_sOGRInfoInput_3 = proj_sOGRInfoInput_3.ExportToPrettyWkt();

                                // First try: use AutoIdentifyEPSG and init
                                // GeoTools CRS
                                try {
                                    // This method inspects a WKT
                                    // definition, and adds EPSG authority
                                    // nodes
                                    pszWKT_sOGRInfoInput_3 = proj_sOGRInfoInput_3.AutoIdentifyEPSG();
                                    if ("EPSG".equals(proj_sOGRInfoInput_3.GetAuthorityName(null))) {
                                        epsg_code_sOGRInfoInput_3 = Integer.parseInt(
                                                poLayer_sOGRInfoInput_3.GetSpatialRef().GetAuthorityCode(null));
                                        try {
                                            crs_sOGRInfoInput_3 = org.geotools.referencing.CRS
                                                    .decode("EPSG:" + epsg_code_sOGRInfoInput_3);
                                        } catch (Exception e) {
                                            System.err.println(e.getMessage());
                                        }
                                    }
                                } catch (Exception e) {
                                    System.err.println("Error trying to identify SRS from EPSG code. Error is: "
                                            + e.getMessage() + ". Trying with WKT ...");

                                    // Second try: use WKT and init GeoTools
                                    // CRS
                                    try {
                                        if (srs_sOGRInfoInput_3 != null) {
                                            crs_sOGRInfoInput_3 = org.geotools.referencing.CRS
                                                    .parseWKT(srs_sOGRInfoInput_3);
                                        }
                                    } catch (Exception e2) {
                                        System.err.println("Error trying to identify SRS from WKT. Error is: "
                                                + e2.getMessage());
                                    }

                                    pszWKT_sOGRInfoInput_3 = -1;
                                }

                                latlon_sOGRInfoInput_3 = proj_sOGRInfoInput_3.CloneGeogCS();
                            }

                            if (latlon_sOGRInfoInput_3 != null) {
                                org.gdal.gdal.gdal.PushErrorHandler("CPLQuietErrorHandler");
                                transform_sOGRInfoInput_3 = new org.gdal.osr.CoordinateTransformation(
                                        proj_sOGRInfoInput_3, latlon_sOGRInfoInput_3);
                                org.gdal.gdal.gdal.PopErrorHandler();
                                latlon_sOGRInfoInput_3.delete();
                                if (org.gdal.gdal.gdal.GetLastErrorMsg()
                                        .indexOf("Unable to load PROJ.4 library") != -1) {
                                    transform_sOGRInfoInput_3 = null;
                                }
                            }

                            if (poLayer_sOGRInfoInput_3.GetFIDColumn().length() > 0)
                                fidColumn_sOGRInfoInput_3 = poLayer_sOGRInfoInput_3.GetFIDColumn();

                            if (poLayer_sOGRInfoInput_3.GetGeometryColumn().length() > 0)
                                geomColumn_sOGRInfoInput_3 = poLayer_sOGRInfoInput_3.GetGeometryColumn();

                            for (int iAttr = 0; iAttr < poDefn_sOGRInfoInput_3.GetFieldCount(); iAttr++) {
                                org.gdal.ogr.FieldDefn poField_sOGRInfoInput_3 = poDefn_sOGRInfoInput_3
                                        .GetFieldDefn(iAttr);

                                columnsDef_sOGRInfoInput_3 += poField_sOGRInfoInput_3.GetNameRef() + "#"
                                        + poField_sOGRInfoInput_3
                                                .GetFieldTypeName(poField_sOGRInfoInput_3.GetFieldType())
                                        + "#" + poField_sOGRInfoInput_3.GetWidth() + "."
                                        + poField_sOGRInfoInput_3.GetPrecision() + FS_sOGRInfoInput_3;
                            }

                            double oExt_sOGRInfoInput_3[] = poLayer_sOGRInfoInput_3.GetExtent(true);

                            if (oExt_sOGRInfoInput_3 != null) {
                                /* Compute extent */
                                corners_sOGRInfoInput_3 = new java.util.HashMap<String, double[]>(4);
                                double[] upper_left_corner_sOGRInfoInput_3 = { oExt_sOGRInfoInput_3[0],
                                        oExt_sOGRInfoInput_3[3] };
                                double[] lower_left_corner_sOGRInfoInput_3 = { oExt_sOGRInfoInput_3[0],
                                        oExt_sOGRInfoInput_3[2] };
                                double[] upper_right_corner_sOGRInfoInput_3 = { oExt_sOGRInfoInput_3[1],
                                        oExt_sOGRInfoInput_3[3] };
                                double[] lower_right_corner_sOGRInfoInput_3 = { oExt_sOGRInfoInput_3[1],
                                        oExt_sOGRInfoInput_3[2] };

                                corners_sOGRInfoInput_3.put("upperLeft", upper_left_corner_sOGRInfoInput_3);
                                corners_sOGRInfoInput_3.put("lowerLeft", lower_left_corner_sOGRInfoInput_3);
                                corners_sOGRInfoInput_3.put("upperRight", upper_right_corner_sOGRInfoInput_3);
                                corners_sOGRInfoInput_3.put("lowerRight", lower_right_corner_sOGRInfoInput_3);

                                for (String corner_sOGRInfoInput_3 : corners_sOGRInfoInput_3.keySet()) {
                                    com.vividsolutions.jts.geom.Coordinate coord_sOGRInfoInput_3 = new com.vividsolutions.jts.geom.Coordinate();

                                    coord_sOGRInfoInput_3.x = corners_sOGRInfoInput_3
                                            .get(corner_sOGRInfoInput_3)[0];
                                    coord_sOGRInfoInput_3.y = corners_sOGRInfoInput_3
                                            .get(corner_sOGRInfoInput_3)[1];

                                    geoXY_sOGRInfoInput_3.put(corner_sOGRInfoInput_3, coord_sOGRInfoInput_3);

                                    // lat/long transformation
                                    if (transform_sOGRInfoInput_3 != null) {
                                        double[] transPoint_sOGRInfoInput_3 = new double[3];
                                        transform_sOGRInfoInput_3.TransformPoint(transPoint_sOGRInfoInput_3,
                                                coord_sOGRInfoInput_3.x, coord_sOGRInfoInput_3.y, 0);
                                        latlonXY_sOGRInfoInput_3.put(corner_sOGRInfoInput_3,
                                                new com.vividsolutions.jts.geom.Coordinate(
                                                        transPoint_sOGRInfoInput_3[0],
                                                        transPoint_sOGRInfoInput_3[1]));
                                    }
                                }
                            }
                            layerRow.driver = driver_sOGRInfoInput_3.getName();
                            layerRow.files = datasetName_sOGRInfoInput_3;
                            layerRow.layer_name = layerName_sOGRInfoInput_3;
                            layerRow.fid_column = fidColumn_sOGRInfoInput_3;
                            layerRow.geom_column = geomColumn_sOGRInfoInput_3;
                            layerRow.columns_def = columnsDef_sOGRInfoInput_3;
                            layerRow.geom_type = geomType_sOGRInfoInput_3;
                            layerRow.srs = srs_sOGRInfoInput_3;
                            layerRow.epsg_code = epsg_code_sOGRInfoInput_3;

                            // the geo extent (Polygon)
                            com.vividsolutions.jts.geom.Coordinate[] geoCoords_sOGRInfoInput_3 = new com.vividsolutions.jts.geom.Coordinate[5];
                            org.talend.sdi.geometry.Geometry geo_extent_sOGRInfoInput_3 = null;
                            if (!geoXY_sOGRInfoInput_3.isEmpty()) {
                                try {
                                    geoCoords_sOGRInfoInput_3[0] = geoXY_sOGRInfoInput_3.get("upperLeft");
                                    geoCoords_sOGRInfoInput_3[1] = geoXY_sOGRInfoInput_3.get("lowerLeft");
                                    geoCoords_sOGRInfoInput_3[2] = geoXY_sOGRInfoInput_3.get("lowerRight");
                                    geoCoords_sOGRInfoInput_3[3] = geoXY_sOGRInfoInput_3.get("upperRight");
                                    geoCoords_sOGRInfoInput_3[4] = geoXY_sOGRInfoInput_3.get("upperLeft");

                                    geo_extent_sOGRInfoInput_3 = new org.talend.sdi.geometry.Geometry(
                                            (com.vividsolutions.jts.geom.Geometry) gFact_sOGRInfoInput_3
                                                    .createPolygon(gFact_sOGRInfoInput_3.createLinearRing(
                                                            geoCoords_sOGRInfoInput_3), null));
                                    if (crs_sOGRInfoInput_3 != null) {
                                        geo_extent_sOGRInfoInput_3.setCRS(crs_sOGRInfoInput_3);
                                    }
                                } catch (Exception e) {
                                    nbErrors_sOGRInfoInput_3++;
                                    errors_sOGRInfoInput_3 += "\n" + e.getMessage();
                                    // TODO : catch error
                                    e.printStackTrace();
                                }
                            }
                            layerRow.geo_extent = geo_extent_sOGRInfoInput_3;

                            // the lat/long extent (Polygon)
                            org.talend.sdi.geometry.Geometry latlon_extent_sOGRInfoInput_3 = null;
                            if (!latlonXY_sOGRInfoInput_3.isEmpty()) {
                                try {
                                    com.vividsolutions.jts.geom.Coordinate[] latlonCoords_sOGRInfoInput_3 = new com.vividsolutions.jts.geom.Coordinate[5];
                                    latlonCoords_sOGRInfoInput_3[0] = latlonXY_sOGRInfoInput_3.get("upperLeft");
                                    latlonCoords_sOGRInfoInput_3[1] = latlonXY_sOGRInfoInput_3.get("lowerLeft");
                                    latlonCoords_sOGRInfoInput_3[2] = latlonXY_sOGRInfoInput_3
                                            .get("lowerRight");
                                    latlonCoords_sOGRInfoInput_3[3] = latlonXY_sOGRInfoInput_3
                                            .get("upperRight");
                                    latlonCoords_sOGRInfoInput_3[4] = latlonXY_sOGRInfoInput_3.get("upperLeft");

                                    latlon_extent_sOGRInfoInput_3 = new org.talend.sdi.geometry.Geometry(
                                            (com.vividsolutions.jts.geom.Geometry) gFact_sOGRInfoInput_3
                                                    .createPolygon(gFact_sOGRInfoInput_3.createLinearRing(
                                                            latlonCoords_sOGRInfoInput_3), null));
                                    latlon_extent_sOGRInfoInput_3
                                            .setCRS(org.geotools.referencing.CRS.decode("EPSG:4326"));

                                } catch (Exception e) {
                                    nbErrors_sOGRInfoInput_3++;
                                    errors_sOGRInfoInput_3 += "\n" + e.getMessage();
                                    // TODO : catch error
                                    e.printStackTrace();
                                }
                            }

                            layerRow.latlon_extent = latlon_extent_sOGRInfoInput_3;
                            layerRow.nb_features = nbFeatures_sOGRInfoInput_3;
                            layerRow.error = error_sOGRInfoInput_3;

                            /**
                             * [sOGRInfoInput_3 begin ] stop
                             */

                            /**
                             * [sOGRInfoInput_3 main ] start
                             */

                            currentComponent = "sOGRInfoInput_3";

                            tos_count_sOGRInfoInput_3++;

                            /**
                             * [sOGRInfoInput_3 main ] stop
                             */

                            /**
                             * [tReplaceList_1 main ] start
                             */

                            currentComponent = "tReplaceList_1";

                            String inputFlow_tReplaceList_1_geom_type = String.valueOf(layerRow.geom_type);

                            for (Object o : replace_tReplaceList_1.keySet()) {
                                if (o.getClass().getSimpleName().equals("String")) {
                                    String searchtReplaceList_1 = String.valueOf(o);
                                    if (replace_tReplaceList_1.get(o).getClass().getSimpleName()
                                            .equals("String")) {
                                        String replacetReplaceList_1 = String
                                                .valueOf(replace_tReplaceList_1.get(o));
                                        inputFlow_tReplaceList_1_geom_type = inputFlow_tReplaceList_1_geom_type
                                                .replaceAll(searchtReplaceList_1, replacetReplaceList_1);
                                    }
                                }
                            }
                            layerRow.geom_type = String.valueOf(inputFlow_tReplaceList_1_geom_type);

                            row1 = layerRow;

                            tos_count_tReplaceList_1++;

                            /**
                             * [tReplaceList_1 main ] stop
                             */

                            /**
                             * [tLogRow_1 main ] start
                             */

                            currentComponent = "tLogRow_1";

                            fromActualFile = row1;

                            tos_count_tLogRow_1++;

                            /**
                             * [tLogRow_1 main ] stop
                             */

                            /**
                             * [tMap_1 main ] start
                             */

                            currentComponent = "tMap_1";

                            boolean hasCasePrimitiveKeyWithNull_tMap_1 = false;

                            // ###############################
                            // # Input tables (lookups)
                            boolean rejectedInnerJoin_tMap_1 = false;
                            boolean mainRowRejected_tMap_1 = false;

                            // /////////////////////////////////////////////
                            // Starting Lookup Table "metadataProperties"
                            // /////////////////////////////////////////////

                            boolean forceLoopmetadataProperties = false;

                            metadataPropertiesStruct metadataPropertiesObjectFromLookup = null;

                            if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                                tHash_Lookup_metadataProperties.lookup(metadataPropertiesHashKey);

                                if (!tHash_Lookup_metadataProperties.hasNext()) { // G_TM_M_090

                                    forceLoopmetadataProperties = true;

                                } // G_TM_M_090

                            } // G_TM_M_020

                            else { // G 20 - G 21
                                forceLoopmetadataProperties = true;
                            } // G 21

                            metadataPropertiesStruct metadataProperties = null;

                            while ((tHash_Lookup_metadataProperties != null
                                    && tHash_Lookup_metadataProperties.hasNext())
                                    || forceLoopmetadataProperties) { // G_TM_M_043

                                // CALL close loop of lookup
                                // 'metadataProperties'

                                metadataPropertiesStruct fromLookup_metadataProperties = null;
                                metadataProperties = metadataPropertiesDefault;

                                if (!forceLoopmetadataProperties) { // G 46

                                    fromLookup_metadataProperties = tHash_Lookup_metadataProperties.next();

                                    if (fromLookup_metadataProperties != null) {
                                        metadataProperties = fromLookup_metadataProperties;
                                    }

                                    if (!rejectedInnerJoin_tMap_1 &&

                                            !(

                                            "geo".equals(metadataProperties.dataType)

                                            )

                                    ) { // G 016

                                        fromLookup_metadataProperties = null;
                                        metadataProperties = metadataPropertiesDefault;

                                    } // G 016

                                    if (fromLookup_metadataProperties == null && !rejectedInnerJoin_tMap_1) { // G
                                        // 017

                                        continue;

                                    } // G 017

                                } // G 46

                                forceLoopmetadataProperties = false;

                                // ###############################
                                { // start of Var scope

                                    // ###############################
                                    // # Vars tables

                                    Var__tMap_1__Struct Var = Var__tMap_1;
                                    Var.dateStamp = TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss",
                                            TalendDate.getCurrentDate());
                                    Var.srs = fromActualFile.epsg_code == -1 ? context.defaultProjection
                                            : "EPSG:" + fromActualFile.epsg_code;
                                    Var.title = context.titlePrefixVector + fromActualFile.layer_name;
                                    Var.west = fromActualFile.latlon_extent != null
                                            ? GeometryOperation.GETCOORDINATE(fromActualFile.latlon_extent, 0,
                                                    "X") + ""
                                            : (context.defaultProjection != null
                                                    && fromActualFile.geo_extent != null
                                                            ? GeometryOperation.GETCOORDINATE(GeometryOperation
                                                                    .PROJ(fromActualFile.geo_extent,
                                                                            context.defaultProjection,
                                                                            "EPSG:4326", false),
                                                                    0, "X") + ""
                                                            : context.defaultXMin);
                                    Var.east = fromActualFile.latlon_extent != null
                                            ? GeometryOperation.GETCOORDINATE(fromActualFile.latlon_extent, 2,
                                                    "X") + ""
                                            : (context.defaultProjection != null
                                                    && fromActualFile.geo_extent != null
                                                            ? GeometryOperation.GETCOORDINATE(GeometryOperation
                                                                    .PROJ(fromActualFile.geo_extent,
                                                                            context.defaultProjection,
                                                                            "EPSG:4326", false),
                                                                    2, "X") + ""
                                                            : context.defaultXMax);
                                    Var.south = fromActualFile.latlon_extent != null
                                            ? GeometryOperation.GETCOORDINATE(fromActualFile.latlon_extent, 2,
                                                    "Y") + ""
                                            : (context.defaultProjection != null
                                                    && fromActualFile.geo_extent != null
                                                            ? GeometryOperation.GETCOORDINATE(GeometryOperation
                                                                    .PROJ(fromActualFile.geo_extent,
                                                                            context.defaultProjection,
                                                                            "EPSG:4326", false),
                                                                    2, "Y") + ""
                                                            : context.defaultYMin);
                                    Var.north = fromActualFile.latlon_extent != null
                                            ? GeometryOperation.GETCOORDINATE(fromActualFile.latlon_extent, 0,
                                                    "Y") + ""
                                            : (context.defaultProjection != null
                                                    && fromActualFile.geo_extent != null
                                                            ? GeometryOperation.GETCOORDINATE(GeometryOperation
                                                                    .PROJ(fromActualFile.geo_extent,
                                                                            context.defaultProjection,
                                                                            "EPSG:4326", false),
                                                                    0, "Y") + ""
                                                            : context.defaultYMax);
                                    Var.filepath = context.file;
                                    Var.filename = new java.io.File(context.file).getName();
                                    Var.uuidbase = Var.filename + "#" + fromActualFile.layer_name;
                                    Var.mdUuid = Utility.sha256Digest(Var.uuidbase);
                                    Var.fcatUuid = Utility.sha256Digest(Var.uuidbase + "#iso19319");
                                    Var.mdIndividualName = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdIndividualName, metadataProperties.mdIndividualName);
                                    Var.mdOrganisation = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdOrganisation, metadataProperties.organisationName);
                                    Var.mdPositionName = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdPositionName, metadataProperties.mdPositionName);
                                    Var.mdVoice = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdVoice, metadataProperties.mdVoice);
                                    Var.mdDeliveryPoint = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdDeliveryPoint, metadataProperties.mdDeliveryPoint);
                                    Var.mdCity = ExtractorStringUtils.returnFirstNotNullOrBlank(context.mdCity,
                                            metadataProperties.mdCity);
                                    Var.mdAdministrativeArea = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdAdministrativeArea,
                                            metadataProperties.mdAdministrativeArea);
                                    Var.mdPostalCode = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdPostalCode, metadataProperties.mdPostalCode);
                                    Var.mdCountry = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdCountry, metadataProperties.mdCountry);
                                    Var.mdEmail = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.mdEmail, metadataProperties.mdEmail);
                                    Var.individualName = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.individualName, metadataProperties.individualName);
                                    Var.organisationName = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.organisationName, metadataProperties.organisationName);
                                    Var.positionName = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.positionName, metadataProperties.positionName);
                                    Var.voice = ExtractorStringUtils.returnFirstNotNullOrBlank(context.voice,
                                            metadataProperties.voice);
                                    Var.deliveryPoint = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.deliveryPoint, metadataProperties.deliveryPoint);
                                    Var.city = ExtractorStringUtils.returnFirstNotNullOrBlank(context.city,
                                            metadataProperties.city);
                                    Var.administrativeArea = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.administrativeArea, metadataProperties.adminArea);
                                    Var.postalCode = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.postalCode, metadataProperties.postalCode);
                                    Var.country = ExtractorStringUtils.returnFirstNotNullOrBlank(
                                            context.country, metadataProperties.country);
                                    Var.email = ExtractorStringUtils.returnFirstNotNullOrBlank(context.email,
                                            metadataProperties.email);// ###############################
                                    // ###############################
                                    // # Output tables

                                    iso19115_3 = null;

                                    // # Output table : 'iso19115_3'
                                    iso19115_3_tmp.mdIdentifier = Var.mdUuid;
                                    iso19115_3_tmp.mdLanguage = null;
                                    iso19115_3_tmp.mdCharacterSetCode = null;
                                    iso19115_3_tmp.ciRoleCode = null;
                                    iso19115_3_tmp.mdOrganisation = Var.mdOrganisation;
                                    iso19115_3_tmp.mdVoice = Var.mdVoice;
                                    iso19115_3_tmp.mdIndividualName = Var.mdIndividualName;
                                    iso19115_3_tmp.mdPositionName = Var.mdPositionName;
                                    iso19115_3_tmp.mdDeliveryPoint = Var.mdDeliveryPoint;
                                    iso19115_3_tmp.mdCity = Var.mdCity;
                                    iso19115_3_tmp.mdAdministrativeArea = Var.mdAdministrativeArea;
                                    iso19115_3_tmp.mdPostalCode = Var.mdPostalCode;
                                    iso19115_3_tmp.mdCountry = Var.mdCountry;
                                    iso19115_3_tmp.mdEmail = Var.mdEmail;
                                    iso19115_3_tmp.mdDate = Var.dateStamp;
                                    iso19115_3_tmp.title = Var.title;
                                    iso19115_3_tmp.organisationName = Var.organisationName;
                                    iso19115_3_tmp.voice = Var.voice;
                                    iso19115_3_tmp.email = Var.email;
                                    iso19115_3_tmp.individualName = Var.individualName;
                                    iso19115_3_tmp.positionName = Var.positionName;
                                    iso19115_3_tmp.deliveryPoint = Var.deliveryPoint;
                                    iso19115_3_tmp.city = Var.city;
                                    iso19115_3_tmp.administrativeArea = Var.administrativeArea;
                                    iso19115_3_tmp.postalCode = Var.postalCode;
                                    iso19115_3_tmp.country = Var.country;
                                    iso19115_3_tmp.spatialRepresentationType = null;
                                    iso19115_3_tmp.scaleDenominator = metadataProperties.scaleDenominator;
                                    iso19115_3_tmp.topicCategoryCode = metadataProperties.topicCategoryCode;
                                    iso19115_3_tmp.west = Var.west;
                                    iso19115_3_tmp.east = Var.east;
                                    iso19115_3_tmp.south = Var.south;
                                    iso19115_3_tmp.north = Var.north;
                                    iso19115_3_tmp.mdMaintenanceFrequencyCode = null;
                                    iso19115_3_tmp.keyword = metadataProperties.keyword;
                                    iso19115_3_tmp.keyword2 = metadataProperties.keyword2;
                                    iso19115_3_tmp.keyword1_theme = null;
                                    iso19115_3_tmp.keyword2_theme = null;
                                    iso19115_3_tmp.useConstraints = metadataProperties.useConstraints;
                                    iso19115_3_tmp.scopeCode = null;
                                    iso19115_3_tmp.lineage = null;
                                    iso19115_3_tmp.srs = Var.srs;
                                    iso19115_3_tmp.columnsDef = fromActualFile.columns_def;
                                    iso19115_3_tmp.layerName = fromActualFile.layer_name;
                                    iso19115_3_tmp.bands = null;
                                    iso19115_3 = iso19115_3_tmp;
                                    // ###############################

                                } // end of Var scope

                                rejectedInnerJoin_tMap_1 = false;

                                tos_count_tMap_1++;

                                /**
                                 * [tMap_1 main ] stop
                                 */
                                // Start of branch "iso19115_3"
                                if (iso19115_3 != null) {

                                    /**
                                     * [tNormalize_1 main ] start
                                     */

                                    currentComponent = "tNormalize_1";

                                    normalizeRecord_tNormalize_1 = new String[1];
                                    if (iso19115_3.columnsDef != null) {
                                        if ("".equals(iso19115_3.columnsDef)) {
                                            normalizeRecord_tNormalize_1[0] = "";
                                        } else {

                                            normalizeRecord_tNormalize_1 = iso19115_3.columnsDef.split("\\|",
                                                    -1);

                                        }
                                    }
                                    int lastNoEmptyIndex_tNormalize_1 = normalizeRecord_tNormalize_1.length;

                                    for (int i_tNormalize_1 = 0; i_tNormalize_1 < lastNoEmptyIndex_tNormalize_1; i_tNormalize_1++) {

                                        currentRecord_tNormalize_1 = new StringBuilder();
                                        nb_line_tNormalize_1++;

                                        row2.mdIdentifier = iso19115_3.mdIdentifier;

                                        row2.mdLanguage = iso19115_3.mdLanguage;

                                        row2.mdCharacterSetCode = iso19115_3.mdCharacterSetCode;

                                        row2.ciRoleCode = iso19115_3.ciRoleCode;

                                        row2.mdOrganisation = iso19115_3.mdOrganisation;

                                        row2.mdVoice = iso19115_3.mdVoice;

                                        row2.mdIndividualName = iso19115_3.mdIndividualName;

                                        row2.mdPositionName = iso19115_3.mdPositionName;

                                        row2.mdDeliveryPoint = iso19115_3.mdDeliveryPoint;

                                        row2.mdCity = iso19115_3.mdCity;

                                        row2.mdAdministrativeArea = iso19115_3.mdAdministrativeArea;

                                        row2.mdPostalCode = iso19115_3.mdPostalCode;

                                        row2.mdCountry = iso19115_3.mdCountry;

                                        row2.mdEmail = iso19115_3.mdEmail;

                                        row2.mdDate = iso19115_3.mdDate;

                                        row2.title = iso19115_3.title;

                                        row2.organisationName = iso19115_3.organisationName;

                                        row2.voice = iso19115_3.voice;

                                        row2.email = iso19115_3.email;

                                        row2.individualName = iso19115_3.individualName;

                                        row2.positionName = iso19115_3.positionName;

                                        row2.deliveryPoint = iso19115_3.deliveryPoint;

                                        row2.city = iso19115_3.city;

                                        row2.administrativeArea = iso19115_3.administrativeArea;

                                        row2.postalCode = iso19115_3.postalCode;

                                        row2.country = iso19115_3.country;

                                        row2.spatialRepresentationType = iso19115_3.spatialRepresentationType;

                                        row2.scaleDenominator = iso19115_3.scaleDenominator;

                                        row2.topicCategoryCode = iso19115_3.topicCategoryCode;

                                        row2.west = iso19115_3.west;

                                        row2.east = iso19115_3.east;

                                        row2.south = iso19115_3.south;

                                        row2.north = iso19115_3.north;

                                        row2.mdMaintenanceFrequencyCode = iso19115_3.mdMaintenanceFrequencyCode;

                                        row2.keyword = iso19115_3.keyword;

                                        row2.keyword2 = iso19115_3.keyword2;

                                        row2.keyword1_theme = iso19115_3.keyword1_theme;

                                        row2.keyword2_theme = iso19115_3.keyword2_theme;

                                        row2.useConstraints = iso19115_3.useConstraints;

                                        row2.scopeCode = iso19115_3.scopeCode;

                                        row2.lineage = iso19115_3.lineage;

                                        row2.srs = iso19115_3.srs;

                                        row2.layerName = iso19115_3.layerName;

                                        row2.columnsDef = normalizeRecord_tNormalize_1[i_tNormalize_1];

                                        row2.bands = iso19115_3.bands;

                                        tos_count_tNormalize_1++;

                                        /**
                                         * [tNormalize_1 main ] stop
                                         */

                                        /**
                                         * [tExtractDelimitedFields_3 main ]
                                         * start
                                         */

                                        currentComponent = "tExtractDelimitedFields_3";

                                        row4 = null;

                                        row4 = new row4Struct();
                                        String field_tExtractDelimitedFields_3 = row2.columnsDef;
                                        String[] newFields_tExtractDelimitedFields_3 = new String[0];
                                        if (field_tExtractDelimitedFields_3 != null) {// C_01
                                            try {
                                                newFields_tExtractDelimitedFields_3 = field_tExtractDelimitedFields_3
                                                        .split("#", -1);
                                                int length_tExtractDelimitedFields_3 = newFields_tExtractDelimitedFields_3.length;
                                                for (int i_tExtractDelimitedFields_3 = 0; i_tExtractDelimitedFields_3 < length_tExtractDelimitedFields_3; i_tExtractDelimitedFields_3++) {
                                                    newFields_tExtractDelimitedFields_3[i_tExtractDelimitedFields_3] = newFields_tExtractDelimitedFields_3[i_tExtractDelimitedFields_3]
                                                            .trim();
                                                }
                                                row4.mdIdentifier = row2.mdIdentifier;
                                                row4.mdLanguage = row2.mdLanguage;
                                                row4.mdCharacterSetCode = row2.mdCharacterSetCode;
                                                row4.ciRoleCode = row2.ciRoleCode;
                                                row4.mdOrganisation = row2.mdOrganisation;
                                                row4.mdVoice = row2.mdVoice;
                                                row4.mdIndividualName = row2.mdIndividualName;
                                                row4.mdPositionName = row2.mdPositionName;
                                                row4.mdDeliveryPoint = row2.mdDeliveryPoint;
                                                row4.mdCity = row2.mdCity;
                                                row4.mdAdministrativeArea = row2.mdAdministrativeArea;
                                                row4.mdPostalCode = row2.mdPostalCode;
                                                row4.mdCountry = row2.mdCountry;
                                                row4.mdEmail = row2.mdEmail;
                                                row4.mdDate = row2.mdDate;
                                                row4.title = row2.title;
                                                row4.organisationName = row2.organisationName;
                                                row4.voice = row2.voice;
                                                row4.email = row2.email;
                                                row4.individualName = row2.individualName;
                                                row4.positionName = row2.positionName;
                                                row4.deliveryPoint = row2.deliveryPoint;
                                                row4.city = row2.city;
                                                row4.administrativeArea = row2.administrativeArea;
                                                row4.postalCode = row2.postalCode;
                                                row4.country = row2.country;
                                                row4.spatialRepresentationType = row2.spatialRepresentationType;
                                                row4.scaleDenominator = row2.scaleDenominator;
                                                row4.topicCategoryCode = row2.topicCategoryCode;
                                                row4.west = row2.west;
                                                row4.east = row2.east;
                                                row4.south = row2.south;
                                                row4.north = row2.north;
                                                row4.mdMaintenanceFrequencyCode = row2.mdMaintenanceFrequencyCode;
                                                row4.keyword = row2.keyword;
                                                row4.keyword2 = row2.keyword2;
                                                row4.keyword1_theme = row2.keyword1_theme;
                                                row4.keyword2_theme = row2.keyword2_theme;
                                                row4.useConstraints = row2.useConstraints;
                                                row4.scopeCode = row2.scopeCode;
                                                row4.lineage = row2.lineage;
                                                row4.srs = row2.srs;
                                                row4.layerName = row2.layerName;
                                                row4.columnsDef = row2.columnsDef;
                                                row4.bands = row2.bands;
                                                String temp_tExtractDelimitedFields_3 = null;
                                                row4.colName = 0 >= length_tExtractDelimitedFields_3 ? ""
                                                        : newFields_tExtractDelimitedFields_3[0];
                                                row4.colType = 1 >= length_tExtractDelimitedFields_3 ? ""
                                                        : newFields_tExtractDelimitedFields_3[1];
                                                row4.colPrecision = 2 >= length_tExtractDelimitedFields_3 ? ""
                                                        : newFields_tExtractDelimitedFields_3[2];
                                                nb_line_tExtractDelimitedFields_3++;
                                            } catch (java.lang.Exception ex_tExtractDelimitedFields_3) {
                                                System.err.println(ex_tExtractDelimitedFields_3.getMessage());
                                                row4 = null;
                                            }

                                            tos_count_tExtractDelimitedFields_3++;

                                            /**
                                             * [tExtractDelimitedFields_3
                                             * main ] stop
                                             */
                                            // Start of branch "row4"
                                            if (row4 != null) {

                                                /**
                                                 * [tLogRow_2 main ] start
                                                 */

                                                currentComponent = "tLogRow_2";

                                                row3 = row4;

                                                tos_count_tLogRow_2++;

                                                /**
                                                 * [tLogRow_2 main ] stop
                                                 */

                                                /**
                                                 * [tAdvancedFileOutputXML_2
                                                 * main ] start
                                                 */

                                                currentComponent = "tAdvancedFileOutputXML_2";

                                                nb_line_tAFOX_2++;
                                                valueMap_tAFOX_2.clear();
                                                valueMap_tAFOX_2.put("mdIdentifier",
                                                        (row4.mdIdentifier != null
                                                                ? row4.mdIdentifier.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdLanguage",
                                                        (row4.mdLanguage != null ? row4.mdLanguage.toString()
                                                                : "eng"));
                                                valueMap_tAFOX_2.put("mdCharacterSetCode",
                                                        (row4.mdCharacterSetCode != null
                                                                ? row4.mdCharacterSetCode.toString()
                                                                : "utf-8"));
                                                valueMap_tAFOX_2.put("ciRoleCode",
                                                        (row4.ciRoleCode != null ? row4.ciRoleCode.toString()
                                                                : "pointOfContact"));
                                                valueMap_tAFOX_2.put("mdOrganisation",
                                                        (row4.mdOrganisation != null
                                                                ? row4.mdOrganisation.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdVoice",
                                                        (row4.mdVoice != null ? row4.mdVoice.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdIndividualName",
                                                        (row4.mdIndividualName != null
                                                                ? row4.mdIndividualName.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdPositionName",
                                                        (row4.mdPositionName != null
                                                                ? row4.mdPositionName.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdDeliveryPoint",
                                                        (row4.mdDeliveryPoint != null
                                                                ? row4.mdDeliveryPoint.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdCity",
                                                        (row4.mdCity != null ? row4.mdCity.toString() : null));
                                                valueMap_tAFOX_2.put("mdAdministrativeArea",
                                                        (row4.mdAdministrativeArea != null
                                                                ? row4.mdAdministrativeArea.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdPostalCode",
                                                        (row4.mdPostalCode != null
                                                                ? row4.mdPostalCode.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdCountry",
                                                        (row4.mdCountry != null ? row4.mdCountry.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdEmail",
                                                        (row4.mdEmail != null ? row4.mdEmail.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("mdDate",
                                                        (row4.mdDate != null ? row4.mdDate.toString() : null));
                                                valueMap_tAFOX_2.put("title",
                                                        (row4.title != null ? row4.title.toString() : null));
                                                valueMap_tAFOX_2.put("organisationName",
                                                        (row4.organisationName != null
                                                                ? row4.organisationName.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("voice",
                                                        (row4.voice != null ? row4.voice.toString() : null));
                                                valueMap_tAFOX_2.put("email",
                                                        (row4.email != null ? row4.email.toString() : null));
                                                valueMap_tAFOX_2.put("individualName",
                                                        (row4.individualName != null
                                                                ? row4.individualName.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("positionName",
                                                        (row4.positionName != null
                                                                ? row4.positionName.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("deliveryPoint",
                                                        (row4.deliveryPoint != null
                                                                ? row4.deliveryPoint.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("city",
                                                        (row4.city != null ? row4.city.toString() : null));
                                                valueMap_tAFOX_2.put("administrativeArea",
                                                        (row4.administrativeArea != null
                                                                ? row4.administrativeArea.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("postalCode",
                                                        (row4.postalCode != null ? row4.postalCode.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("country",
                                                        (row4.country != null ? row4.country.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("spatialRepresentationType",
                                                        (row4.spatialRepresentationType != null
                                                                ? row4.spatialRepresentationType.toString()
                                                                : "vector"));
                                                valueMap_tAFOX_2.put("scaleDenominator",
                                                        (row4.scaleDenominator != null
                                                                ? row4.scaleDenominator.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("topicCategoryCode",
                                                        (row4.topicCategoryCode != null
                                                                ? row4.topicCategoryCode.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("west",
                                                        (row4.west != null ? row4.west.toString() : null));
                                                valueMap_tAFOX_2.put("east",
                                                        (row4.east != null ? row4.east.toString() : null));
                                                valueMap_tAFOX_2.put("south",
                                                        (row4.south != null ? row4.south.toString() : null));
                                                valueMap_tAFOX_2.put("north",
                                                        (row4.north != null ? row4.north.toString() : null));
                                                valueMap_tAFOX_2.put("mdMaintenanceFrequencyCode",
                                                        (row4.mdMaintenanceFrequencyCode != null
                                                                ? row4.mdMaintenanceFrequencyCode.toString()
                                                                : "asNeeded"));
                                                valueMap_tAFOX_2.put("keyword",
                                                        (row4.keyword != null ? row4.keyword.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("keyword2",
                                                        (row4.keyword2 != null ? row4.keyword2.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("keyword1_theme",
                                                        (row4.keyword1_theme != null
                                                                ? row4.keyword1_theme.toString()
                                                                : "theme"));
                                                valueMap_tAFOX_2.put("keyword2_theme",
                                                        (row4.keyword2_theme != null
                                                                ? row4.keyword2_theme.toString()
                                                                : "place"));
                                                valueMap_tAFOX_2.put("useConstraints",
                                                        (row4.useConstraints != null
                                                                ? row4.useConstraints.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("scopeCode",
                                                        (row4.scopeCode != null ? row4.scopeCode.toString()
                                                                : "dataset"));
                                                valueMap_tAFOX_2.put("lineage",
                                                        (row4.lineage != null ? row4.lineage.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("srs",
                                                        (row4.srs != null ? row4.srs.toString() : "WGS 1984"));
                                                valueMap_tAFOX_2.put("layerName",
                                                        (row4.layerName != null ? row4.layerName.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("columnsDef",
                                                        (row4.columnsDef != null ? row4.columnsDef.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("bands",
                                                        (row4.bands != null ? row4.bands.toString() : null));
                                                valueMap_tAFOX_2.put("colName",
                                                        (row4.colName != null ? row4.colName.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("colType",
                                                        (row4.colType != null ? row4.colType.toString()
                                                                : null));
                                                valueMap_tAFOX_2.put("colPrecision",
                                                        (row4.colPrecision != null
                                                                ? row4.colPrecision.toString()
                                                                : null));
                                                org.dom4j.Element subTreeRootParent_tAFOX_2 = null;

                                                // build root xml tree
                                                if (needRoot_tAFOX_2) {
                                                    needRoot_tAFOX_2 = false;
                                                    if (orders_tAFOX_2.length > 0) {
                                                        orders_tAFOX_2[0] = 0;
                                                    }
                                                    org.dom4j.Element root_tAFOX_2 = doc_tAFOX_2
                                                            .addElement("mdb:MD_Metadata");
                                                    root_tAFOX_2.addNamespace("xsi",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://www.w3.org/2001/XMLSchema-instance"));
                                                    root_tAFOX_2.addNamespace("cit",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/cit/1.0"));
                                                    root_tAFOX_2.addNamespace("dqc",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19157/-2/dqc/1.0"));
                                                    root_tAFOX_2.addNamespace("gco",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/gco/1.0"));
                                                    root_tAFOX_2.addNamespace("gcx",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/gcx/1.0"));
                                                    root_tAFOX_2.addNamespace("gex",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/gex/1.0"));
                                                    root_tAFOX_2.addNamespace("gfc",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19110/gfc/1.1"));
                                                    root_tAFOX_2.addNamespace("gml",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://www.opengis.net/gml/3.2"));
                                                    root_tAFOX_2.addNamespace("gmw",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/gmw/1.0"));
                                                    root_tAFOX_2.addNamespace("lan",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/lan/1.0"));
                                                    root_tAFOX_2.addNamespace("mac",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mac/1.0"));
                                                    root_tAFOX_2.addNamespace("mas",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mas/1.0"));
                                                    root_tAFOX_2.addNamespace("mcc",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mcc/1.0"));
                                                    root_tAFOX_2.addNamespace("mco",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mco/1.0"));
                                                    root_tAFOX_2.addNamespace("mdb",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mdb/1.0"));
                                                    root_tAFOX_2.addNamespace("mdq",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19157/-2/mdq/1.0"));
                                                    root_tAFOX_2.addNamespace("mex",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mex/1.0"));
                                                    root_tAFOX_2.addNamespace("mmi",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mmi/1.0"));
                                                    root_tAFOX_2.addNamespace("mpc",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mpc/1.0"));
                                                    root_tAFOX_2.addNamespace("mrd",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mrd/1.0"));
                                                    root_tAFOX_2.addNamespace("mri",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mri/1.0"));
                                                    root_tAFOX_2.addNamespace("mrl",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mrl/1.0"));
                                                    root_tAFOX_2.addNamespace("mrc",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mrc/1.0"));
                                                    root_tAFOX_2.addNamespace("mrs",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/mrs/1.0"));
                                                    root_tAFOX_2.addNamespace("msr",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/msr/1.0"));
                                                    root_tAFOX_2.addNamespace("srv",
                                                            TalendString.replaceSpecialCharForXML(
                                                                    "http://standards.iso.org/19115/-3/srv/2.0"));
                                                    root_tAFOX_2.setName("mdb:MD_Metadata");
                                                    org.dom4j.Element root_0_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_0_tAFOX_2 = root_tAFOX_2
                                                                .addElement("metadataIdentifier");
                                                    } else {
                                                        root_0_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:metadataIdentifier");
                                                    }
                                                    root_0_tAFOX_2.setName("mdb:metadataIdentifier");
                                                    org.dom4j.Element root_0_0_tAFOX_2;
                                                    if (root_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                                        root_0_0_tAFOX_2 = root_0_tAFOX_2
                                                                .addElement("MD_Identifier");
                                                    } else {
                                                        root_0_0_tAFOX_2 = root_0_tAFOX_2
                                                                .addElement("mcc:MD_Identifier");
                                                    }
                                                    root_0_0_tAFOX_2.setName("mcc:MD_Identifier");
                                                    org.dom4j.Element root_0_0_0_tAFOX_2;
                                                    if (root_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                                        root_0_0_0_tAFOX_2 = root_0_0_tAFOX_2
                                                                .addElement("code");
                                                    } else {
                                                        root_0_0_0_tAFOX_2 = root_0_0_tAFOX_2
                                                                .addElement("mcc:code");
                                                    }
                                                    root_0_0_0_tAFOX_2.setName("mcc:code");
                                                    org.dom4j.Element root_0_0_0_0_tAFOX_2;
                                                    if (root_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_0_0_0_0_tAFOX_2 = root_0_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_0_0_0_0_tAFOX_2 = root_0_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdIdentifier") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_0_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdIdentifier"));
                                                    }
                                                    root_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_0_0_1_tAFOX_2;
                                                    if (root_0_0_tAFOX_2.getNamespaceForPrefix("mcc") == null) {
                                                        root_0_0_1_tAFOX_2 = root_0_0_tAFOX_2
                                                                .addElement("codeSpace");
                                                    } else {
                                                        root_0_0_1_tAFOX_2 = root_0_0_tAFOX_2
                                                                .addElement("mcc:codeSpace");
                                                    }
                                                    root_0_0_1_tAFOX_2.setName("mcc:codeSpace");
                                                    org.dom4j.Element root_0_0_1_0_tAFOX_2;
                                                    if (root_0_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_0_0_1_0_tAFOX_2 = root_0_0_1_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_0_0_1_0_tAFOX_2 = root_0_0_1_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    nestXMLTool_tAFOX_2.parseAndAdd(root_0_0_1_0_tAFOX_2,
                                                            "urn:uuid");

                                                    root_0_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_1_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_1_tAFOX_2 = root_tAFOX_2
                                                                .addElement("defaultLocale");
                                                    } else {
                                                        root_1_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:defaultLocale");
                                                    }
                                                    root_1_tAFOX_2.setName("mdb:defaultLocale");
                                                    org.dom4j.Element root_1_0_tAFOX_2;
                                                    if (root_1_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                                        root_1_0_tAFOX_2 = root_1_tAFOX_2
                                                                .addElement("PT_Locale");
                                                    } else {
                                                        root_1_0_tAFOX_2 = root_1_tAFOX_2
                                                                .addElement("lan:PT_Locale");
                                                    }
                                                    root_1_0_tAFOX_2.setName("lan:PT_Locale");
                                                    org.dom4j.Element root_1_0_0_tAFOX_2;
                                                    if (root_1_0_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                                        root_1_0_0_tAFOX_2 = root_1_0_tAFOX_2
                                                                .addElement("language");
                                                    } else {
                                                        root_1_0_0_tAFOX_2 = root_1_0_tAFOX_2
                                                                .addElement("lan:language");
                                                    }
                                                    root_1_0_0_tAFOX_2.setName("lan:language");
                                                    org.dom4j.Element root_1_0_0_0_tAFOX_2;
                                                    if (root_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("lan") == null) {
                                                        root_1_0_0_0_tAFOX_2 = root_1_0_0_tAFOX_2
                                                                .addElement("LanguageCode");
                                                    } else {
                                                        root_1_0_0_0_tAFOX_2 = root_1_0_0_tAFOX_2
                                                                .addElement("lan:LanguageCode");
                                                    }
                                                    root_1_0_0_0_tAFOX_2.addAttribute("codeList",
                                                            "http://www.loc.gov/standards/iso639-2/");
                                                    if (valueMap_tAFOX_2.get("mdLanguage") != null) {
                                                        root_1_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                                valueMap_tAFOX_2.get("mdLanguage"));
                                                    }
                                                    root_1_0_0_0_tAFOX_2.setName("lan:LanguageCode");
                                                    org.dom4j.Element root_1_0_1_tAFOX_2;
                                                    if (root_1_0_tAFOX_2.getNamespaceForPrefix("lan") == null) {
                                                        root_1_0_1_tAFOX_2 = root_1_0_tAFOX_2
                                                                .addElement("characterEncoding");
                                                    } else {
                                                        root_1_0_1_tAFOX_2 = root_1_0_tAFOX_2
                                                                .addElement("lan:characterEncoding");
                                                    }
                                                    root_1_0_1_tAFOX_2.setName("lan:characterEncoding");
                                                    org.dom4j.Element root_1_0_1_0_tAFOX_2;
                                                    if (root_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("lan") == null) {
                                                        root_1_0_1_0_tAFOX_2 = root_1_0_1_tAFOX_2
                                                                .addElement("MD_CharacterSetCode");
                                                    } else {
                                                        root_1_0_1_0_tAFOX_2 = root_1_0_1_tAFOX_2
                                                                .addElement("lan:MD_CharacterSetCode");
                                                    }
                                                    root_1_0_1_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_CharacterSetCode");
                                                    if (valueMap_tAFOX_2.get("mdCharacterSetCode") != null) {
                                                        root_1_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                                valueMap_tAFOX_2.get("mdCharacterSetCode"));
                                                    }
                                                    root_1_0_1_0_tAFOX_2.setName("lan:MD_CharacterSetCode");
                                                    org.dom4j.Element root_2_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_2_tAFOX_2 = root_tAFOX_2.addElement("contact");
                                                    } else {
                                                        root_2_tAFOX_2 = root_tAFOX_2.addElement("mdb:contact");
                                                    }
                                                    root_2_tAFOX_2.setName("mdb:contact");
                                                    org.dom4j.Element root_2_0_tAFOX_2;
                                                    if (root_2_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_tAFOX_2 = root_2_tAFOX_2
                                                                .addElement("CI_Responsibility");
                                                    } else {
                                                        root_2_0_tAFOX_2 = root_2_tAFOX_2
                                                                .addElement("cit:CI_Responsibility");
                                                    }
                                                    root_2_0_tAFOX_2.setName("cit:CI_Responsibility");
                                                    org.dom4j.Element root_2_0_0_tAFOX_2;
                                                    if (root_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_0_tAFOX_2 = root_2_0_tAFOX_2
                                                                .addElement("role");
                                                    } else {
                                                        root_2_0_0_tAFOX_2 = root_2_0_tAFOX_2
                                                                .addElement("cit:role");
                                                    }
                                                    root_2_0_0_tAFOX_2.setName("cit:role");
                                                    org.dom4j.Element root_2_0_0_0_tAFOX_2;
                                                    if (root_2_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_0_0_tAFOX_2 = root_2_0_0_tAFOX_2
                                                                .addElement("CI_RoleCode");
                                                    } else {
                                                        root_2_0_0_0_tAFOX_2 = root_2_0_0_tAFOX_2
                                                                .addElement("cit:CI_RoleCode");
                                                    }
                                                    root_2_0_0_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_RoleCode");
                                                    if (valueMap_tAFOX_2.get("ciRoleCode") != null) {
                                                        root_2_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                                valueMap_tAFOX_2.get("ciRoleCode"));
                                                    }
                                                    root_2_0_0_0_tAFOX_2.setName("cit:CI_RoleCode");
                                                    org.dom4j.Element root_2_0_1_tAFOX_2;
                                                    if (root_2_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_tAFOX_2 = root_2_0_tAFOX_2
                                                                .addElement("party");
                                                    } else {
                                                        root_2_0_1_tAFOX_2 = root_2_0_tAFOX_2
                                                                .addElement("cit:party");
                                                    }
                                                    root_2_0_1_tAFOX_2.setName("cit:party");
                                                    org.dom4j.Element root_2_0_1_0_tAFOX_2;
                                                    if (root_2_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_tAFOX_2 = root_2_0_1_tAFOX_2
                                                                .addElement("CI_Organisation");
                                                    } else {
                                                        root_2_0_1_0_tAFOX_2 = root_2_0_1_tAFOX_2
                                                                .addElement("cit:CI_Organisation");
                                                    }
                                                    root_2_0_1_0_tAFOX_2.setName("cit:CI_Organisation");
                                                    org.dom4j.Element root_2_0_1_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_0_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                                .addElement("name");
                                                    } else {
                                                        root_2_0_1_0_0_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                                .addElement("cit:name");
                                                    }
                                                    root_2_0_1_0_0_tAFOX_2.setName("cit:name");
                                                    org.dom4j.Element root_2_0_1_0_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdOrganisation") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_2_0_1_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdOrganisation"));
                                                    }
                                                    root_2_0_1_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_1_tAFOX_2;
                                                    if (root_2_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                                .addElement("contactInfo");
                                                    } else {
                                                        root_2_0_1_0_1_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                                .addElement("cit:contactInfo");
                                                    }
                                                    root_2_0_1_0_1_tAFOX_2.setName("cit:contactInfo");
                                                    org.dom4j.Element root_2_0_1_0_1_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_tAFOX_2
                                                                .addElement("CI_Contact");
                                                    } else {
                                                        root_2_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_tAFOX_2
                                                                .addElement("cit:CI_Contact");
                                                    }
                                                    root_2_0_1_0_1_0_tAFOX_2.setName("cit:CI_Contact");
                                                    org.dom4j.Element root_2_0_1_0_1_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_0_tAFOX_2 = root_2_0_1_0_1_0_tAFOX_2
                                                                .addElement("phone");
                                                    } else {
                                                        root_2_0_1_0_1_0_0_tAFOX_2 = root_2_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:phone");
                                                    }
                                                    root_2_0_1_0_1_0_0_tAFOX_2.setName("cit:phone");
                                                    org.dom4j.Element root_2_0_1_0_1_0_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("CI_Telephone");
                                                    } else {
                                                        root_2_0_1_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("cit:CI_Telephone");
                                                    }
                                                    root_2_0_1_0_1_0_0_0_tAFOX_2.setName("cit:CI_Telephone");
                                                    org.dom4j.Element root_2_0_1_0_1_0_0_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("number");
                                                    } else {
                                                        root_2_0_1_0_1_0_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:number");
                                                    }
                                                    root_2_0_1_0_1_0_0_0_0_tAFOX_2.setName("cit:number");
                                                    org.dom4j.Element root_2_0_1_0_1_0_0_0_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdVoice") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_1_0_0_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdVoice"));
                                                    }
                                                    root_2_0_1_0_1_0_0_0_0_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_1_0_0_0_1_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_0_0_1_tAFOX_2 = root_2_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("numberType");
                                                    } else {
                                                        root_2_0_1_0_1_0_0_0_1_tAFOX_2 = root_2_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:numberType");
                                                    }
                                                    root_2_0_1_0_1_0_0_0_1_tAFOX_2.setName("cit:numberType");
                                                    org.dom4j.Element root_2_0_1_0_1_0_0_0_1_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                                .addElement("CI_TelephoneTypeCode");
                                                    } else {
                                                        root_2_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                                .addElement("cit:CI_TelephoneTypeCode");
                                                    }
                                                    root_2_0_1_0_1_0_0_0_1_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_TelephoneTypeCode");
                                                    root_2_0_1_0_1_0_0_0_1_0_tAFOX_2
                                                            .addAttribute("codeListValue", "voice");
                                                    root_2_0_1_0_1_0_0_0_1_0_tAFOX_2
                                                            .setName("cit:CI_TelephoneTypeCode");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_1_tAFOX_2 = root_2_0_1_0_1_0_tAFOX_2
                                                                .addElement("address");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_tAFOX_2 = root_2_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:address");
                                                    }
                                                    root_2_0_1_0_1_0_1_tAFOX_2.setName("cit:address");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_1_tAFOX_2
                                                                .addElement("CI_Address");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_1_tAFOX_2
                                                                .addElement("cit:CI_Address");
                                                    }
                                                    root_2_0_1_0_1_0_1_0_tAFOX_2.setName("cit:CI_Address");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_1_0_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("deliveryPoint");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:deliveryPoint");
                                                    }
                                                    root_2_0_1_0_1_0_1_0_0_tAFOX_2.setName("cit:deliveryPoint");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_1_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_0_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdDeliveryPoint") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_1_0_1_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdDeliveryPoint"));
                                                    }
                                                    root_2_0_1_0_1_0_1_0_0_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_1_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_1_0_1_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("city");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_1_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:city");
                                                    }
                                                    root_2_0_1_0_1_0_1_0_1_tAFOX_2.setName("cit:city");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_1_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_1_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_1_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_1_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_1_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdCity") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_1_0_1_0_1_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdCity"));
                                                    }
                                                    root_2_0_1_0_1_0_1_0_1_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_2_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_1_0_2_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("administrativeArea");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_2_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:administrativeArea");
                                                    }
                                                    root_2_0_1_0_1_0_1_0_2_tAFOX_2
                                                            .setName("cit:administrativeArea");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_2_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_1_0_1_0_2_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_2_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_2_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_2_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdAdministrativeArea") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_1_0_1_0_2_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdAdministrativeArea"));
                                                    }
                                                    root_2_0_1_0_1_0_1_0_2_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_3_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_1_0_3_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("postalCode");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_3_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:postalCode");
                                                    }
                                                    root_2_0_1_0_1_0_1_0_3_tAFOX_2.setName("cit:postalCode");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_3_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_3_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_1_0_1_0_3_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_3_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_3_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_3_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdPostalCode") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_1_0_1_0_3_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdPostalCode"));
                                                    }
                                                    root_2_0_1_0_1_0_1_0_3_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_4_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_1_0_4_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("country");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_4_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:country");
                                                    }
                                                    root_2_0_1_0_1_0_1_0_4_tAFOX_2.setName("cit:country");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_4_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_4_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_1_0_1_0_4_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_4_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_4_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_4_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdCountry") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_1_0_1_0_4_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdCountry"));
                                                    }
                                                    root_2_0_1_0_1_0_1_0_4_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_5_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_1_0_1_0_5_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("electronicMailAddress");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_5_tAFOX_2 = root_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:electronicMailAddress");
                                                    }
                                                    root_2_0_1_0_1_0_1_0_5_tAFOX_2
                                                            .setName("cit:electronicMailAddress");
                                                    org.dom4j.Element root_2_0_1_0_1_0_1_0_5_0_tAFOX_2;
                                                    if (root_2_0_1_0_1_0_1_0_5_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_1_0_1_0_5_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_5_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_1_0_1_0_5_0_tAFOX_2 = root_2_0_1_0_1_0_1_0_5_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdEmail") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_1_0_1_0_5_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdEmail"));
                                                    }
                                                    root_2_0_1_0_1_0_1_0_5_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_2_tAFOX_2;
                                                    if (root_2_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_2_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                                .addElement("individual");
                                                    } else {
                                                        root_2_0_1_0_2_tAFOX_2 = root_2_0_1_0_tAFOX_2
                                                                .addElement("cit:individual");
                                                    }
                                                    root_2_0_1_0_2_tAFOX_2.setName("cit:individual");
                                                    org.dom4j.Element root_2_0_1_0_2_0_tAFOX_2;
                                                    if (root_2_0_1_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_2_0_tAFOX_2 = root_2_0_1_0_2_tAFOX_2
                                                                .addElement("CI_Individual");
                                                    } else {
                                                        root_2_0_1_0_2_0_tAFOX_2 = root_2_0_1_0_2_tAFOX_2
                                                                .addElement("cit:CI_Individual");
                                                    }
                                                    root_2_0_1_0_2_0_tAFOX_2.setName("cit:CI_Individual");
                                                    org.dom4j.Element root_2_0_1_0_2_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_2_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_2_0_0_tAFOX_2 = root_2_0_1_0_2_0_tAFOX_2
                                                                .addElement("name");
                                                    } else {
                                                        root_2_0_1_0_2_0_0_tAFOX_2 = root_2_0_1_0_2_0_tAFOX_2
                                                                .addElement("cit:name");
                                                    }
                                                    root_2_0_1_0_2_0_0_tAFOX_2.setName("cit:name");
                                                    org.dom4j.Element root_2_0_1_0_2_0_0_0_tAFOX_2;
                                                    if (root_2_0_1_0_2_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_2_0_0_0_tAFOX_2 = root_2_0_1_0_2_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_2_0_0_0_tAFOX_2 = root_2_0_1_0_2_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdIndividualName") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_2_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdIndividualName"));
                                                    }
                                                    root_2_0_1_0_2_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_2_0_1_0_2_0_1_tAFOX_2;
                                                    if (root_2_0_1_0_2_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_2_0_1_0_2_0_1_tAFOX_2 = root_2_0_1_0_2_0_tAFOX_2
                                                                .addElement("positionName");
                                                    } else {
                                                        root_2_0_1_0_2_0_1_tAFOX_2 = root_2_0_1_0_2_0_tAFOX_2
                                                                .addElement("cit:positionName");
                                                    }
                                                    root_2_0_1_0_2_0_1_tAFOX_2.setName("cit:positionName");
                                                    org.dom4j.Element root_2_0_1_0_2_0_1_0_tAFOX_2;
                                                    if (root_2_0_1_0_2_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_2_0_1_0_2_0_1_0_tAFOX_2 = root_2_0_1_0_2_0_1_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_2_0_1_0_2_0_1_0_tAFOX_2 = root_2_0_1_0_2_0_1_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdPositionName") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_2_0_1_0_2_0_1_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdPositionName"));
                                                    }
                                                    root_2_0_1_0_2_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_3_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_3_tAFOX_2 = root_tAFOX_2.addElement("dateInfo");
                                                    } else {
                                                        root_3_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:dateInfo");
                                                    }
                                                    root_3_tAFOX_2.setName("mdb:dateInfo");
                                                    org.dom4j.Element root_3_0_tAFOX_2;
                                                    if (root_3_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                                        root_3_0_tAFOX_2 = root_3_tAFOX_2.addElement("CI_Date");
                                                    } else {
                                                        root_3_0_tAFOX_2 = root_3_tAFOX_2
                                                                .addElement("cit:CI_Date");
                                                    }
                                                    root_3_0_tAFOX_2.setName("cit:CI_Date");
                                                    org.dom4j.Element root_3_0_0_tAFOX_2;
                                                    if (root_3_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                                        root_3_0_0_tAFOX_2 = root_3_0_tAFOX_2
                                                                .addElement("date");
                                                    } else {
                                                        root_3_0_0_tAFOX_2 = root_3_0_tAFOX_2
                                                                .addElement("cit:date");
                                                    }
                                                    root_3_0_0_tAFOX_2.setName("cit:date");
                                                    org.dom4j.Element root_3_0_0_0_tAFOX_2;
                                                    if (root_3_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_3_0_0_0_tAFOX_2 = root_3_0_0_tAFOX_2
                                                                .addElement("DateTime");
                                                    } else {
                                                        root_3_0_0_0_tAFOX_2 = root_3_0_0_tAFOX_2
                                                                .addElement("gco:DateTime");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdDate") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_3_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdDate"));
                                                    }
                                                    root_3_0_0_0_tAFOX_2.setName("gco:DateTime");
                                                    org.dom4j.Element root_3_0_1_tAFOX_2;
                                                    if (root_3_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                                        root_3_0_1_tAFOX_2 = root_3_0_tAFOX_2
                                                                .addElement("dateType");
                                                    } else {
                                                        root_3_0_1_tAFOX_2 = root_3_0_tAFOX_2
                                                                .addElement("cit:dateType");
                                                    }
                                                    root_3_0_1_tAFOX_2.setName("cit:dateType");
                                                    org.dom4j.Element root_3_0_1_0_tAFOX_2;
                                                    if (root_3_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_3_0_1_0_tAFOX_2 = root_3_0_1_tAFOX_2
                                                                .addElement("CI_DateTypeCode");
                                                    } else {
                                                        root_3_0_1_0_tAFOX_2 = root_3_0_1_tAFOX_2
                                                                .addElement("cit:CI_DateTypeCode");
                                                    }
                                                    root_3_0_1_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_DateTypeCode");
                                                    root_3_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                            "creation");
                                                    root_3_0_1_0_tAFOX_2.setName("cit:CI_DateTypeCode");
                                                    org.dom4j.Element root_4_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_4_tAFOX_2 = root_tAFOX_2
                                                                .addElement("metadataStandard");
                                                    } else {
                                                        root_4_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:metadataStandard");
                                                    }
                                                    root_4_tAFOX_2.setName("mdb:metadataStandard");
                                                    org.dom4j.Element root_4_0_tAFOX_2;
                                                    if (root_4_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                                        root_4_0_tAFOX_2 = root_4_tAFOX_2
                                                                .addElement("CI_Citation");
                                                    } else {
                                                        root_4_0_tAFOX_2 = root_4_tAFOX_2
                                                                .addElement("cit:CI_Citation");
                                                    }
                                                    root_4_0_tAFOX_2.setName("cit:CI_Citation");
                                                    org.dom4j.Element root_4_0_0_tAFOX_2;
                                                    if (root_4_0_tAFOX_2.getNamespaceForPrefix("cit") == null) {
                                                        root_4_0_0_tAFOX_2 = root_4_0_tAFOX_2
                                                                .addElement("title");
                                                    } else {
                                                        root_4_0_0_tAFOX_2 = root_4_0_tAFOX_2
                                                                .addElement("cit:title");
                                                    }
                                                    root_4_0_0_tAFOX_2.setName("cit:title");
                                                    org.dom4j.Element root_4_0_0_0_tAFOX_2;
                                                    if (root_4_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_4_0_0_0_tAFOX_2 = root_4_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_4_0_0_0_tAFOX_2 = root_4_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    nestXMLTool_tAFOX_2.parseAndAdd(root_4_0_0_0_tAFOX_2,
                                                            "ISO 19115-3");

                                                    root_4_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_5_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_5_tAFOX_2 = root_tAFOX_2
                                                                .addElement("referenceSystemInfo");
                                                    } else {
                                                        root_5_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:referenceSystemInfo");
                                                    }
                                                    root_5_tAFOX_2.setName("mdb:referenceSystemInfo");
                                                    org.dom4j.Element root_5_0_tAFOX_2;
                                                    if (root_5_tAFOX_2.getNamespaceForPrefix("mrs") == null) {
                                                        root_5_0_tAFOX_2 = root_5_tAFOX_2
                                                                .addElement("MD_ReferenceSystem");
                                                    } else {
                                                        root_5_0_tAFOX_2 = root_5_tAFOX_2
                                                                .addElement("mrs:MD_ReferenceSystem");
                                                    }
                                                    root_5_0_tAFOX_2.setName("mrs:MD_ReferenceSystem");
                                                    org.dom4j.Element root_5_0_0_tAFOX_2;
                                                    if (root_5_0_tAFOX_2.getNamespaceForPrefix("mrs") == null) {
                                                        root_5_0_0_tAFOX_2 = root_5_0_tAFOX_2
                                                                .addElement("referenceSystemIdentifier");
                                                    } else {
                                                        root_5_0_0_tAFOX_2 = root_5_0_tAFOX_2
                                                                .addElement("mrs:referenceSystemIdentifier");
                                                    }
                                                    root_5_0_0_tAFOX_2.setName("mrs:referenceSystemIdentifier");
                                                    org.dom4j.Element root_5_0_0_0_tAFOX_2;
                                                    if (root_5_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("mcc") == null) {
                                                        root_5_0_0_0_tAFOX_2 = root_5_0_0_tAFOX_2
                                                                .addElement("MD_Identifier");
                                                    } else {
                                                        root_5_0_0_0_tAFOX_2 = root_5_0_0_tAFOX_2
                                                                .addElement("mcc:MD_Identifier");
                                                    }
                                                    root_5_0_0_0_tAFOX_2.setName("mcc:MD_Identifier");
                                                    org.dom4j.Element root_5_0_0_0_0_tAFOX_2;
                                                    if (root_5_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("mcc") == null) {
                                                        root_5_0_0_0_0_tAFOX_2 = root_5_0_0_0_tAFOX_2
                                                                .addElement("code");
                                                    } else {
                                                        root_5_0_0_0_0_tAFOX_2 = root_5_0_0_0_tAFOX_2
                                                                .addElement("mcc:code");
                                                    }
                                                    root_5_0_0_0_0_tAFOX_2.setName("mcc:code");
                                                    org.dom4j.Element root_5_0_0_0_0_0_tAFOX_2;
                                                    if (root_5_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_5_0_0_0_0_0_tAFOX_2 = root_5_0_0_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_5_0_0_0_0_0_tAFOX_2 = root_5_0_0_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("srs") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_5_0_0_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("srs"));
                                                    }
                                                    root_5_0_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_6_tAFOX_2 = root_tAFOX_2
                                                                .addElement("identificationInfo");
                                                    } else {
                                                        root_6_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:identificationInfo");
                                                    }
                                                    root_6_tAFOX_2.setName("mdb:identificationInfo");
                                                    org.dom4j.Element root_6_0_tAFOX_2;
                                                    if (root_6_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_tAFOX_2 = root_6_tAFOX_2
                                                                .addElement("MD_DataIdentification");
                                                    } else {
                                                        root_6_0_tAFOX_2 = root_6_tAFOX_2
                                                                .addElement("mri:MD_DataIdentification");
                                                    }
                                                    root_6_0_tAFOX_2.setName("mri:MD_DataIdentification");
                                                    org.dom4j.Element root_6_0_0_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_0_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("citation");
                                                    } else {
                                                        root_6_0_0_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:citation");
                                                    }
                                                    root_6_0_0_tAFOX_2.setName("mri:citation");
                                                    org.dom4j.Element root_6_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_tAFOX_2 = root_6_0_0_tAFOX_2
                                                                .addElement("CI_Citation");
                                                    } else {
                                                        root_6_0_0_0_tAFOX_2 = root_6_0_0_tAFOX_2
                                                                .addElement("cit:CI_Citation");
                                                    }
                                                    root_6_0_0_0_tAFOX_2.setName("cit:CI_Citation");
                                                    org.dom4j.Element root_6_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_0_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                                .addElement("title");
                                                    } else {
                                                        root_6_0_0_0_0_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                                .addElement("cit:title");
                                                    }
                                                    root_6_0_0_0_0_tAFOX_2.setName("cit:title");
                                                    org.dom4j.Element root_6_0_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_0_0_0_0_tAFOX_2 = root_6_0_0_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_0_0_0_0_tAFOX_2 = root_6_0_0_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("title") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_6_0_0_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("title"));
                                                    }
                                                    root_6_0_0_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_0_0_1_tAFOX_2;
                                                    if (root_6_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_1_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                                .addElement("date");
                                                    } else {
                                                        root_6_0_0_0_1_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                                .addElement("cit:date");
                                                    }
                                                    root_6_0_0_0_1_tAFOX_2.setName("cit:date");
                                                    org.dom4j.Element root_6_0_0_0_1_0_tAFOX_2;
                                                    if (root_6_0_0_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_1_0_tAFOX_2 = root_6_0_0_0_1_tAFOX_2
                                                                .addElement("CI_Date");
                                                    } else {
                                                        root_6_0_0_0_1_0_tAFOX_2 = root_6_0_0_0_1_tAFOX_2
                                                                .addElement("cit:CI_Date");
                                                    }
                                                    root_6_0_0_0_1_0_tAFOX_2.setName("cit:CI_Date");
                                                    org.dom4j.Element root_6_0_0_0_1_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_1_0_0_tAFOX_2 = root_6_0_0_0_1_0_tAFOX_2
                                                                .addElement("date");
                                                    } else {
                                                        root_6_0_0_0_1_0_0_tAFOX_2 = root_6_0_0_0_1_0_tAFOX_2
                                                                .addElement("cit:date");
                                                    }
                                                    root_6_0_0_0_1_0_0_tAFOX_2.setName("cit:date");
                                                    org.dom4j.Element root_6_0_0_0_1_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_0_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_1_0_0_tAFOX_2
                                                                .addElement("DateTime");
                                                    } else {
                                                        root_6_0_0_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_1_0_0_tAFOX_2
                                                                .addElement("gco:DateTime");
                                                    }
                                                    if (valueMap_tAFOX_2.get("mdDate") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_0_0_1_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("mdDate"));
                                                    }
                                                    root_6_0_0_0_1_0_0_0_tAFOX_2.setName("gco:DateTime");
                                                    org.dom4j.Element root_6_0_0_0_1_0_1_tAFOX_2;
                                                    if (root_6_0_0_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_1_0_1_tAFOX_2 = root_6_0_0_0_1_0_tAFOX_2
                                                                .addElement("dateType");
                                                    } else {
                                                        root_6_0_0_0_1_0_1_tAFOX_2 = root_6_0_0_0_1_0_tAFOX_2
                                                                .addElement("cit:dateType");
                                                    }
                                                    root_6_0_0_0_1_0_1_tAFOX_2.setName("cit:dateType");
                                                    org.dom4j.Element root_6_0_0_0_1_0_1_0_tAFOX_2;
                                                    if (root_6_0_0_0_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_1_0_1_tAFOX_2
                                                                .addElement("CI_DateTypeCode");
                                                    } else {
                                                        root_6_0_0_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_1_0_1_tAFOX_2
                                                                .addElement("cit:CI_DateTypeCode");
                                                    }
                                                    root_6_0_0_0_1_0_1_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_DateTypeCode");
                                                    root_6_0_0_0_1_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                            "publication");
                                                    root_6_0_0_0_1_0_1_0_tAFOX_2.setName("cit:CI_DateTypeCode");
                                                    org.dom4j.Element root_6_0_0_0_2_tAFOX_2;
                                                    if (root_6_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                                .addElement("citedResponsibleParty");
                                                    } else {
                                                        root_6_0_0_0_2_tAFOX_2 = root_6_0_0_0_tAFOX_2
                                                                .addElement("cit:citedResponsibleParty");
                                                    }
                                                    root_6_0_0_0_2_tAFOX_2.setName("cit:citedResponsibleParty");
                                                    org.dom4j.Element root_6_0_0_0_2_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_tAFOX_2 = root_6_0_0_0_2_tAFOX_2
                                                                .addElement("CI_Responsibility");
                                                    } else {
                                                        root_6_0_0_0_2_0_tAFOX_2 = root_6_0_0_0_2_tAFOX_2
                                                                .addElement("cit:CI_Responsibility");
                                                    }
                                                    root_6_0_0_0_2_0_tAFOX_2.setName("cit:CI_Responsibility");
                                                    org.dom4j.Element root_6_0_0_0_2_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_0_tAFOX_2 = root_6_0_0_0_2_0_tAFOX_2
                                                                .addElement("role");
                                                    } else {
                                                        root_6_0_0_0_2_0_0_tAFOX_2 = root_6_0_0_0_2_0_tAFOX_2
                                                                .addElement("cit:role");
                                                    }
                                                    root_6_0_0_0_2_0_0_tAFOX_2.setName("cit:role");
                                                    org.dom4j.Element root_6_0_0_0_2_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_0_tAFOX_2
                                                                .addElement("CI_RoleCode");
                                                    } else {
                                                        root_6_0_0_0_2_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_0_tAFOX_2
                                                                .addElement("cit:CI_RoleCode");
                                                    }
                                                    root_6_0_0_0_2_0_0_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_RoleCode");
                                                    root_6_0_0_0_2_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                            "originator");
                                                    root_6_0_0_0_2_0_0_0_tAFOX_2.setName("cit:CI_RoleCode");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_tAFOX_2 = root_6_0_0_0_2_0_tAFOX_2
                                                                .addElement("party");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_tAFOX_2 = root_6_0_0_0_2_0_tAFOX_2
                                                                .addElement("cit:party");
                                                    }
                                                    root_6_0_0_0_2_0_1_tAFOX_2.setName("cit:party");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_tAFOX_2
                                                                .addElement("CI_Organisation");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_tAFOX_2
                                                                .addElement("cit:CI_Organisation");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_tAFOX_2.setName("cit:CI_Organisation");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                                .addElement("name");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                                .addElement("cit:name");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_0_tAFOX_2.setName("cit:name");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_0_0_2_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("organisationName") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_0_0_2_0_1_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("organisationName"));
                                                    }
                                                    root_6_0_0_0_2_0_1_0_0_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                                .addElement("contactInfo");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                                .addElement("cit:contactInfo");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_tAFOX_2.setName("cit:contactInfo");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_tAFOX_2
                                                                .addElement("CI_Contact");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_tAFOX_2
                                                                .addElement("cit:CI_Contact");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_tAFOX_2.setName("cit:CI_Contact");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                                .addElement("phone");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:phone");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2.setName("cit:phone");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("CI_Telephone");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("cit:CI_Telephone");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                            .setName("cit:CI_Telephone");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("number");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:number");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                            .setName("cit:number");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("voice") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("voice"));
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_0_0_0_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("numberType");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:numberType");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                            .setName("cit:numberType");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                                .addElement("CI_TelephoneTypeCode");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_0_0_1_tAFOX_2
                                                                .addElement("cit:CI_TelephoneTypeCode");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2.addAttribute(
                                                            "codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_TelephoneTypeCode");
                                                    root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2
                                                            .addAttribute("codeListValue", "voice");
                                                    root_6_0_0_0_2_0_1_0_1_0_0_0_1_0_tAFOX_2
                                                            .setName("cit:CI_TelephoneTypeCode");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                                .addElement("address");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:address");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2.setName("cit:address");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2
                                                                .addElement("CI_Address");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_tAFOX_2
                                                                .addElement("cit:CI_Address");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2
                                                            .setName("cit:CI_Address");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("electronicMailAddress");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:electronicMailAddress");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                            .setName("cit:electronicMailAddress");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("email") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("email"));
                                                    }
                                                    root_6_0_0_0_2_0_1_0_1_0_1_0_0_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_2_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_2_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                                .addElement("individual");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_2_tAFOX_2 = root_6_0_0_0_2_0_1_0_tAFOX_2
                                                                .addElement("cit:individual");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_2_tAFOX_2.setName("cit:individual");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_2_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_2_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_tAFOX_2
                                                                .addElement("CI_Individual");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_2_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_tAFOX_2
                                                                .addElement("cit:CI_Individual");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_2_0_tAFOX_2
                                                            .setName("cit:CI_Individual");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_2_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_0_tAFOX_2
                                                                .addElement("name");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_0_tAFOX_2
                                                                .addElement("cit:name");
                                                    }
                                                    root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2.setName("cit:name");
                                                    org.dom4j.Element root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2;
                                                    if (root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2 = root_6_0_0_0_2_0_1_0_2_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("individualName") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("individualName"));
                                                    }
                                                    root_6_0_0_0_2_0_1_0_2_0_0_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_1_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_1_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("abstract");
                                                    } else {
                                                        root_6_0_1_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:abstract");
                                                    }
                                                    root_6_0_1_tAFOX_2.setName("mri:abstract");
                                                    org.dom4j.Element root_6_0_1_0_tAFOX_2;
                                                    if (root_6_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_1_0_tAFOX_2 = root_6_0_1_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_1_0_tAFOX_2 = root_6_0_1_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    root_6_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_2_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_2_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("purpose");
                                                    } else {
                                                        root_6_0_2_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:purpose");
                                                    }
                                                    root_6_0_2_tAFOX_2.setName("mri:purpose");
                                                    org.dom4j.Element root_6_0_2_0_tAFOX_2;
                                                    if (root_6_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_2_0_tAFOX_2 = root_6_0_2_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_2_0_tAFOX_2 = root_6_0_2_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    root_6_0_2_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_3_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_3_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("status");
                                                    } else {
                                                        root_6_0_3_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:status");
                                                    }
                                                    root_6_0_3_tAFOX_2.setName("mri:status");
                                                    org.dom4j.Element root_6_0_3_0_tAFOX_2;
                                                    if (root_6_0_3_tAFOX_2
                                                            .getNamespaceForPrefix("mcc") == null) {
                                                        root_6_0_3_0_tAFOX_2 = root_6_0_3_tAFOX_2
                                                                .addElement("MD_ProgressCode");
                                                    } else {
                                                        root_6_0_3_0_tAFOX_2 = root_6_0_3_tAFOX_2
                                                                .addElement("mcc:MD_ProgressCode");
                                                    }
                                                    root_6_0_3_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_ProgressCode");
                                                    root_6_0_3_0_tAFOX_2.addAttribute("codeListValue",
                                                            "completed");
                                                    root_6_0_3_0_tAFOX_2.setName("mcc:MD_ProgressCode");
                                                    org.dom4j.Element root_6_0_4_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_4_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("pointOfContact");
                                                    } else {
                                                        root_6_0_4_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:pointOfContact");
                                                    }
                                                    root_6_0_4_tAFOX_2.setName("mri:pointOfContact");
                                                    org.dom4j.Element root_6_0_4_0_tAFOX_2;
                                                    if (root_6_0_4_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_tAFOX_2 = root_6_0_4_tAFOX_2
                                                                .addElement("CI_Responsibility");
                                                    } else {
                                                        root_6_0_4_0_tAFOX_2 = root_6_0_4_tAFOX_2
                                                                .addElement("cit:CI_Responsibility");
                                                    }
                                                    root_6_0_4_0_tAFOX_2.setName("cit:CI_Responsibility");
                                                    org.dom4j.Element root_6_0_4_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_0_tAFOX_2 = root_6_0_4_0_tAFOX_2
                                                                .addElement("role");
                                                    } else {
                                                        root_6_0_4_0_0_tAFOX_2 = root_6_0_4_0_tAFOX_2
                                                                .addElement("cit:role");
                                                    }
                                                    root_6_0_4_0_0_tAFOX_2.setName("cit:role");
                                                    org.dom4j.Element root_6_0_4_0_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_0_0_tAFOX_2 = root_6_0_4_0_0_tAFOX_2
                                                                .addElement("CI_RoleCode");
                                                    } else {
                                                        root_6_0_4_0_0_0_tAFOX_2 = root_6_0_4_0_0_tAFOX_2
                                                                .addElement("cit:CI_RoleCode");
                                                    }
                                                    root_6_0_4_0_0_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_RoleCode");
                                                    root_6_0_4_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                            "originator");
                                                    root_6_0_4_0_0_0_tAFOX_2.setName("cit:CI_RoleCode");
                                                    org.dom4j.Element root_6_0_4_0_1_tAFOX_2;
                                                    if (root_6_0_4_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_tAFOX_2 = root_6_0_4_0_tAFOX_2
                                                                .addElement("party");
                                                    } else {
                                                        root_6_0_4_0_1_tAFOX_2 = root_6_0_4_0_tAFOX_2
                                                                .addElement("cit:party");
                                                    }
                                                    root_6_0_4_0_1_tAFOX_2.setName("cit:party");
                                                    org.dom4j.Element root_6_0_4_0_1_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_tAFOX_2 = root_6_0_4_0_1_tAFOX_2
                                                                .addElement("CI_Organisation");
                                                    } else {
                                                        root_6_0_4_0_1_0_tAFOX_2 = root_6_0_4_0_1_tAFOX_2
                                                                .addElement("cit:CI_Organisation");
                                                    }
                                                    root_6_0_4_0_1_0_tAFOX_2.setName("cit:CI_Organisation");
                                                    org.dom4j.Element root_6_0_4_0_1_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_0_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                                .addElement("name");
                                                    } else {
                                                        root_6_0_4_0_1_0_0_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                                .addElement("cit:name");
                                                    }
                                                    root_6_0_4_0_1_0_0_tAFOX_2.setName("cit:name");
                                                    org.dom4j.Element root_6_0_4_0_1_0_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("organisationName") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("organisationName"));
                                                    }
                                                    root_6_0_4_0_1_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                                .addElement("contactInfo");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                                .addElement("cit:contactInfo");
                                                    }
                                                    root_6_0_4_0_1_0_1_tAFOX_2.setName("cit:contactInfo");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_1_tAFOX_2
                                                                .addElement("CI_Contact");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_1_tAFOX_2
                                                                .addElement("cit:CI_Contact");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_tAFOX_2.setName("cit:CI_Contact");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_tAFOX_2
                                                                .addElement("address");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_tAFOX_2
                                                                .addElement("cit:address");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_tAFOX_2.setName("cit:address");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("CI_Address");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_tAFOX_2
                                                                .addElement("cit:CI_Address");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_tAFOX_2.setName("cit:CI_Address");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("deliveryPoint");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:deliveryPoint");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2
                                                            .setName("cit:deliveryPoint");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("deliveryPoint") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("deliveryPoint"));
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_0_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("city");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:city");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2.setName("cit:city");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_1_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("city") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("city"));
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_1_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("administrativeArea");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:administrativeArea");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2
                                                            .setName("cit:administrativeArea");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_2_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("administrativeArea") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("administrativeArea"));
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_2_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("postalCode");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:postalCode");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2
                                                            .setName("cit:postalCode");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_3_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("postalCode") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("postalCode"));
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_3_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("country");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:country");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2.setName("cit:country");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_4_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("country") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("country"));
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_4_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("electronicMailAddress");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_tAFOX_2
                                                                .addElement("cit:electronicMailAddress");
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2
                                                            .setName("cit:electronicMailAddress");
                                                    org.dom4j.Element root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2 = root_6_0_4_0_1_0_1_0_0_0_5_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("email") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("email"));
                                                    }
                                                    root_6_0_4_0_1_0_1_0_0_0_5_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_4_0_1_0_2_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_2_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                                .addElement("individual");
                                                    } else {
                                                        root_6_0_4_0_1_0_2_tAFOX_2 = root_6_0_4_0_1_0_tAFOX_2
                                                                .addElement("cit:individual");
                                                    }
                                                    root_6_0_4_0_1_0_2_tAFOX_2.setName("cit:individual");
                                                    org.dom4j.Element root_6_0_4_0_1_0_2_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_2_0_tAFOX_2 = root_6_0_4_0_1_0_2_tAFOX_2
                                                                .addElement("CI_Individual");
                                                    } else {
                                                        root_6_0_4_0_1_0_2_0_tAFOX_2 = root_6_0_4_0_1_0_2_tAFOX_2
                                                                .addElement("cit:CI_Individual");
                                                    }
                                                    root_6_0_4_0_1_0_2_0_tAFOX_2.setName("cit:CI_Individual");
                                                    org.dom4j.Element root_6_0_4_0_1_0_2_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_2_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_2_0_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_tAFOX_2
                                                                .addElement("name");
                                                    } else {
                                                        root_6_0_4_0_1_0_2_0_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_tAFOX_2
                                                                .addElement("cit:name");
                                                    }
                                                    root_6_0_4_0_1_0_2_0_0_tAFOX_2.setName("cit:name");
                                                    org.dom4j.Element root_6_0_4_0_1_0_2_0_0_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_2_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_2_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_2_0_0_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("individualName") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_2_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("individualName"));
                                                    }
                                                    root_6_0_4_0_1_0_2_0_0_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_4_0_1_0_2_0_1_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_2_0_tAFOX_2
                                                            .getNamespaceForPrefix("cit") == null) {
                                                        root_6_0_4_0_1_0_2_0_1_tAFOX_2 = root_6_0_4_0_1_0_2_0_tAFOX_2
                                                                .addElement("positionName");
                                                    } else {
                                                        root_6_0_4_0_1_0_2_0_1_tAFOX_2 = root_6_0_4_0_1_0_2_0_tAFOX_2
                                                                .addElement("cit:positionName");
                                                    }
                                                    root_6_0_4_0_1_0_2_0_1_tAFOX_2.setName("cit:positionName");
                                                    org.dom4j.Element root_6_0_4_0_1_0_2_0_1_0_tAFOX_2;
                                                    if (root_6_0_4_0_1_0_2_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_4_0_1_0_2_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_1_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_4_0_1_0_2_0_1_0_tAFOX_2 = root_6_0_4_0_1_0_2_0_1_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("positionName") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_4_0_1_0_2_0_1_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("positionName"));
                                                    }
                                                    root_6_0_4_0_1_0_2_0_1_0_tAFOX_2
                                                            .setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_5_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_5_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("spatialRepresentationType");
                                                    } else {
                                                        root_6_0_5_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:spatialRepresentationType");
                                                    }
                                                    root_6_0_5_tAFOX_2.setName("mri:spatialRepresentationType");
                                                    org.dom4j.Element root_6_0_5_0_tAFOX_2;
                                                    if (root_6_0_5_tAFOX_2
                                                            .getNamespaceForPrefix("mcc") == null) {
                                                        root_6_0_5_0_tAFOX_2 = root_6_0_5_tAFOX_2
                                                                .addElement("MD_SpatialRepresentationTypeCode");
                                                    } else {
                                                        root_6_0_5_0_tAFOX_2 = root_6_0_5_tAFOX_2.addElement(
                                                                "mcc:MD_SpatialRepresentationTypeCode");
                                                    }
                                                    root_6_0_5_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_SpatialRepresentationTypeCode");
                                                    if (valueMap_tAFOX_2
                                                            .get("spatialRepresentationType") != null) {
                                                        root_6_0_5_0_tAFOX_2.addAttribute("codeListValue",
                                                                valueMap_tAFOX_2
                                                                        .get("spatialRepresentationType"));
                                                    }
                                                    root_6_0_5_0_tAFOX_2
                                                            .setName("mcc:MD_SpatialRepresentationTypeCode");
                                                    org.dom4j.Element root_6_0_6_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_6_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("spatialResolution");
                                                    } else {
                                                        root_6_0_6_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:spatialResolution");
                                                    }
                                                    root_6_0_6_tAFOX_2.setName("mri:spatialResolution");
                                                    org.dom4j.Element root_6_0_6_0_tAFOX_2;
                                                    if (root_6_0_6_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_6_0_tAFOX_2 = root_6_0_6_tAFOX_2
                                                                .addElement("MD_Resolution");
                                                    } else {
                                                        root_6_0_6_0_tAFOX_2 = root_6_0_6_tAFOX_2
                                                                .addElement("mri:MD_Resolution");
                                                    }
                                                    root_6_0_6_0_tAFOX_2.setName("mri:MD_Resolution");
                                                    org.dom4j.Element root_6_0_6_0_0_tAFOX_2;
                                                    if (root_6_0_6_0_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_6_0_0_tAFOX_2 = root_6_0_6_0_tAFOX_2
                                                                .addElement("equivalentScale");
                                                    } else {
                                                        root_6_0_6_0_0_tAFOX_2 = root_6_0_6_0_tAFOX_2
                                                                .addElement("mri:equivalentScale");
                                                    }
                                                    root_6_0_6_0_0_tAFOX_2.setName("mri:equivalentScale");
                                                    org.dom4j.Element root_6_0_6_0_0_0_tAFOX_2;
                                                    if (root_6_0_6_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_6_0_0_0_tAFOX_2 = root_6_0_6_0_0_tAFOX_2
                                                                .addElement("MD_RepresentativeFraction");
                                                    } else {
                                                        root_6_0_6_0_0_0_tAFOX_2 = root_6_0_6_0_0_tAFOX_2
                                                                .addElement("mri:MD_RepresentativeFraction");
                                                    }
                                                    root_6_0_6_0_0_0_tAFOX_2
                                                            .setName("mri:MD_RepresentativeFraction");
                                                    org.dom4j.Element root_6_0_6_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_6_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_6_0_0_0_0_tAFOX_2 = root_6_0_6_0_0_0_tAFOX_2
                                                                .addElement("denominator");
                                                    } else {
                                                        root_6_0_6_0_0_0_0_tAFOX_2 = root_6_0_6_0_0_0_tAFOX_2
                                                                .addElement("mri:denominator");
                                                    }
                                                    root_6_0_6_0_0_0_0_tAFOX_2.setName("mri:denominator");
                                                    org.dom4j.Element root_6_0_7_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_7_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("topicCategory");
                                                    } else {
                                                        root_6_0_7_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:topicCategory");
                                                    }
                                                    root_6_0_7_tAFOX_2.setName("mri:topicCategory");
                                                    org.dom4j.Element root_6_0_8_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_8_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("extent");
                                                    } else {
                                                        root_6_0_8_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:extent");
                                                    }
                                                    root_6_0_8_tAFOX_2.setName("mri:extent");
                                                    org.dom4j.Element root_6_0_8_0_tAFOX_2;
                                                    if (root_6_0_8_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_8_0_tAFOX_2 = root_6_0_8_tAFOX_2
                                                                .addElement("EX_Extent");
                                                    } else {
                                                        root_6_0_8_0_tAFOX_2 = root_6_0_8_tAFOX_2
                                                                .addElement("gex:EX_Extent");
                                                    }
                                                    root_6_0_8_0_tAFOX_2.setName("gex:EX_Extent");
                                                    org.dom4j.Element root_6_0_8_0_0_tAFOX_2;
                                                    if (root_6_0_8_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_8_0_0_tAFOX_2 = root_6_0_8_0_tAFOX_2
                                                                .addElement("temporalElement");
                                                    } else {
                                                        root_6_0_8_0_0_tAFOX_2 = root_6_0_8_0_tAFOX_2
                                                                .addElement("gex:temporalElement");
                                                    }
                                                    root_6_0_8_0_0_tAFOX_2.setName("gex:temporalElement");
                                                    org.dom4j.Element root_6_0_8_0_0_0_tAFOX_2;
                                                    if (root_6_0_8_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_8_0_0_0_tAFOX_2 = root_6_0_8_0_0_tAFOX_2
                                                                .addElement("EX_TemporalExtent");
                                                    } else {
                                                        root_6_0_8_0_0_0_tAFOX_2 = root_6_0_8_0_0_tAFOX_2
                                                                .addElement("gex:EX_TemporalExtent");
                                                    }
                                                    root_6_0_8_0_0_0_tAFOX_2.setName("gex:EX_TemporalExtent");
                                                    org.dom4j.Element root_6_0_8_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_8_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_8_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_tAFOX_2
                                                                .addElement("extent");
                                                    } else {
                                                        root_6_0_8_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_tAFOX_2
                                                                .addElement("gex:extent");
                                                    }
                                                    root_6_0_8_0_0_0_0_tAFOX_2.setName("gex:extent");
                                                    org.dom4j.Element root_6_0_8_0_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_8_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gml") == null) {
                                                        root_6_0_8_0_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_0_tAFOX_2
                                                                .addElement("TimePeriod");
                                                    } else {
                                                        root_6_0_8_0_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_0_tAFOX_2
                                                                .addElement("gml:TimePeriod");
                                                    }
                                                    root_6_0_8_0_0_0_0_0_tAFOX_2.addAttribute("gml:id",
                                                            "A1234");
                                                    root_6_0_8_0_0_0_0_0_tAFOX_2.setName("gml:TimePeriod");
                                                    org.dom4j.Element root_6_0_8_0_0_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_8_0_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gml") == null) {
                                                        root_6_0_8_0_0_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_0_0_tAFOX_2
                                                                .addElement("beginPosition");
                                                    } else {
                                                        root_6_0_8_0_0_0_0_0_0_tAFOX_2 = root_6_0_8_0_0_0_0_0_tAFOX_2
                                                                .addElement("gml:beginPosition");
                                                    }
                                                    root_6_0_8_0_0_0_0_0_0_tAFOX_2.setName("gml:beginPosition");
                                                    org.dom4j.Element root_6_0_8_0_0_0_0_0_1_tAFOX_2;
                                                    if (root_6_0_8_0_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gml") == null) {
                                                        root_6_0_8_0_0_0_0_0_1_tAFOX_2 = root_6_0_8_0_0_0_0_0_tAFOX_2
                                                                .addElement("endPosition");
                                                    } else {
                                                        root_6_0_8_0_0_0_0_0_1_tAFOX_2 = root_6_0_8_0_0_0_0_0_tAFOX_2
                                                                .addElement("gml:endPosition");
                                                    }
                                                    root_6_0_8_0_0_0_0_0_1_tAFOX_2.setName("gml:endPosition");
                                                    org.dom4j.Element root_6_0_9_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_9_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("extent");
                                                    } else {
                                                        root_6_0_9_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:extent");
                                                    }
                                                    root_6_0_9_tAFOX_2.setName("mri:extent");
                                                    org.dom4j.Element root_6_0_9_0_tAFOX_2;
                                                    if (root_6_0_9_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_9_0_tAFOX_2 = root_6_0_9_tAFOX_2
                                                                .addElement("EX_Extent");
                                                    } else {
                                                        root_6_0_9_0_tAFOX_2 = root_6_0_9_tAFOX_2
                                                                .addElement("gex:EX_Extent");
                                                    }
                                                    root_6_0_9_0_tAFOX_2.setName("gex:EX_Extent");
                                                    org.dom4j.Element root_6_0_9_0_0_tAFOX_2;
                                                    if (root_6_0_9_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_9_0_0_tAFOX_2 = root_6_0_9_0_tAFOX_2
                                                                .addElement("geographicElement");
                                                    } else {
                                                        root_6_0_9_0_0_tAFOX_2 = root_6_0_9_0_tAFOX_2
                                                                .addElement("gex:geographicElement");
                                                    }
                                                    root_6_0_9_0_0_tAFOX_2.setName("gex:geographicElement");
                                                    org.dom4j.Element root_6_0_9_0_0_0_tAFOX_2;
                                                    if (root_6_0_9_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_9_0_0_0_tAFOX_2 = root_6_0_9_0_0_tAFOX_2
                                                                .addElement("EX_GeographicBoundingBox");
                                                    } else {
                                                        root_6_0_9_0_0_0_tAFOX_2 = root_6_0_9_0_0_tAFOX_2
                                                                .addElement("gex:EX_GeographicBoundingBox");
                                                    }
                                                    root_6_0_9_0_0_0_tAFOX_2
                                                            .setName("gex:EX_GeographicBoundingBox");
                                                    org.dom4j.Element root_6_0_9_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_9_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_9_0_0_0_0_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                                .addElement("westBoundLongitude");
                                                    } else {
                                                        root_6_0_9_0_0_0_0_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                                .addElement("gex:westBoundLongitude");
                                                    }
                                                    root_6_0_9_0_0_0_0_tAFOX_2
                                                            .setName("gex:westBoundLongitude");
                                                    org.dom4j.Element root_6_0_9_0_0_0_0_0_tAFOX_2;
                                                    if (root_6_0_9_0_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_9_0_0_0_0_0_tAFOX_2 = root_6_0_9_0_0_0_0_tAFOX_2
                                                                .addElement("Decimal");
                                                    } else {
                                                        root_6_0_9_0_0_0_0_0_tAFOX_2 = root_6_0_9_0_0_0_0_tAFOX_2
                                                                .addElement("gco:Decimal");
                                                    }
                                                    if (valueMap_tAFOX_2.get("west") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_9_0_0_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("west"));
                                                    }
                                                    root_6_0_9_0_0_0_0_0_tAFOX_2.setName("gco:Decimal");
                                                    org.dom4j.Element root_6_0_9_0_0_0_1_tAFOX_2;
                                                    if (root_6_0_9_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_9_0_0_0_1_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                                .addElement("eastBoundLongitude");
                                                    } else {
                                                        root_6_0_9_0_0_0_1_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                                .addElement("gex:eastBoundLongitude");
                                                    }
                                                    root_6_0_9_0_0_0_1_tAFOX_2
                                                            .setName("gex:eastBoundLongitude");
                                                    org.dom4j.Element root_6_0_9_0_0_0_1_0_tAFOX_2;
                                                    if (root_6_0_9_0_0_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_9_0_0_0_1_0_tAFOX_2 = root_6_0_9_0_0_0_1_tAFOX_2
                                                                .addElement("Decimal");
                                                    } else {
                                                        root_6_0_9_0_0_0_1_0_tAFOX_2 = root_6_0_9_0_0_0_1_tAFOX_2
                                                                .addElement("gco:Decimal");
                                                    }
                                                    if (valueMap_tAFOX_2.get("east") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_9_0_0_0_1_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("east"));
                                                    }
                                                    root_6_0_9_0_0_0_1_0_tAFOX_2.setName("gco:Decimal");
                                                    org.dom4j.Element root_6_0_9_0_0_0_2_tAFOX_2;
                                                    if (root_6_0_9_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_9_0_0_0_2_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                                .addElement("southBoundLatitude");
                                                    } else {
                                                        root_6_0_9_0_0_0_2_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                                .addElement("gex:southBoundLatitude");
                                                    }
                                                    root_6_0_9_0_0_0_2_tAFOX_2
                                                            .setName("gex:southBoundLatitude");
                                                    org.dom4j.Element root_6_0_9_0_0_0_2_0_tAFOX_2;
                                                    if (root_6_0_9_0_0_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_9_0_0_0_2_0_tAFOX_2 = root_6_0_9_0_0_0_2_tAFOX_2
                                                                .addElement("Decimal");
                                                    } else {
                                                        root_6_0_9_0_0_0_2_0_tAFOX_2 = root_6_0_9_0_0_0_2_tAFOX_2
                                                                .addElement("gco:Decimal");
                                                    }
                                                    if (valueMap_tAFOX_2.get("south") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_9_0_0_0_2_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("south"));
                                                    }
                                                    root_6_0_9_0_0_0_2_0_tAFOX_2.setName("gco:Decimal");
                                                    org.dom4j.Element root_6_0_9_0_0_0_3_tAFOX_2;
                                                    if (root_6_0_9_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gex") == null) {
                                                        root_6_0_9_0_0_0_3_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                                .addElement("northBoundLatitude");
                                                    } else {
                                                        root_6_0_9_0_0_0_3_tAFOX_2 = root_6_0_9_0_0_0_tAFOX_2
                                                                .addElement("gex:northBoundLatitude");
                                                    }
                                                    root_6_0_9_0_0_0_3_tAFOX_2
                                                            .setName("gex:northBoundLatitude");
                                                    org.dom4j.Element root_6_0_9_0_0_0_3_0_tAFOX_2;
                                                    if (root_6_0_9_0_0_0_3_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_9_0_0_0_3_0_tAFOX_2 = root_6_0_9_0_0_0_3_tAFOX_2
                                                                .addElement("Decimal");
                                                    } else {
                                                        root_6_0_9_0_0_0_3_0_tAFOX_2 = root_6_0_9_0_0_0_3_tAFOX_2
                                                                .addElement("gco:Decimal");
                                                    }
                                                    if (valueMap_tAFOX_2.get("north") != null) {
                                                        nestXMLTool_tAFOX_2.setText(
                                                                root_6_0_9_0_0_0_3_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("north"));
                                                    }
                                                    root_6_0_9_0_0_0_3_0_tAFOX_2.setName("gco:Decimal");
                                                    org.dom4j.Element root_6_0_10_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_10_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("resourceMaintenance");
                                                    } else {
                                                        root_6_0_10_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:resourceMaintenance");
                                                    }
                                                    root_6_0_10_tAFOX_2.setName("mri:resourceMaintenance");
                                                    org.dom4j.Element root_6_0_10_0_tAFOX_2;
                                                    if (root_6_0_10_tAFOX_2
                                                            .getNamespaceForPrefix("mmi") == null) {
                                                        root_6_0_10_0_tAFOX_2 = root_6_0_10_tAFOX_2
                                                                .addElement("MD_MaintenanceInformation");
                                                    } else {
                                                        root_6_0_10_0_tAFOX_2 = root_6_0_10_tAFOX_2
                                                                .addElement("mmi:MD_MaintenanceInformation");
                                                    }
                                                    root_6_0_10_0_tAFOX_2
                                                            .setName("mmi:MD_MaintenanceInformation");
                                                    org.dom4j.Element root_6_0_10_0_0_tAFOX_2;
                                                    if (root_6_0_10_0_tAFOX_2
                                                            .getNamespaceForPrefix("mmi") == null) {
                                                        root_6_0_10_0_0_tAFOX_2 = root_6_0_10_0_tAFOX_2
                                                                .addElement("maintenanceAndUpdateFrequency");
                                                    } else {
                                                        root_6_0_10_0_0_tAFOX_2 = root_6_0_10_0_tAFOX_2
                                                                .addElement(
                                                                        "mmi:maintenanceAndUpdateFrequency");
                                                    }
                                                    root_6_0_10_0_0_tAFOX_2
                                                            .setName("mmi:maintenanceAndUpdateFrequency");
                                                    org.dom4j.Element root_6_0_10_0_0_0_tAFOX_2;
                                                    if (root_6_0_10_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("mmi") == null) {
                                                        root_6_0_10_0_0_0_tAFOX_2 = root_6_0_10_0_0_tAFOX_2
                                                                .addElement("MD_MaintenanceFrequencyCode");
                                                    } else {
                                                        root_6_0_10_0_0_0_tAFOX_2 = root_6_0_10_0_0_tAFOX_2
                                                                .addElement("mmi:MD_MaintenanceFrequencyCode");
                                                    }
                                                    root_6_0_10_0_0_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_MaintenanceFrequencyCode");
                                                    root_6_0_10_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                            "asNeeded");
                                                    root_6_0_10_0_0_0_tAFOX_2
                                                            .setName("mmi:MD_MaintenanceFrequencyCode");
                                                    org.dom4j.Element root_6_0_11_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_11_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("descriptiveKeywords");
                                                    } else {
                                                        root_6_0_11_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:descriptiveKeywords");
                                                    }
                                                    root_6_0_11_tAFOX_2.setName("mri:descriptiveKeywords");
                                                    org.dom4j.Element root_6_0_11_0_tAFOX_2;
                                                    if (root_6_0_11_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_11_0_tAFOX_2 = root_6_0_11_tAFOX_2
                                                                .addElement("MD_Keywords");
                                                    } else {
                                                        root_6_0_11_0_tAFOX_2 = root_6_0_11_tAFOX_2
                                                                .addElement("mri:MD_Keywords");
                                                    }
                                                    root_6_0_11_0_tAFOX_2.setName("mri:MD_Keywords");
                                                    org.dom4j.Element root_6_0_11_0_0_tAFOX_2;
                                                    if (root_6_0_11_0_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_11_0_0_tAFOX_2 = root_6_0_11_0_tAFOX_2
                                                                .addElement("keyword");
                                                    } else {
                                                        root_6_0_11_0_0_tAFOX_2 = root_6_0_11_0_tAFOX_2
                                                                .addElement("mri:keyword");
                                                    }
                                                    root_6_0_11_0_0_tAFOX_2.setName("mri:keyword");
                                                    org.dom4j.Element root_6_0_11_0_0_0_tAFOX_2;
                                                    if (root_6_0_11_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_11_0_0_0_tAFOX_2 = root_6_0_11_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_11_0_0_0_tAFOX_2 = root_6_0_11_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("keyword") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_6_0_11_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("keyword"));
                                                    }
                                                    root_6_0_11_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_11_0_1_tAFOX_2;
                                                    if (root_6_0_11_0_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_11_0_1_tAFOX_2 = root_6_0_11_0_tAFOX_2
                                                                .addElement("type");
                                                    } else {
                                                        root_6_0_11_0_1_tAFOX_2 = root_6_0_11_0_tAFOX_2
                                                                .addElement("mri:type");
                                                    }
                                                    root_6_0_11_0_1_tAFOX_2.setName("mri:type");
                                                    org.dom4j.Element root_6_0_11_0_1_0_tAFOX_2;
                                                    if (root_6_0_11_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_11_0_1_0_tAFOX_2 = root_6_0_11_0_1_tAFOX_2
                                                                .addElement("MD_KeywordTypeCode");
                                                    } else {
                                                        root_6_0_11_0_1_0_tAFOX_2 = root_6_0_11_0_1_tAFOX_2
                                                                .addElement("mri:MD_KeywordTypeCode");
                                                    }
                                                    root_6_0_11_0_1_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_KeywordTypeCode");
                                                    root_6_0_11_0_1_0_tAFOX_2.setName("mri:MD_KeywordTypeCode");
                                                    org.dom4j.Element root_6_0_12_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_12_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("descriptiveKeywords");
                                                    } else {
                                                        root_6_0_12_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:descriptiveKeywords");
                                                    }
                                                    root_6_0_12_tAFOX_2.setName("mri:descriptiveKeywords");
                                                    org.dom4j.Element root_6_0_12_0_tAFOX_2;
                                                    if (root_6_0_12_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_12_0_tAFOX_2 = root_6_0_12_tAFOX_2
                                                                .addElement("MD_Keywords");
                                                    } else {
                                                        root_6_0_12_0_tAFOX_2 = root_6_0_12_tAFOX_2
                                                                .addElement("mri:MD_Keywords");
                                                    }
                                                    root_6_0_12_0_tAFOX_2.setName("mri:MD_Keywords");
                                                    org.dom4j.Element root_6_0_12_0_0_tAFOX_2;
                                                    if (root_6_0_12_0_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_12_0_0_tAFOX_2 = root_6_0_12_0_tAFOX_2
                                                                .addElement("keyword");
                                                    } else {
                                                        root_6_0_12_0_0_tAFOX_2 = root_6_0_12_0_tAFOX_2
                                                                .addElement("mri:keyword");
                                                    }
                                                    root_6_0_12_0_0_tAFOX_2.setName("mri:keyword");
                                                    org.dom4j.Element root_6_0_12_0_0_0_tAFOX_2;
                                                    if (root_6_0_12_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_12_0_0_0_tAFOX_2 = root_6_0_12_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_12_0_0_0_tAFOX_2 = root_6_0_12_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("keyword2") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_6_0_12_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("keyword2"));
                                                    }
                                                    root_6_0_12_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_12_0_1_tAFOX_2;
                                                    if (root_6_0_12_0_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_12_0_1_tAFOX_2 = root_6_0_12_0_tAFOX_2
                                                                .addElement("type");
                                                    } else {
                                                        root_6_0_12_0_1_tAFOX_2 = root_6_0_12_0_tAFOX_2
                                                                .addElement("mri:type");
                                                    }
                                                    root_6_0_12_0_1_tAFOX_2.setName("mri:type");
                                                    org.dom4j.Element root_6_0_12_0_1_0_tAFOX_2;
                                                    if (root_6_0_12_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_12_0_1_0_tAFOX_2 = root_6_0_12_0_1_tAFOX_2
                                                                .addElement("MD_KeywordTypeCode");
                                                    } else {
                                                        root_6_0_12_0_1_0_tAFOX_2 = root_6_0_12_0_1_tAFOX_2
                                                                .addElement("mri:MD_KeywordTypeCode");
                                                    }
                                                    root_6_0_12_0_1_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_KeywordTypeCode");
                                                    if (valueMap_tAFOX_2.get("keyword2_theme") != null) {
                                                        root_6_0_12_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                                valueMap_tAFOX_2.get("keyword2_theme"));
                                                    }
                                                    root_6_0_12_0_1_0_tAFOX_2.setName("mri:MD_KeywordTypeCode");
                                                    org.dom4j.Element root_6_0_13_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_13_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("resourceConstraints");
                                                    } else {
                                                        root_6_0_13_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:resourceConstraints");
                                                    }
                                                    root_6_0_13_tAFOX_2.setName("mri:resourceConstraints");
                                                    org.dom4j.Element root_6_0_13_0_tAFOX_2;
                                                    if (root_6_0_13_tAFOX_2
                                                            .getNamespaceForPrefix("mco") == null) {
                                                        root_6_0_13_0_tAFOX_2 = root_6_0_13_tAFOX_2
                                                                .addElement("MD_LegalConstraints");
                                                    } else {
                                                        root_6_0_13_0_tAFOX_2 = root_6_0_13_tAFOX_2
                                                                .addElement("mco:MD_LegalConstraints");
                                                    }
                                                    root_6_0_13_0_tAFOX_2.setName("mco:MD_LegalConstraints");
                                                    org.dom4j.Element root_6_0_13_0_0_tAFOX_2;
                                                    if (root_6_0_13_0_tAFOX_2
                                                            .getNamespaceForPrefix("mco") == null) {
                                                        root_6_0_13_0_0_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                                .addElement("accessConstraints");
                                                    } else {
                                                        root_6_0_13_0_0_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                                .addElement("mco:accessConstraints");
                                                    }
                                                    root_6_0_13_0_0_tAFOX_2.setName("mco:accessConstraints");
                                                    org.dom4j.Element root_6_0_13_0_0_0_tAFOX_2;
                                                    if (root_6_0_13_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("mco") == null) {
                                                        root_6_0_13_0_0_0_tAFOX_2 = root_6_0_13_0_0_tAFOX_2
                                                                .addElement("MD_RestrictionCode");
                                                    } else {
                                                        root_6_0_13_0_0_0_tAFOX_2 = root_6_0_13_0_0_tAFOX_2
                                                                .addElement("mco:MD_RestrictionCode");
                                                    }
                                                    root_6_0_13_0_0_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_RestrictionCode");
                                                    root_6_0_13_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                            "copyright");
                                                    root_6_0_13_0_0_0_tAFOX_2.setName("mco:MD_RestrictionCode");
                                                    org.dom4j.Element root_6_0_13_0_1_tAFOX_2;
                                                    if (root_6_0_13_0_tAFOX_2
                                                            .getNamespaceForPrefix("mco") == null) {
                                                        root_6_0_13_0_1_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                                .addElement("useConstraints");
                                                    } else {
                                                        root_6_0_13_0_1_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                                .addElement("mco:useConstraints");
                                                    }
                                                    root_6_0_13_0_1_tAFOX_2.setName("mco:useConstraints");
                                                    org.dom4j.Element root_6_0_13_0_1_0_tAFOX_2;
                                                    if (root_6_0_13_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("mco") == null) {
                                                        root_6_0_13_0_1_0_tAFOX_2 = root_6_0_13_0_1_tAFOX_2
                                                                .addElement("MD_RestrictionCode");
                                                    } else {
                                                        root_6_0_13_0_1_0_tAFOX_2 = root_6_0_13_0_1_tAFOX_2
                                                                .addElement("mco:MD_RestrictionCode");
                                                    }
                                                    root_6_0_13_0_1_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_RestrictionCode");
                                                    root_6_0_13_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                            "otherRestrictions");
                                                    root_6_0_13_0_1_0_tAFOX_2.setName("mco:MD_RestrictionCode");
                                                    org.dom4j.Element root_6_0_13_0_2_tAFOX_2;
                                                    if (root_6_0_13_0_tAFOX_2
                                                            .getNamespaceForPrefix("mco") == null) {
                                                        root_6_0_13_0_2_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                                .addElement("otherConstraints");
                                                    } else {
                                                        root_6_0_13_0_2_tAFOX_2 = root_6_0_13_0_tAFOX_2
                                                                .addElement("mco:otherConstraints");
                                                    }
                                                    root_6_0_13_0_2_tAFOX_2.setName("mco:otherConstraints");
                                                    org.dom4j.Element root_6_0_13_0_2_0_tAFOX_2;
                                                    if (root_6_0_13_0_2_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_13_0_2_0_tAFOX_2 = root_6_0_13_0_2_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_13_0_2_0_tAFOX_2 = root_6_0_13_0_2_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("useConstraints") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_6_0_13_0_2_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("useConstraints"));
                                                    }
                                                    root_6_0_13_0_2_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_6_0_14_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_14_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("defaultLocale");
                                                    } else {
                                                        root_6_0_14_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:defaultLocale");
                                                    }
                                                    root_6_0_14_tAFOX_2.setName("mri:defaultLocale");
                                                    org.dom4j.Element root_6_0_14_0_tAFOX_2;
                                                    if (root_6_0_14_tAFOX_2
                                                            .getNamespaceForPrefix("lan") == null) {
                                                        root_6_0_14_0_tAFOX_2 = root_6_0_14_tAFOX_2
                                                                .addElement("PT_Locale");
                                                    } else {
                                                        root_6_0_14_0_tAFOX_2 = root_6_0_14_tAFOX_2
                                                                .addElement("lan:PT_Locale");
                                                    }
                                                    root_6_0_14_0_tAFOX_2.setName("lan:PT_Locale");
                                                    org.dom4j.Element root_6_0_14_0_0_tAFOX_2;
                                                    if (root_6_0_14_0_tAFOX_2
                                                            .getNamespaceForPrefix("lan") == null) {
                                                        root_6_0_14_0_0_tAFOX_2 = root_6_0_14_0_tAFOX_2
                                                                .addElement("language");
                                                    } else {
                                                        root_6_0_14_0_0_tAFOX_2 = root_6_0_14_0_tAFOX_2
                                                                .addElement("lan:language");
                                                    }
                                                    root_6_0_14_0_0_tAFOX_2.setName("lan:language");
                                                    org.dom4j.Element root_6_0_14_0_0_0_tAFOX_2;
                                                    if (root_6_0_14_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("lan") == null) {
                                                        root_6_0_14_0_0_0_tAFOX_2 = root_6_0_14_0_0_tAFOX_2
                                                                .addElement("LanguageCode");
                                                    } else {
                                                        root_6_0_14_0_0_0_tAFOX_2 = root_6_0_14_0_0_tAFOX_2
                                                                .addElement("lan:LanguageCode");
                                                    }
                                                    root_6_0_14_0_0_0_tAFOX_2.addAttribute("codeList",
                                                            "http://www.loc.gov/standards/iso639-2/");
                                                    if (valueMap_tAFOX_2.get("mdLanguage") != null) {
                                                        root_6_0_14_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                                valueMap_tAFOX_2.get("mdLanguage"));
                                                    }
                                                    root_6_0_14_0_0_0_tAFOX_2.setName("lan:LanguageCode");
                                                    org.dom4j.Element root_6_0_14_0_1_tAFOX_2;
                                                    if (root_6_0_14_0_tAFOX_2
                                                            .getNamespaceForPrefix("lan") == null) {
                                                        root_6_0_14_0_1_tAFOX_2 = root_6_0_14_0_tAFOX_2
                                                                .addElement("characterEncoding");
                                                    } else {
                                                        root_6_0_14_0_1_tAFOX_2 = root_6_0_14_0_tAFOX_2
                                                                .addElement("lan:characterEncoding");
                                                    }
                                                    root_6_0_14_0_1_tAFOX_2.setName("lan:characterEncoding");
                                                    org.dom4j.Element root_6_0_14_0_1_0_tAFOX_2;
                                                    if (root_6_0_14_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("lan") == null) {
                                                        root_6_0_14_0_1_0_tAFOX_2 = root_6_0_14_0_1_tAFOX_2
                                                                .addElement("MD_CharacterSetCode");
                                                    } else {
                                                        root_6_0_14_0_1_0_tAFOX_2 = root_6_0_14_0_1_tAFOX_2
                                                                .addElement("lan:MD_CharacterSetCode");
                                                    }
                                                    root_6_0_14_0_1_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#MD_CharacterSetCode");
                                                    if (valueMap_tAFOX_2.get("mdCharacterSetCode") != null) {
                                                        root_6_0_14_0_1_0_tAFOX_2.addAttribute("codeListValue",
                                                                valueMap_tAFOX_2.get("mdCharacterSetCode"));
                                                    }
                                                    root_6_0_14_0_1_0_tAFOX_2
                                                            .setName("lan:MD_CharacterSetCode");
                                                    org.dom4j.Element root_6_0_15_tAFOX_2;
                                                    if (root_6_0_tAFOX_2.getNamespaceForPrefix("mri") == null) {
                                                        root_6_0_15_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("supplementalInformation");
                                                    } else {
                                                        root_6_0_15_tAFOX_2 = root_6_0_tAFOX_2
                                                                .addElement("mri:supplementalInformation");
                                                    }
                                                    root_6_0_15_tAFOX_2.setName("mri:supplementalInformation");
                                                    org.dom4j.Element root_6_0_15_0_tAFOX_2;
                                                    if (root_6_0_15_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_6_0_15_0_tAFOX_2 = root_6_0_15_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_6_0_15_0_tAFOX_2 = root_6_0_15_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    root_6_0_15_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_7_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_7_tAFOX_2 = root_tAFOX_2.addElement("contentInfo");
                                                    } else {
                                                        root_7_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:contentInfo");
                                                    }
                                                    root_7_tAFOX_2.setName("mdb:contentInfo");
                                                    org.dom4j.Element root_7_0_tAFOX_2;
                                                    if (root_7_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                                        root_7_0_tAFOX_2 = root_7_tAFOX_2
                                                                .addElement("MD_FeatureCatalogue");
                                                    } else {
                                                        root_7_0_tAFOX_2 = root_7_tAFOX_2
                                                                .addElement("mrc:MD_FeatureCatalogue");
                                                    }
                                                    root_7_0_tAFOX_2.setName("mrc:MD_FeatureCatalogue");
                                                    org.dom4j.Element root_7_0_0_tAFOX_2;
                                                    if (root_7_0_tAFOX_2.getNamespaceForPrefix("mrc") == null) {
                                                        root_7_0_0_tAFOX_2 = root_7_0_tAFOX_2
                                                                .addElement("featureCatalogue");
                                                    } else {
                                                        root_7_0_0_tAFOX_2 = root_7_0_tAFOX_2
                                                                .addElement("mrc:featureCatalogue");
                                                    }
                                                    root_7_0_0_tAFOX_2.setName("mrc:featureCatalogue");
                                                    org.dom4j.Element root_7_0_0_0_tAFOX_2;
                                                    if (root_7_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gfc") == null) {
                                                        root_7_0_0_0_tAFOX_2 = root_7_0_0_tAFOX_2
                                                                .addElement("FC_FeatureCatalogue");
                                                    } else {
                                                        root_7_0_0_0_tAFOX_2 = root_7_0_0_tAFOX_2
                                                                .addElement("gfc:FC_FeatureCatalogue");
                                                    }
                                                    root_7_0_0_0_tAFOX_2.setName("gfc:FC_FeatureCatalogue");
                                                    org.dom4j.Element root_7_0_0_0_0_tAFOX_2;
                                                    if (root_7_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gfc") == null) {
                                                        root_7_0_0_0_0_tAFOX_2 = root_7_0_0_0_tAFOX_2
                                                                .addElement("producer");
                                                    } else {
                                                        root_7_0_0_0_0_tAFOX_2 = root_7_0_0_0_tAFOX_2
                                                                .addElement("gfc:producer");
                                                    }
                                                    root_7_0_0_0_0_tAFOX_2.setName("gfc:producer");
                                                    org.dom4j.Element root_7_0_0_0_1_tAFOX_2;
                                                    if (root_7_0_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gfc") == null) {
                                                        root_7_0_0_0_1_tAFOX_2 = root_7_0_0_0_tAFOX_2
                                                                .addElement("featureType");
                                                    } else {
                                                        root_7_0_0_0_1_tAFOX_2 = root_7_0_0_0_tAFOX_2
                                                                .addElement("gfc:featureType");
                                                    }
                                                    root_7_0_0_0_1_tAFOX_2.setName("gfc:featureType");
                                                    org.dom4j.Element root_7_0_0_0_1_0_tAFOX_2;
                                                    if (root_7_0_0_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gfc") == null) {
                                                        root_7_0_0_0_1_0_tAFOX_2 = root_7_0_0_0_1_tAFOX_2
                                                                .addElement("FC_FeatureType");
                                                    } else {
                                                        root_7_0_0_0_1_0_tAFOX_2 = root_7_0_0_0_1_tAFOX_2
                                                                .addElement("gfc:FC_FeatureType");
                                                    }
                                                    subTreeRootParent_tAFOX_2 = root_7_0_0_0_1_0_tAFOX_2;
                                                    root_7_0_0_0_1_0_tAFOX_2.setName("gfc:FC_FeatureType");
                                                    org.dom4j.Element root_7_0_0_0_1_0_0_tAFOX_2;
                                                    if (root_7_0_0_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("gfc") == null) {
                                                        root_7_0_0_0_1_0_0_tAFOX_2 = root_7_0_0_0_1_0_tAFOX_2
                                                                .addElement("typeName");
                                                    } else {
                                                        root_7_0_0_0_1_0_0_tAFOX_2 = root_7_0_0_0_1_0_tAFOX_2
                                                                .addElement("gfc:typeName");
                                                    }
                                                    if (valueMap_tAFOX_2.get("layerName") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_7_0_0_0_1_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("layerName"));
                                                    }
                                                    root_7_0_0_0_1_0_0_tAFOX_2.setName("gfc:typeName");
                                                    org.dom4j.Element root_7_0_0_0_1_0_1_tAFOX_2;
                                                    if (root_7_0_0_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("gfc") == null) {
                                                        root_7_0_0_0_1_0_1_tAFOX_2 = root_7_0_0_0_1_0_tAFOX_2
                                                                .addElement("isAbstract");
                                                    } else {
                                                        root_7_0_0_0_1_0_1_tAFOX_2 = root_7_0_0_0_1_0_tAFOX_2
                                                                .addElement("gfc:isAbstract");
                                                    }
                                                    root_7_0_0_0_1_0_1_tAFOX_2.setName("gfc:isAbstract");
                                                    org.dom4j.Element root_7_0_0_0_1_0_1_0_tAFOX_2;
                                                    if (root_7_0_0_0_1_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_7_0_0_0_1_0_1_0_tAFOX_2 = root_7_0_0_0_1_0_1_tAFOX_2
                                                                .addElement("Boolean");
                                                    } else {
                                                        root_7_0_0_0_1_0_1_0_tAFOX_2 = root_7_0_0_0_1_0_1_tAFOX_2
                                                                .addElement("gco:Boolean");
                                                    }
                                                    nestXMLTool_tAFOX_2
                                                            .parseAndAdd(root_7_0_0_0_1_0_1_0_tAFOX_2, "false");

                                                    root_7_0_0_0_1_0_1_0_tAFOX_2.setName("gco:Boolean");
                                                    org.dom4j.Element root_7_0_0_0_1_0_2_tAFOX_2;
                                                    if (root_7_0_0_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("gfc") == null) {
                                                        root_7_0_0_0_1_0_2_tAFOX_2 = root_7_0_0_0_1_0_tAFOX_2
                                                                .addElement("featureCatalogue");
                                                    } else {
                                                        root_7_0_0_0_1_0_2_tAFOX_2 = root_7_0_0_0_1_0_tAFOX_2
                                                                .addElement("gfc:featureCatalogue");
                                                    }
                                                    root_7_0_0_0_1_0_2_tAFOX_2.setName("gfc:featureCatalogue");
                                                    org.dom4j.Element root_8_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_8_tAFOX_2 = root_tAFOX_2
                                                                .addElement("distributionInfo");
                                                    } else {
                                                        root_8_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:distributionInfo");
                                                    }
                                                    root_8_tAFOX_2.setName("mdb:distributionInfo");
                                                    org.dom4j.Element root_8_0_tAFOX_2;
                                                    if (root_8_tAFOX_2.getNamespaceForPrefix("mrd") == null) {
                                                        root_8_0_tAFOX_2 = root_8_tAFOX_2
                                                                .addElement("MD_Distribution");
                                                    } else {
                                                        root_8_0_tAFOX_2 = root_8_tAFOX_2
                                                                .addElement("mrd:MD_Distribution");
                                                    }
                                                    root_8_0_tAFOX_2.setName("mrd:MD_Distribution");
                                                    org.dom4j.Element root_8_0_0_tAFOX_2;
                                                    if (root_8_0_tAFOX_2.getNamespaceForPrefix("mrd") == null) {
                                                        root_8_0_0_tAFOX_2 = root_8_0_tAFOX_2
                                                                .addElement("transferOptions");
                                                    } else {
                                                        root_8_0_0_tAFOX_2 = root_8_0_tAFOX_2
                                                                .addElement("mrd:transferOptions");
                                                    }
                                                    root_8_0_0_tAFOX_2.setName("mrd:transferOptions");
                                                    org.dom4j.Element root_8_0_0_0_tAFOX_2;
                                                    if (root_8_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("mrd") == null) {
                                                        root_8_0_0_0_tAFOX_2 = root_8_0_0_tAFOX_2
                                                                .addElement("MD_DigitalTransferOptions");
                                                    } else {
                                                        root_8_0_0_0_tAFOX_2 = root_8_0_0_tAFOX_2
                                                                .addElement("mrd:MD_DigitalTransferOptions");
                                                    }
                                                    root_8_0_0_0_tAFOX_2
                                                            .setName("mrd:MD_DigitalTransferOptions");
                                                    org.dom4j.Element root_9_tAFOX_2;
                                                    if (root_tAFOX_2.getNamespaceForPrefix("mdb") == null) {
                                                        root_9_tAFOX_2 = root_tAFOX_2
                                                                .addElement("resourceLineage");
                                                    } else {
                                                        root_9_tAFOX_2 = root_tAFOX_2
                                                                .addElement("mdb:resourceLineage");
                                                    }
                                                    root_9_tAFOX_2.setName("mdb:resourceLineage");
                                                    org.dom4j.Element root_9_0_tAFOX_2;
                                                    if (root_9_tAFOX_2.getNamespaceForPrefix("mrl") == null) {
                                                        root_9_0_tAFOX_2 = root_9_tAFOX_2
                                                                .addElement("LI_Lineage");
                                                    } else {
                                                        root_9_0_tAFOX_2 = root_9_tAFOX_2
                                                                .addElement("mrl:LI_Lineage");
                                                    }
                                                    root_9_0_tAFOX_2.setName("mrl:LI_Lineage");
                                                    org.dom4j.Element root_9_0_0_tAFOX_2;
                                                    if (root_9_0_tAFOX_2.getNamespaceForPrefix("mrl") == null) {
                                                        root_9_0_0_tAFOX_2 = root_9_0_tAFOX_2
                                                                .addElement("statement");
                                                    } else {
                                                        root_9_0_0_tAFOX_2 = root_9_0_tAFOX_2
                                                                .addElement("mrl:statement");
                                                    }
                                                    root_9_0_0_tAFOX_2.addAttribute("gco:nilReason", "missing");
                                                    root_9_0_0_tAFOX_2.setName("mrl:statement");
                                                    org.dom4j.Element root_9_0_0_0_tAFOX_2;
                                                    if (root_9_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("gco") == null) {
                                                        root_9_0_0_0_tAFOX_2 = root_9_0_0_tAFOX_2
                                                                .addElement("CharacterString");
                                                    } else {
                                                        root_9_0_0_0_tAFOX_2 = root_9_0_0_tAFOX_2
                                                                .addElement("gco:CharacterString");
                                                    }
                                                    if (valueMap_tAFOX_2.get("lineage") != null) {
                                                        nestXMLTool_tAFOX_2.setText(root_9_0_0_0_tAFOX_2,
                                                                valueMap_tAFOX_2.get("lineage"));
                                                    }
                                                    root_9_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                    org.dom4j.Element root_9_0_1_tAFOX_2;
                                                    if (root_9_0_tAFOX_2.getNamespaceForPrefix("mrl") == null) {
                                                        root_9_0_1_tAFOX_2 = root_9_0_tAFOX_2
                                                                .addElement("scope");
                                                    } else {
                                                        root_9_0_1_tAFOX_2 = root_9_0_tAFOX_2
                                                                .addElement("mrl:scope");
                                                    }
                                                    root_9_0_1_tAFOX_2.setName("mrl:scope");
                                                    org.dom4j.Element root_9_0_1_0_tAFOX_2;
                                                    if (root_9_0_1_tAFOX_2
                                                            .getNamespaceForPrefix("mcc") == null) {
                                                        root_9_0_1_0_tAFOX_2 = root_9_0_1_tAFOX_2
                                                                .addElement("MD_Scope");
                                                    } else {
                                                        root_9_0_1_0_tAFOX_2 = root_9_0_1_tAFOX_2
                                                                .addElement("mcc:MD_Scope");
                                                    }
                                                    root_9_0_1_0_tAFOX_2.setName("mcc:MD_Scope");
                                                    org.dom4j.Element root_9_0_1_0_0_tAFOX_2;
                                                    if (root_9_0_1_0_tAFOX_2
                                                            .getNamespaceForPrefix("mcc") == null) {
                                                        root_9_0_1_0_0_tAFOX_2 = root_9_0_1_0_tAFOX_2
                                                                .addElement("level");
                                                    } else {
                                                        root_9_0_1_0_0_tAFOX_2 = root_9_0_1_0_tAFOX_2
                                                                .addElement("mcc:level");
                                                    }
                                                    root_9_0_1_0_0_tAFOX_2.setName("mcc:level");
                                                    org.dom4j.Element root_9_0_1_0_0_0_tAFOX_2;
                                                    if (root_9_0_1_0_0_tAFOX_2
                                                            .getNamespaceForPrefix("mcc") == null) {
                                                        root_9_0_1_0_0_0_tAFOX_2 = root_9_0_1_0_0_tAFOX_2
                                                                .addElement("MD_ScopeCode");
                                                    } else {
                                                        root_9_0_1_0_0_0_tAFOX_2 = root_9_0_1_0_0_tAFOX_2
                                                                .addElement("mcc:MD_ScopeCode");
                                                    }
                                                    root_9_0_1_0_0_0_tAFOX_2.addAttribute("codeList",
                                                            "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ScopeCode");
                                                    if (valueMap_tAFOX_2.get("scopeCode") != null) {
                                                        root_9_0_1_0_0_0_tAFOX_2.addAttribute("codeListValue",
                                                                valueMap_tAFOX_2.get("scopeCode"));
                                                    }
                                                    root_9_0_1_0_0_0_tAFOX_2.setName("mcc:MD_ScopeCode");
                                                    root4Group_tAFOX_2 = subTreeRootParent_tAFOX_2;
                                                } else {
                                                    subTreeRootParent_tAFOX_2 = root4Group_tAFOX_2;
                                                }
                                                // build group xml tree
                                                // build loop xml tree
                                                org.dom4j.Element loop_tAFOX_2;
                                                if (subTreeRootParent_tAFOX_2
                                                        .getNamespaceForPrefix("gfc") == null) {
                                                    loop_tAFOX_2 = org.dom4j.DocumentHelper
                                                            .createElement("carrierOfCharacteristics");
                                                } else {
                                                    loop_tAFOX_2 = org.dom4j.DocumentHelper
                                                            .createElement("gfc:carrierOfCharacteristics");
                                                }
                                                if (orders_tAFOX_2[0] == 0) {
                                                    orders_tAFOX_2[0] = 2;
                                                }
                                                if (1 < orders_tAFOX_2.length) {
                                                    orders_tAFOX_2[1] = 0;
                                                }
                                                subTreeRootParent_tAFOX_2.elements().add(orders_tAFOX_2[0]++,
                                                        loop_tAFOX_2);
                                                loop_tAFOX_2.setName("gfc:carrierOfCharacteristics");
                                                org.dom4j.Element loop_0_tAFOX_2;
                                                if (loop_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_tAFOX_2 = loop_tAFOX_2
                                                            .addElement("FC_FeatureAttribute");
                                                } else {
                                                    loop_0_tAFOX_2 = loop_tAFOX_2
                                                            .addElement("gfc:FC_FeatureAttribute");
                                                }
                                                loop_0_tAFOX_2.setName("gfc:FC_FeatureAttribute");
                                                org.dom4j.Element loop_0_0_tAFOX_2;
                                                if (loop_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_0_tAFOX_2 = loop_0_tAFOX_2.addElement("featureType");
                                                } else {
                                                    loop_0_0_tAFOX_2 = loop_0_tAFOX_2
                                                            .addElement("gfc:featureType");
                                                }
                                                loop_0_0_tAFOX_2.setName("gfc:featureType");
                                                org.dom4j.Element loop_0_0_0_tAFOX_2;
                                                if (loop_0_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_0_0_tAFOX_2 = loop_0_0_tAFOX_2
                                                            .addElement("FC_FeatureType");
                                                } else {
                                                    loop_0_0_0_tAFOX_2 = loop_0_0_tAFOX_2
                                                            .addElement("gfc:FC_FeatureType");
                                                }
                                                loop_0_0_0_tAFOX_2.setName("gfc:FC_FeatureType");
                                                org.dom4j.Element loop_0_0_0_0_tAFOX_2;
                                                if (loop_0_0_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_0_0_0_tAFOX_2 = loop_0_0_0_tAFOX_2
                                                            .addElement("typeName");
                                                } else {
                                                    loop_0_0_0_0_tAFOX_2 = loop_0_0_0_tAFOX_2
                                                            .addElement("gfc:typeName");
                                                }
                                                loop_0_0_0_0_tAFOX_2.setName("gfc:typeName");
                                                org.dom4j.Element loop_0_0_0_1_tAFOX_2;
                                                if (loop_0_0_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_0_0_1_tAFOX_2 = loop_0_0_0_tAFOX_2
                                                            .addElement("definition");
                                                } else {
                                                    loop_0_0_0_1_tAFOX_2 = loop_0_0_0_tAFOX_2
                                                            .addElement("gfc:definition");
                                                }
                                                loop_0_0_0_1_tAFOX_2.setName("gfc:definition");
                                                org.dom4j.Element loop_0_0_0_1_0_tAFOX_2;
                                                if (loop_0_0_0_1_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                                    loop_0_0_0_1_0_tAFOX_2 = loop_0_0_0_1_tAFOX_2
                                                            .addElement("CharacterString");
                                                } else {
                                                    loop_0_0_0_1_0_tAFOX_2 = loop_0_0_0_1_tAFOX_2
                                                            .addElement("gco:CharacterString");
                                                }
                                                if (valueMap_tAFOX_2.get("colType") != null) {
                                                    nestXMLTool_tAFOX_2.setText(loop_0_0_0_1_0_tAFOX_2,
                                                            valueMap_tAFOX_2.get("colType"));
                                                }
                                                loop_0_0_0_1_0_tAFOX_2.setName("gco:CharacterString");
                                                org.dom4j.Element loop_0_0_0_2_tAFOX_2;
                                                if (loop_0_0_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_0_0_2_tAFOX_2 = loop_0_0_0_tAFOX_2
                                                            .addElement("isAbstract");
                                                } else {
                                                    loop_0_0_0_2_tAFOX_2 = loop_0_0_0_tAFOX_2
                                                            .addElement("gfc:isAbstract");
                                                }
                                                loop_0_0_0_2_tAFOX_2.setName("gfc:isAbstract");
                                                org.dom4j.Element loop_0_0_0_2_0_tAFOX_2;
                                                if (loop_0_0_0_2_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                                    loop_0_0_0_2_0_tAFOX_2 = loop_0_0_0_2_tAFOX_2
                                                            .addElement("Boolean");
                                                } else {
                                                    loop_0_0_0_2_0_tAFOX_2 = loop_0_0_0_2_tAFOX_2
                                                            .addElement("gco:Boolean");
                                                }
                                                nestXMLTool_tAFOX_2.parseAndAdd(loop_0_0_0_2_0_tAFOX_2,
                                                        "false");

                                                loop_0_0_0_2_0_tAFOX_2.setName("gco:Boolean");
                                                org.dom4j.Element loop_0_1_tAFOX_2;
                                                if (loop_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_1_tAFOX_2 = loop_0_tAFOX_2
                                                            .addElement("constrainedBy");
                                                } else {
                                                    loop_0_1_tAFOX_2 = loop_0_tAFOX_2
                                                            .addElement("gfc:constrainedBy");
                                                }
                                                loop_0_1_tAFOX_2.setName("gfc:constrainedBy");
                                                org.dom4j.Element loop_0_1_0_tAFOX_2;
                                                if (loop_0_1_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_1_0_tAFOX_2 = loop_0_1_tAFOX_2
                                                            .addElement("FC_Constraint");
                                                } else {
                                                    loop_0_1_0_tAFOX_2 = loop_0_1_tAFOX_2
                                                            .addElement("gfc:FC_Constraint");
                                                }
                                                loop_0_1_0_tAFOX_2.setName("gfc:FC_Constraint");
                                                org.dom4j.Element loop_0_1_0_0_tAFOX_2;
                                                if (loop_0_1_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_1_0_0_tAFOX_2 = loop_0_1_0_tAFOX_2
                                                            .addElement("description");
                                                } else {
                                                    loop_0_1_0_0_tAFOX_2 = loop_0_1_0_tAFOX_2
                                                            .addElement("gfc:description");
                                                }
                                                loop_0_1_0_0_tAFOX_2.addAttribute("gco:nilReason", "missing");
                                                loop_0_1_0_0_tAFOX_2.setName("gfc:description");
                                                org.dom4j.Element loop_0_2_tAFOX_2;
                                                if (loop_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_2_tAFOX_2 = loop_0_tAFOX_2.addElement("memberName");
                                                } else {
                                                    loop_0_2_tAFOX_2 = loop_0_tAFOX_2
                                                            .addElement("gfc:memberName");
                                                }
                                                if (valueMap_tAFOX_2.get("colName") != null) {
                                                    nestXMLTool_tAFOX_2.setText(loop_0_2_tAFOX_2,
                                                            valueMap_tAFOX_2.get("colName"));
                                                }
                                                loop_0_2_tAFOX_2.setName("gfc:memberName");
                                                org.dom4j.Element loop_0_3_tAFOX_2;
                                                if (loop_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_3_tAFOX_2 = loop_0_tAFOX_2.addElement("definition");
                                                } else {
                                                    loop_0_3_tAFOX_2 = loop_0_tAFOX_2
                                                            .addElement("gfc:definition");
                                                }
                                                loop_0_3_tAFOX_2.setName("gfc:definition");
                                                org.dom4j.Element loop_0_3_0_tAFOX_2;
                                                if (loop_0_3_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                                    loop_0_3_0_tAFOX_2 = loop_0_3_tAFOX_2
                                                            .addElement("CharacterString");
                                                } else {
                                                    loop_0_3_0_tAFOX_2 = loop_0_3_tAFOX_2
                                                            .addElement("gco:CharacterString");
                                                }
                                                if (valueMap_tAFOX_2.get("colType") != null) {
                                                    nestXMLTool_tAFOX_2.setText(loop_0_3_0_tAFOX_2,
                                                            valueMap_tAFOX_2.get("colType"));
                                                }
                                                loop_0_3_0_tAFOX_2.setName("gco:CharacterString");
                                                org.dom4j.Element loop_0_4_tAFOX_2;
                                                if (loop_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_4_tAFOX_2 = loop_0_tAFOX_2.addElement("cardinality");
                                                } else {
                                                    loop_0_4_tAFOX_2 = loop_0_tAFOX_2
                                                            .addElement("gfc:cardinality");
                                                }
                                                loop_0_4_tAFOX_2.addAttribute("gco:nilReason", "missing");
                                                loop_0_4_tAFOX_2.setName("gfc:cardinality");
                                                org.dom4j.Element loop_0_4_0_tAFOX_2;
                                                if (loop_0_4_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                                    loop_0_4_0_tAFOX_2 = loop_0_4_tAFOX_2
                                                            .addElement("CharacterString");
                                                } else {
                                                    loop_0_4_0_tAFOX_2 = loop_0_4_tAFOX_2
                                                            .addElement("gco:CharacterString");
                                                }
                                                loop_0_4_0_tAFOX_2.setName("gco:CharacterString");
                                                org.dom4j.Element loop_0_5_tAFOX_2;
                                                if (loop_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_5_tAFOX_2 = loop_0_tAFOX_2.addElement("valueType");
                                                } else {
                                                    loop_0_5_tAFOX_2 = loop_0_tAFOX_2
                                                            .addElement("gfc:valueType");
                                                }
                                                loop_0_5_tAFOX_2.setName("gfc:valueType");
                                                org.dom4j.Element loop_0_5_0_tAFOX_2;
                                                if (loop_0_5_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                                    loop_0_5_0_tAFOX_2 = loop_0_5_tAFOX_2
                                                            .addElement("TypeName");
                                                } else {
                                                    loop_0_5_0_tAFOX_2 = loop_0_5_tAFOX_2
                                                            .addElement("gco:TypeName");
                                                }
                                                loop_0_5_0_tAFOX_2.setName("gco:TypeName");
                                                org.dom4j.Element loop_0_5_0_0_tAFOX_2;
                                                if (loop_0_5_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                                    loop_0_5_0_0_tAFOX_2 = loop_0_5_0_tAFOX_2
                                                            .addElement("aName");
                                                } else {
                                                    loop_0_5_0_0_tAFOX_2 = loop_0_5_0_tAFOX_2
                                                            .addElement("gco:aName");
                                                }
                                                loop_0_5_0_0_tAFOX_2.setName("gco:aName");
                                                org.dom4j.Element loop_0_5_0_0_0_tAFOX_2;
                                                if (loop_0_5_0_0_tAFOX_2.getNamespaceForPrefix("gco") == null) {
                                                    loop_0_5_0_0_0_tAFOX_2 = loop_0_5_0_0_tAFOX_2
                                                            .addElement("CharacterString");
                                                } else {
                                                    loop_0_5_0_0_0_tAFOX_2 = loop_0_5_0_0_tAFOX_2
                                                            .addElement("gco:CharacterString");
                                                }
                                                if (valueMap_tAFOX_2.get("colType") != null) {
                                                    nestXMLTool_tAFOX_2.setText(loop_0_5_0_0_0_tAFOX_2,
                                                            valueMap_tAFOX_2.get("colType"));
                                                }
                                                loop_0_5_0_0_0_tAFOX_2.setName("gco:CharacterString");
                                                org.dom4j.Element loop_0_6_tAFOX_2;
                                                if (loop_0_tAFOX_2.getNamespaceForPrefix("gfc") == null) {
                                                    loop_0_6_tAFOX_2 = loop_0_tAFOX_2.addElement("listedValue");
                                                } else {
                                                    loop_0_6_tAFOX_2 = loop_0_tAFOX_2
                                                            .addElement("gfc:listedValue");
                                                }
                                                loop_0_6_tAFOX_2.setName("gfc:listedValue");

                                                tos_count_tAdvancedFileOutputXML_2++;

                                                /**
                                                 * [tAdvancedFileOutputXML_2
                                                 * main ] stop
                                                 */

                                            } // End of branch "row4"

                                        } // C_01

                                        // end for
                                    }

                                } // End of branch "iso19115_3"

                            } // close loop of lookup 'metadataProperties'
                              // // G_TM_M_043

                            /**
                             * [sOGRInfoInput_3 end ] start
                             */

                            currentComponent = "sOGRInfoInput_3";

                            nb_line_sOGRInfoInput_3++;
                        }
                    }
                    // Delete current dataset
                    if (dataset_sOGRInfoInput_3 != null)
                        dataset_sOGRInfoInput_3.delete();

                    globalMap.put("sOGRInfoInput_3_NB_LINE", nb_line_sOGRInfoInput_3);
                    globalMap.put("sOGRInfoInput_3_NB_ERRORS", nbErrors_sOGRInfoInput_3);
                    globalMap.put("sOGRInfoInput_3_ERRORS", errors_sOGRInfoInput_3);

                    ok_Hash.put("sOGRInfoInput_3", true);
                    end_Hash.put("sOGRInfoInput_3", System.currentTimeMillis());

                    /**
                     * [sOGRInfoInput_3 end ] stop
                     */

                    /**
                     * [tReplaceList_1 end ] start
                     */

                    currentComponent = "tReplaceList_1";

                    ok_Hash.put("tReplaceList_1", true);
                    end_Hash.put("tReplaceList_1", System.currentTimeMillis());

                    /**
                     * [tReplaceList_1 end ] stop
                     */

                    /**
                     * [tLogRow_1 end ] start
                     */

                    currentComponent = "tLogRow_1";

                    ok_Hash.put("tLogRow_1", true);
                    end_Hash.put("tLogRow_1", System.currentTimeMillis());

                    /**
                     * [tLogRow_1 end ] stop
                     */

                    /**
                     * [tMap_1 end ] start
                     */

                    currentComponent = "tMap_1";

                    // ###############################
                    // # Lookup hashes releasing
                    // ###############################

                    ok_Hash.put("tMap_1", true);
                    end_Hash.put("tMap_1", System.currentTimeMillis());

                    /**
                     * [tMap_1 end ] stop
                     */

                    /**
                     * [tNormalize_1 end ] start
                     */

                    currentComponent = "tNormalize_1";

                    globalMap.put("tNormalize_1_NB_LINE", nb_line_tNormalize_1);

                    ok_Hash.put("tNormalize_1", true);
                    end_Hash.put("tNormalize_1", System.currentTimeMillis());

                    /**
                     * [tNormalize_1 end ] stop
                     */

                    /**
                     * [tExtractDelimitedFields_3 end ] start
                     */

                    currentComponent = "tExtractDelimitedFields_3";

                    globalMap.put("tExtractDelimitedFields_3_NB_LINE", nb_line_tExtractDelimitedFields_3);

                    ok_Hash.put("tExtractDelimitedFields_3", true);
                    end_Hash.put("tExtractDelimitedFields_3", System.currentTimeMillis());

                    /**
                     * [tExtractDelimitedFields_3 end ] stop
                     */

                    /**
                     * [tLogRow_2 end ] start
                     */

                    currentComponent = "tLogRow_2";

                    ok_Hash.put("tLogRow_2", true);
                    end_Hash.put("tLogRow_2", System.currentTimeMillis());

                    /**
                     * [tLogRow_2 end ] stop
                     */

                    /**
                     * [tAdvancedFileOutputXML_2 end ] start
                     */

                    currentComponent = "tAdvancedFileOutputXML_2";

                    java.io.FileOutputStream stream_tAFOX_2 = new java.io.FileOutputStream(fileName_tAFOX_2);
                    org.dom4j.io.XMLWriter output_tAFOX_2 = new org.dom4j.io.XMLWriter(stream_tAFOX_2,
                            format_tAFOX_2);
                    if (doc_tAFOX_2.getRootElement() != null) {
                        nestXMLTool_tAFOX_2.replaceDefaultNameSpace(doc_tAFOX_2.getRootElement());
                        output_tAFOX_2.write(doc_tAFOX_2);
                    }
                    output_tAFOX_2.close();
                    globalMap.put("tAdvancedFileOutputXML_2_NB_LINE", nb_line_tAFOX_2);

                    ok_Hash.put("tAdvancedFileOutputXML_2", true);
                    end_Hash.put("tAdvancedFileOutputXML_2", System.currentTimeMillis());

                    /**
                     * [tAdvancedFileOutputXML_2 end ] stop
                     */

                    /**
                     * [sOGRInfoInput_1 end ] start
                     */

                    currentComponent = "sOGRInfoInput_1";

                    nb_line_sOGRInfoInput_1++;
                }
            }
            // Delete current dataset
            if (dataset_sOGRInfoInput_1 != null)
                dataset_sOGRInfoInput_1.delete();

            globalMap.put("sOGRInfoInput_1_NB_LINE", nb_line_sOGRInfoInput_1);
            globalMap.put("sOGRInfoInput_1_NB_ERRORS", nbErrors_sOGRInfoInput_1);
            globalMap.put("sOGRInfoInput_1_ERRORS", errors_sOGRInfoInput_1);

            ok_Hash.put("sOGRInfoInput_1", true);
            end_Hash.put("sOGRInfoInput_1", System.currentTimeMillis());

            /**
             * [sOGRInfoInput_1 end ] stop
             */

            /**
             * [tFlowToIterate_1 end ] start
             */

            currentComponent = "tFlowToIterate_1";

            globalMap.put("tFlowToIterate_1_NB_LINE", nb_line_tFlowToIterate_1);

            ok_Hash.put("tFlowToIterate_1", true);
            end_Hash.put("tFlowToIterate_1", System.currentTimeMillis());

            /**
             * [tFlowToIterate_1 end ] stop
             */

        } // end the resume

    } catch (java.lang.Exception e) {

        TalendException te = new TalendException(e, currentComponent, globalMap);

        throw te;
    } catch (java.lang.Error error) {

        throw error;
    } finally {

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_metadataProperties");

        // free memory for "tReplaceList_1"
        globalMap.remove("tHash_geometryType");

        try {

            /**
             * [sOGRInfoInput_1 finally ] start
             */

            currentComponent = "sOGRInfoInput_1";

            /**
             * [sOGRInfoInput_1 finally ] stop
             */

            /**
             * [tFlowToIterate_1 finally ] start
             */

            currentComponent = "tFlowToIterate_1";

            /**
             * [tFlowToIterate_1 finally ] stop
             */

            /**
             * [sOGRInfoInput_3 finally ] start
             */

            currentComponent = "sOGRInfoInput_3";

            /**
             * [sOGRInfoInput_3 finally ] stop
             */

            /**
             * [tReplaceList_1 finally ] start
             */

            currentComponent = "tReplaceList_1";

            /**
             * [tReplaceList_1 finally ] stop
             */

            /**
             * [tLogRow_1 finally ] start
             */

            currentComponent = "tLogRow_1";

            /**
             * [tLogRow_1 finally ] stop
             */

            /**
             * [tMap_1 finally ] start
             */

            currentComponent = "tMap_1";

            /**
             * [tMap_1 finally ] stop
             */

            /**
             * [tNormalize_1 finally ] start
             */

            currentComponent = "tNormalize_1";

            /**
             * [tNormalize_1 finally ] stop
             */

            /**
             * [tExtractDelimitedFields_3 finally ] start
             */

            currentComponent = "tExtractDelimitedFields_3";

            /**
             * [tExtractDelimitedFields_3 finally ] stop
             */

            /**
             * [tLogRow_2 finally ] start
             */

            currentComponent = "tLogRow_2";

            /**
             * [tLogRow_2 finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_2";

            /**
             * [tAdvancedFileOutputXML_2 finally ] stop
             */

        } catch (java.lang.Exception e) {
            // ignore
        } catch (java.lang.Error error) {
            // ignore
        }
        resourceMap = null;
    }

    globalMap.put("sOGRInfoInput_1_SUBPROCESS_STATE", 1);
}

From source file:org.infoglue.igide.editor.IGMultiPageEditor.java

License:Open Source License

/**
 * Saves the multi-page editor's document.
 *//*from w ww  . java2s .  co  m*/
public void doSave(IProgressMonitor monitor) {
    Logger.logConsole("YES - doSave: " + monitor + ":" + isReloadCMSPushCall);
    saving = true;
    boolean dirtyflag = isDirty();
    Utils.getMonitor(monitor).beginTask("Saving content to CMS", 100);

    for (int i = 0; i < getPageCount(); i++) {
        IEditorPart editor = getEditor(i);
        editor.doSave(monitor);

    }

    Logger.logConsole("Saved each editor part...");
    Utils.getMonitor(monitor).worked(25);
    InfoglueEditorInput input = getInfoglueEditorInput();
    Logger.logConsole("input: " + input);
    input.getContent().doSave(monitor);
    System.out.println("isReloadCMSPushCall: " + isReloadCMSPushCall);
    if (!isReloadCMSPushCall)
        try {
            Logger.logConsole("saveLocalXML called");
            ContentVersion cv = InfoglueCMS.getProjectContentVersion(
                    input.getContent().getNode().getProject().getName(), input.getContent().getNode().getId());

            SAXReader reader = new SAXReader();

            Document document = reader.read(new StringReader(cv.getValue()));
            Map<String, String> namespaceUris = new HashMap<String, String>();
            namespaceUris.put("art", "x-schema:ArticleSchema.xml");

            XPath xPath = DocumentHelper.createXPath("/art:article/art:attributes");
            xPath.setNamespaceURIs(namespaceUris);

            Element attributesNode = (Element) xPath.selectSingleNode(document); //(Element)document.selectSingleNode("/article/attributes");

            @SuppressWarnings("unchecked")
            List<Element> attributes = attributesNode.elements();//document.selectNodes("//attributes/*");

            EditableInfoglueContent content = input.getContent();
            final ArrayList<String> contentAttributes = content.getAttributesOrder();

            Map<String, Element> attributeMap = new HashMap<String, Element>();

            // This loop remove elements from the DOM element
            for (Element attribute : attributes) {
                // DOM4j will shorten empty attributes, which is not good for InfoGlue
                if ("".equals(attribute.getText())) {
                    attribute.clearContent();
                    attribute.addCDATA("");
                }

                if (attributeMap.containsKey(attribute.getName())) {
                    Logger.logConsole("Found duplicate attribute. Removing it. Name: " + attribute.getName());
                    attributesNode.remove(attribute);
                } else {
                    String attributeName = attribute.getName();
                    if (contentAttributes.contains(attributeName)) {
                        attributeMap.put(attributeName, attribute);
                    } else if (!"IGAuthorFullName".equals(attributeName)
                            && !"IGAuthorEmail".equals(attributeName)) {
                        Logger.logConsole(
                                "Found attribute in version that is not in the content type. Removing. Name: "
                                        + attributeName);
                        attributesNode.remove(attribute);
                    }
                }
            }

            // This loop add elements to the DOM element
            for (int i = 0; i < getPageCount(); i++) {
                IEditorPart editor = getEditor(i);
                editor.doSave(monitor);
                IEditorInput editorInput = editor.getEditorInput();
                AttributeEditorInput attributeInput = null;
                if (editorInput instanceof AttributeEditorInput) {
                    attributeInput = (AttributeEditorInput) editorInput;
                    ContentTypeAttribute cta = attributeInput.getAttribute();
                    Element attributeNode = attributeMap.get(cta.getName());
                    if (attributeNode == null) {
                        Logger.logConsole("Found no attribute for editor, name: " + cta.getName());
                        Element attributeElement = attributesNode.addElement(cta.getName());
                        attributeElement.clearContent();
                        attributeElement.addCDATA(cta.getValue());
                    } else {
                        System.out.println("Setting value: " + cta.getValue() + " on node: " + cta.getName());
                        attributeNode.clearContent();
                        attributeNode.addCDATA(cta.getValue());
                    }
                }
            }

            // Sort the attributes
            attributes = (List<Element>) attributesNode.elements();
            Collections.sort(attributes, new Comparator<Element>() {
                @Override
                public int compare(Element element1, Element element2) {
                    int index1 = contentAttributes.indexOf(element1);
                    int index2 = contentAttributes.indexOf(element2);

                    if (index1 != -1 && index2 != -1) {
                        return index1 - index2;
                    } else if (index1 == -1 && index2 != -1) {
                        return 1;
                    } else if (index1 != -1 && index2 == -1) {
                        return -1;
                    } else {
                        return 0;
                    }
                }
            });

            // Re-set the attributes after manipulation and sorting
            attributesNode.setContent(attributes);

            cv.setValue(document.asXML());

            InfoglueCMS.saveLocalXML(input.getContent().getNode(), cv);
            Logger.logConsole((new StringBuilder("Part in doSave:")).append(cv.getValue().substring(113, 200))
                    .toString());
        } catch (Exception e) {
            Logger.logConsole("Error in saveLocal");
            System.out.println("Exception: " + e.getMessage() + ", class: " + e.getClass());
            e.printStackTrace();
        }
    Utils.getMonitor(monitor).worked(100);
    Utils.getMonitor(monitor).done();
    saving = false;
}