Example usage for org.dom4j Element attributes

List of usage examples for org.dom4j Element attributes

Introduction

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

Prototype

List<Attribute> attributes();

Source Link

Document

Returns the Attribute instances this element contains as a backed List so that the attributes may be modified directly using the List interface.

Usage

From source file:cz.muni.stanse.utils.xmlpatterns.XMLPattern.java

License:GNU General Public License

private static boolean matchingElements(final Element XMLpivot, final Element XMLelement,
        final XMLPatternVariablesAssignment varsAssignment) {
    if (XMLpivot.getName().equals("nested")) {
        final String elementName = XMLelement.getName();
        for (final Iterator<Attribute> j = XMLpivot.attributeIterator(); j.hasNext();)
            if (elementName.equals(j.next().getValue()))
                return false;
        return onNested(XMLpivot, XMLelement, varsAssignment);
    }/*from   ww  w.  j a v  a  2s.  c  om*/
    if (XMLpivot.getName().equals("ignore"))
        return true;
    if (XMLpivot.getName().equals("var")) {
        if (!satisfyVarConstraints(XMLelement.getName(), XMLpivot.attribute("match"),
                XMLpivot.attribute("except")))
            return false;
        varsAssignment.put(XMLpivot.attribute("name").getValue(), XMLelement);
        return true;
    }

    if (!XMLpivot.getName().equals(XMLelement.getName()))
        return false;
    if (!matchingAttributes(XMLpivot.attributes(), XMLelement))
        return false;
    if (XMLpivot.isTextOnly() != XMLelement.isTextOnly())
        return false;
    if (XMLpivot.isTextOnly() && !XMLpivot.getText().equals(XMLelement.getText()))
        return false;

    final Iterator<Element> i = XMLpivot.elementIterator();
    final Iterator<Element> j = XMLelement.elementIterator();
    while (i.hasNext() && j.hasNext()) {
        final Element pivotNext = i.next();
        if (pivotNext.getName().equals("any"))
            return true;
        if (!matchingElements(pivotNext, j.next(), varsAssignment))
            return false;
    }
    if (i.hasNext() || j.hasNext())
        return false;

    return true;
}

From source file:dkpro.similarity.uima.io.RTECorpusReader.java

License:Apache License

@Override
public List<CombinationPair> getAlignedPairs() throws ResourceInitializationException {
    List<CombinationPair> pairs = new ArrayList<CombinationPair>();

    SAXReader reader = null;//w  w  w  .  j  a v  a2 s  .c o  m
    InputStream is = null;
    URL url;
    try {
        reader = new SAXReader(false);

        // Disable DTD resolution (which fails due to relative path to DTD file)
        NullEntityResolver resolver = new NullEntityResolver();
        reader.setEntityResolver(resolver);

        url = ResourceUtils.resolveLocation(inputFile, this, this.getUimaContext());
        Document document = reader.read(new BufferedInputStream(url.openStream()));
        Element root = document.getRootElement();

        final XPath pairXPath = new Dom4jXPath("//pair");

        int i = 0;
        for (Object element : pairXPath.selectNodes(root)) {
            i++;
            String text1 = "";
            String text2 = "";
            String entailmentOutcome = "";
            if (element instanceof Element) {
                Element node = (Element) element;

                String tXPath = "child::t";

                for (Object tElement : new Dom4jXPath(tXPath).selectNodes(node)) {
                    if (tElement instanceof Element) {
                        text1 = ((Element) tElement).getText();
                    }
                }

                String hXPath = "child::h";

                for (Object hElement : new Dom4jXPath(hXPath).selectNodes(node)) {
                    if (hElement instanceof Element) {
                        text2 = ((Element) hElement).getText();
                    }
                }

                // print out entailment value for use as gold standard
                for (Object o : node.attributes()) {
                    Attribute attribute = (Attribute) o;
                    String name = attribute.getName().toLowerCase();
                    if (name.equals("value") || name.equals("entailment")) {
                        entailmentOutcome = attribute.getValue();
                        System.out.println(i + ":" + entailmentOutcome);
                    }
                }
            }

            EntailmentPair pair = new EntailmentPair(url.toString());
            pair.setID1("t1-" + i);
            pair.setID2("t2-" + i);
            pair.setText1(text1);
            pair.setText2(text2);
            pair.setEntailmentOutcome(entailmentOutcome);

            pairs.add(pair);
        }
    } catch (JaxenException e) {
        throw new ResourceInitializationException(e);
    } catch (DocumentException e) {
        throw new ResourceInitializationException(e);
    } catch (IOException e) {
        throw new ResourceInitializationException(e);
    } finally {
        IOUtils.closeQuietly(is);
    }

    return pairs;
}

From source file:edu.scripps.fl.pubchem.xml.PubChemXMLDoc.java

License:Apache License

public void fixAttribute(Document doc) {
    Element documentRoot = (Element) doc.selectSingleNode("PC-AssayContainer");
    List<Attribute> attributes = documentRoot.attributes();
    documentRoot.remove(attributes.get(0));
    documentRoot.addAttribute("xs:schemaLocation",
            "http://www.ncbi.nlm.nih.gov ftp://ftp.ncbi.nlm.nih.gov/pubchem/specifications/pubchem.xsd");
}

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 {/*  ww  w.  ja 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;

            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:eu.planets_project.pp.plato.util.XMLCompare.java

License:Open Source License

private boolean compareTrees(Element node1, Document doc2, boolean ignoreEmptyNodes,
        boolean ignoreEmptyAttributes) {
    boolean isValid = true;

    Element root2 = doc2.getRootElement();

    String path = node1.getUniquePath();

    Element elementDoc2 = (Element) doc2.selectSingleNode(path);

    // the node doesn't exist in doc2
    if (elementDoc2 == null && node1.elements().size() == 0 && "".equals(node1.getTextTrim())) {
        if (ignoreEmptyNodes == false) {
            errorMessages//from   ww w .  j av  a 2 s . c o m
                    .append("The following empty node doesnt exist in xml file #2: " + node1.getUniquePath())
                    .append(System.getProperty("line.separator"));
            isValid = false;
        }
    } else if (elementDoc2 == null && (node1.elements().size() > 0 || !"".equals(node1.getTextTrim()))) {
        errorMessages.append("The following node (which is not empty) doesn't exist in xml file #2: "
                + node1.getUniquePath() + System.getProperty("line.separator"));
        errorMessages.append("File #1: " + node1.getTextTrim() + System.getProperty("line.separator"));
        errorMessages
                .append("File #2: " + ((elementDoc2 == null) ? "<not existent>" : elementDoc2.getTextTrim())
                        + System.getProperty("line.separator"));

        isValid = false;
    } else if (elementDoc2 == null || !elementDoc2.getTextTrim().equals(node1.getTextTrim())) {
        errorMessages.append("Text of following nodes not equal in both xmls: " + node1.getUniquePath()
                + System.getProperty("line.separator"));
        errorMessages.append("File #1: " + node1.getTextTrim() + System.getProperty("line.separator"));
        errorMessages
                .append("File #2: " + ((elementDoc2 == null) ? "<not existent>" : elementDoc2.getTextTrim())
                        + System.getProperty("line.separator"));

        isValid = false;
    }

    //
    // compare attributes
    //
    List<Attribute> attributes = node1.attributes();

    for (Attribute a : attributes) {

        String attributePath = a.getUniquePath();

        org.dom4j.Node node = root2.selectSingleNode(attributePath);

        if (node == null && "".equals(a.getValue().trim())) {
            // document 1 has an empty attribute (sting length = 0) which
            // does not exist in document 2

            if (ignoreEmptyAttributes == false) {
                errorMessages.append(
                        "Attribute " + a.getName() + " doesn't exist in xml file #2, node " + a.getUniquePath())
                        .append(System.getProperty("line.separator"));
                isValid = false;
            }

            continue;
        }

        if (node == null || !a.getValue().equals(node.getText())) {

            errorMessages.append("Value of following attribute not equal in both xmls: " + a.getUniquePath()
                    + System.getProperty("line.separator"));
            errorMessages.append("File #1: " + a.getValue() + System.getProperty("line.separator"));
            errorMessages.append("File #2: " + ((node != null) ? node.getText() : "<not existent>")
                    + System.getProperty("line.separator"));

            isValid = false;
        }
    }

    List<Element> elements = node1.elements();

    for (Element e : elements) {
        if (!compareTrees(e, doc2, ignoreEmptyNodes, ignoreEmptyAttributes)) {
            isValid = false;
        }
    }

    return isValid;
}

From source file:fr.gouv.culture.vitam.utils.XmlDom.java

License:Open Source License

/**
 * /*from  ww  w. j a v a 2  s .c o m*/
 * @param source
 *            what we are going to add
 * @param target
 *            where we are going to add
 */
public static void checkPresence(Element source, Element target) {
    if (target.selectSingleNode("./" + source.getName()) != null) {
        // node already there so checking sub node if any
        @SuppressWarnings("unchecked")
        List<Element> listElements = source.elements();
        @SuppressWarnings("unchecked")
        List<Attribute> listAttributes = source.attributes();
        Element newSource = (Element) target.selectSingleNode("./" + source.getName());
        if (newSource != null) {
            for (Attribute attribute : listAttributes) {
                checkPresence(attribute, newSource);
            }
            for (Element element : listElements) {
                checkPresence(element, newSource);
            }
        }
    } else {
        source.detach();
        target.add(source);
    }
}

From source file:fr.gouv.vitam.xml.XmlDom4jTools.java

License:Open Source License

/**
 * //from  w  w w.  jav  a2s  .c  om
 * @param source
 *            what we are going to add
 * @param target
 *            where we are going to add
 */
public static final void checkPresence(Element source, Element target) {
    if (target.selectSingleNode("./" + source.getName()) != null) {
        // node already there so checking sub node if any
        @SuppressWarnings("unchecked")
        List<Element> listElements = source.elements();
        @SuppressWarnings("unchecked")
        List<Attribute> listAttributes = source.attributes();
        Element newSource = (Element) target.selectSingleNode("./" + source.getName());
        if (newSource != null) {
            for (Attribute attribute : listAttributes) {
                checkPresence(attribute, newSource);
            }
            for (Element element : listElements) {
                checkPresence(element, newSource);
            }
        }
    } else {
        source.detach();
        target.add(source);
    }
}

From source file:freemarker.ext.xml._Dom4jNavigator.java

License:Apache License

void getAttributes(Object node, String localName, String namespaceUri, List result) {
    if (node instanceof Element) {
        Element e = (Element) node;
        if (localName == null) {
            result.addAll(e.attributes());
        } else {//from   www. j  ava 2s.com
            Attribute attr = e
                    .attribute(e.getQName().getDocumentFactory().createQName(localName, "", namespaceUri));
            if (attr != null) {
                result.add(attr);
            }
        }
    } else if (node instanceof ProcessingInstruction) {
        ProcessingInstruction pi = (ProcessingInstruction) node;
        if ("target".equals(localName)) {
            result.add(new DefaultAttribute("target", pi.getTarget()));
        } else if ("data".equals(localName)) {
            result.add(new DefaultAttribute("data", pi.getText()));
        } else {
            result.add(new DefaultAttribute(localName, pi.getValue(localName)));
        }
    } else if (node instanceof DocumentType) {
        DocumentType doctype = (DocumentType) node;
        if ("publicId".equals(localName)) {
            result.add(new DefaultAttribute("publicId", doctype.getPublicID()));
        } else if ("systemId".equals(localName)) {
            result.add(new DefaultAttribute("systemId", doctype.getSystemID()));
        } else if ("elementName".equals(localName)) {
            result.add(new DefaultAttribute("elementName", doctype.getElementName()));
        }
    }
}

From source file:job.tot.xml.DOM4JConfiguration.java

License:Apache License

/**
 * Loads and initializes from the XML file.
 *
 * @param element The element to start processing from.  Callers
 * should supply the root element of the document.
 * @param hierarchy// w w  w.  j a va 2 s.c om
 */
private void initProperties(Element element, StringBuffer hierarchy) {
    for (Iterator it = element.elementIterator(); it.hasNext();) {
        StringBuffer subhierarchy = new StringBuffer(hierarchy.toString());
        Element child = (Element) it.next();
        String nodeName = child.getName();
        String nodeValue = child.getTextTrim();
        subhierarchy.append(nodeName);
        if (nodeValue.length() > 0) {
            super.addProperty(subhierarchy.toString(), nodeValue);
        }

        // Add attributes as x.y{ATTRIB_START_MARKER}att{ATTRIB_END_MARKER}
        List attributes = child.attributes();
        for (int j = 0, k = attributes.size(); j < k; j++) {
            Attribute a = (Attribute) attributes.get(j);
            String attName = subhierarchy.toString() + '[' + ATTRIB_MARKER + a.getName() + ']';
            String attValue = a.getValue();
            super.addProperty(attName, attValue);
        }
        StringBuffer buf = new StringBuffer(subhierarchy.toString());
        initProperties(child, buf.append('.'));
    }
}

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 .java 2s  . 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);

            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);
}