
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
    xmlns:dd29="https://dd.info-rac.org/namespace.jsp?ns_id=29" xmlns:dd66="https://dd.info-rac.org/namespace.jsp?ns_id=66">
    <xsl:output method="xml"/>

    <xsl:template match="/">
<delivery>        <xsl:apply-templates select="dd29:ind_4_3_records/dd29:Row"/>
</delivery>    </xsl:template>

    <xsl:template match="dd29:ind_4_3_records/dd29:Row">
        <xsl:if test="position()=1">
            <xsl:call-template name="table-def"/>
<xsl:text disable-output-escaping="yes">&lt;data&gt;</xsl:text>        </xsl:if>

<row>
   <xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="row" select="."></xsl:variable>
   <xsl:for-each xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="$elementsMetadata/element">
      <xsl:variable name="elemIdentifier">
         <xsl:value-of select="identifier"></xsl:value-of>
      </xsl:variable><xsl:text disable-output-escaping="yes">&lt;</xsl:text><xsl:value-of select="$elemIdentifier"/><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
      <xsl:variable name="multiValueSeparator">
         <xsl:call-template name="getSeparator">
            <xsl:with-param name="element" select="$elemIdentifier"></xsl:with-param>
         </xsl:call-template>
      </xsl:variable>
      <xsl:choose>
         <xsl:when test="count($row/*[local-name()= $elemIdentifier])=0 or string-join($row/*[local-name()= $elemIdentifier ],'')=''"></xsl:when>
         <xsl:otherwise>
            <xsl:value-of select="string-join($row/*[local-name()= $elemIdentifier ],$multiValueSeparator)"></xsl:value-of>
         </xsl:otherwise>
      </xsl:choose><xsl:text disable-output-escaping="yes">&lt;/</xsl:text><xsl:value-of select="$elemIdentifier"/><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
   </xsl:for-each>
</row>        <xsl:if test="position()=last()">
<xsl:text disable-output-escaping="yes">&lt;/data&gt;</xsl:text>        </xsl:if>
</xsl:template>

<xsl:template name="table-def">

<table><elem>
<name>reportID</name>
<type>string</type>
<length>100</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>rowID</name>
<type>string</type>
<length>100</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>hydrologicalBasin</name>
<type>string</type>
<length>3</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>coastalAgglomeration</name>
<type>string</type>
<length>3</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>year</name>
<type>integer</type>
<length>4</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Total_UWW_Generated_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Total_UWW_Generated_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Total_Volume_Discharged_MWWTP_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Total_Volume_Discharged_MWWTP_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Estimated_BOD_Load_Treat</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Estimated_TN_Load_Treat</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Estimated_TP_Load_Treat</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Total_Volume_Untreated_WW_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>BOD_Load_MWW_Untreated_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>TN_Load_MWW_Untreated_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>TP_Load_MWW_Untreated_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Total_BOD_Load_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>TN_Load_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>TP_Load_Hydro_Coast</name>
<type>integer</type>
<length>10</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>water_collection_method</name>
<type>integer</type>
<length>3</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>remarks</name>
<type>string</type>
<length>4096</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem></table></xsl:template>

<xsl:template xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="getSeparator">
   <xsl:param name="element" select="''"></xsl:param>
   <xsl:value-of select="','"></xsl:value-of>
</xsl:template>
<xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="elementsMetadata">
   <element>
      <elementid>607</elementid>
      <identifier>reportID</identifier>
      <parentNS>66</parentNS>
      <type>string</type>
      <length>100</length>
      <precision></precision>
   </element>
   <element>
      <elementid>608</elementid>
      <identifier>rowID</identifier>
      <parentNS>66</parentNS>
      <type>string</type>
      <length>100</length>
      <precision></precision>
   </element>
   <element>
      <elementid>742</elementid>
      <identifier>hydrologicalBasin</identifier>
      <parentNS>66</parentNS>
      <type>string</type>
      <length>3</length>
      <precision></precision>
   </element>
   <element>
      <elementid>743</elementid>
      <identifier>coastalAgglomeration</identifier>
      <parentNS>66</parentNS>
      <type>string</type>
      <length>3</length>
      <precision></precision>
   </element>
   <element>
      <elementid>744</elementid>
      <identifier>year</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>4</length>
      <precision></precision>
   </element>
   <element>
      <elementid>748</elementid>
      <identifier>Total_UWW_Generated_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>749</elementid>
      <identifier>Total_UWW_Generated_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>750</elementid>
      <identifier>Total_Volume_Discharged_MWWTP_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>751</elementid>
      <identifier>Total_Volume_Discharged_MWWTP_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>752</elementid>
      <identifier>Estimated_BOD_Load_Treat</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>753</elementid>
      <identifier>Estimated_TN_Load_Treat</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>754</elementid>
      <identifier>Estimated_TP_Load_Treat</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>755</elementid>
      <identifier>Total_Volume_Untreated_WW_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>756</elementid>
      <identifier>BOD_Load_MWW_Untreated_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>757</elementid>
      <identifier>TN_Load_MWW_Untreated_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>758</elementid>
      <identifier>TP_Load_MWW_Untreated_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>759</elementid>
      <identifier>Total_BOD_Load_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>760</elementid>
      <identifier>TN_Load_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>761</elementid>
      <identifier>TP_Load_Hydro_Coast</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>10</length>
      <precision></precision>
   </element>
   <element>
      <elementid>762</elementid>
      <identifier>water_collection_method</identifier>
      <parentNS>66</parentNS>
      <type>integer</type>
      <length>3</length>
      <precision></precision>
   </element>
   <element>
      <elementid>763</elementid>
      <identifier>remarks</identifier>
      <parentNS>66</parentNS>
      <type>string</type>
      <length>4096</length>
      <precision></precision>
   </element>
</xsl:variable>
</xsl:stylesheet>
