
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
    xmlns:dd802="https://dd.eionet.europa.eu/namespace.jsp?ns_id=802" xmlns:dd820="https://dd.eionet.europa.eu/namespace.jsp?ns_id=820">
    <xsl:output method="xml"/>

    <xsl:template match="/">
<delivery>        <xsl:apply-templates select="dd802:Agglomerations/dd802:Row"/>
</delivery>    </xsl:template>

    <xsl:template match="dd802:Agglomerations/dd802: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>aggState</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>repCode</name>
<type>string</type>
<length>16</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggCode</name>
<type>string</type>
<length>32</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggName</name>
<type>string</type>
<length>255</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggNUTS</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggLatitude</name>
<type>decimal</type>
<length>18</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggLongitude</name>
<type>decimal</type>
<length>18</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggGenerated</name>
<type>integer</type>
<length>9</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>bigCityID</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggCalculation</name>
<type>string</type>
<length>4096</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggChanges</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggChangesComment</name>
<type>string</type>
<length>4096</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggPeriodOver</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggDateArt3</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggDateArt4</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggDateArt5</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggC1</name>
<type>decimal</type>
<length>18</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggMethodC1</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggC2</name>
<type>decimal</type>
<length>18</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggMethodC2</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggPercWithoutTreatment</name>
<type>decimal</type>
<length>18</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggMethodWithoutTreatment</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggPercPrimTreatment</name>
<type>decimal</type>
<length>18</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggPercSecTreatment</name>
<type>decimal</type>
<length>18</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggPercStringentTreatment</name>
<type>decimal</type>
<length>18</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggHaveRegistrationSystem</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggExistMaintenancePlan</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggPressureTest</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggVideoInspections</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggOtherMeasures</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggExplanationOther</name>
<type>string</type>
<length>4096</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggSewageNetwork</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggBestTechnicalKnowledge</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggDilutionRates</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggCapacity</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggAccOverflows</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggAccOverflowNumber</name>
<type>integer</type>
<length>9</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggSewerOverflows_m3</name>
<type>integer</type>
<length>9</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggSewerOverflows_pe</name>
<type>integer</type>
<length>9</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggForecast</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggBeginLife</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggEndLife</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggHyperlink</name>
<type>string</type>
<length>255</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>aggRemarks</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>101825</elementid>
      <identifier>aggState</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101864</elementid>
      <identifier>repCode</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>16</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101708</elementid>
      <identifier>aggCode</identifier>
      <parentNS>820</parentNS>
      <type>string</type>
      <length>32</length>
      <precision></precision>
   </element>
   <element>
      <elementid>94180</elementid>
      <identifier>aggName</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101703</elementid>
      <identifier>aggNUTS</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101838</elementid>
      <identifier>aggLatitude</identifier>
      <parentNS>820</parentNS>
      <type>decimal</type>
      <length>18</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101776</elementid>
      <identifier>aggLongitude</identifier>
      <parentNS>820</parentNS>
      <type>decimal</type>
      <length>18</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101731</elementid>
      <identifier>aggGenerated</identifier>
      <parentNS>820</parentNS>
      <type>integer</type>
      <length>9</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101843</elementid>
      <identifier>bigCityID</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101786</elementid>
      <identifier>aggCalculation</identifier>
      <parentNS>820</parentNS>
      <type>string</type>
      <length>4096</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101781</elementid>
      <identifier>aggChanges</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101793</elementid>
      <identifier>aggChangesComment</identifier>
      <parentNS>820</parentNS>
      <type>string</type>
      <length>4096</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101827</elementid>
      <identifier>aggPeriodOver</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101655</elementid>
      <identifier>aggDateArt3</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101704</elementid>
      <identifier>aggDateArt4</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101702</elementid>
      <identifier>aggDateArt5</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101830</elementid>
      <identifier>aggC1</identifier>
      <parentNS>820</parentNS>
      <type>decimal</type>
      <length>18</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101794</elementid>
      <identifier>aggMethodC1</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101822</elementid>
      <identifier>aggC2</identifier>
      <parentNS>820</parentNS>
      <type>decimal</type>
      <length>18</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101760</elementid>
      <identifier>aggMethodC2</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101808</elementid>
      <identifier>aggPercWithoutTreatment</identifier>
      <parentNS>820</parentNS>
      <type>decimal</type>
      <length>18</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101818</elementid>
      <identifier>aggMethodWithoutTreatment</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101820</elementid>
      <identifier>aggPercPrimTreatment</identifier>
      <parentNS>820</parentNS>
      <type>decimal</type>
      <length>18</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101814</elementid>
      <identifier>aggPercSecTreatment</identifier>
      <parentNS>820</parentNS>
      <type>decimal</type>
      <length>18</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101824</elementid>
      <identifier>aggPercStringentTreatment</identifier>
      <parentNS>820</parentNS>
      <type>decimal</type>
      <length>18</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101834</elementid>
      <identifier>aggHaveRegistrationSystem</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101847</elementid>
      <identifier>aggExistMaintenancePlan</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101854</elementid>
      <identifier>aggPressureTest</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101841</elementid>
      <identifier>aggVideoInspections</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101774</elementid>
      <identifier>aggOtherMeasures</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101791</elementid>
      <identifier>aggExplanationOther</identifier>
      <parentNS>820</parentNS>
      <type>string</type>
      <length>4096</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101744</elementid>
      <identifier>aggSewageNetwork</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101695</elementid>
      <identifier>aggBestTechnicalKnowledge</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101690</elementid>
      <identifier>aggDilutionRates</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101638</elementid>
      <identifier>aggCapacity</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101740</elementid>
      <identifier>aggAccOverflows</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101714</elementid>
      <identifier>aggAccOverflowNumber</identifier>
      <parentNS>820</parentNS>
      <type>integer</type>
      <length>9</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101721</elementid>
      <identifier>aggSewerOverflows_m3</identifier>
      <parentNS>820</parentNS>
      <type>integer</type>
      <length>9</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101674</elementid>
      <identifier>aggSewerOverflows_pe</identifier>
      <parentNS>820</parentNS>
      <type>integer</type>
      <length>9</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101641</elementid>
      <identifier>aggForecast</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101652</elementid>
      <identifier>aggBeginLife</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101650</elementid>
      <identifier>aggEndLife</identifier>
      <parentNS>820</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>101812</elementid>
      <identifier>aggHyperlink</identifier>
      <parentNS>820</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>101707</elementid>
      <identifier>aggRemarks</identifier>
      <parentNS>820</parentNS>
      <type>string</type>
      <length>4096</length>
      <precision></precision>
   </element>
</xsl:variable>
</xsl:stylesheet>
