
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
    xmlns:dd579="https://dd.eionet.europa.eu/namespace.jsp?ns_id=579" xmlns:dd589="https://dd.eionet.europa.eu/namespace.jsp?ns_id=589">
    <xsl:output method="xml"/>

    <xsl:template match="/">
<delivery>        <xsl:apply-templates select="dd579:DWD_DER/dd579:Row"/>
</delivery>    </xsl:template>

    <xsl:template match="dd579:DWD_DER/dd579: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>WSZ_ID</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Parameter</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>Remedial</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_FirstDerogationReference</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_SecondDerogationReference</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_ThirdDerogationReference</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DerogationType</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_TotalVolume</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_RedidentPopulation</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_PopulationConcerned</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_FoodProductionEffects</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_FixedValue</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_Analyses</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_PreviousMinimum</name>
<type></type>
<length></length>
<precision>3</precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_PreviousMedian</name>
<type></type>
<length></length>
<precision>3</precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_PreviousMaximum</name>
<type></type>
<length></length>
<precision>3</precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_Grounds</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_Description</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_Scheme</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_Startdate</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_Enddate</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_DatePreviousDerogation</name>
<type></type>
<length></length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_ConclusionsPreviousDerogation</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_Responsible Authority</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_NameResponsible Authority</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_AddressResponsible Authority</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_TelephoneResponsible Authority</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_FaxResponsible Authority</name>
<type>string</type>
<length>300</length>
<precision></precision>
<multiValueDelim></multiValueDelim>
</elem><elem>
<name>DER_E-mailResponsible Authority</name>
<type>string</type>
<length>300</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>34650</elementid>
      <identifier>WSZ_ID</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>34651</elementid>
      <identifier>Parameter</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>34653</elementid>
      <identifier>Remedial</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36314</elementid>
      <identifier>DER_FirstDerogationReference</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36315</elementid>
      <identifier>DER_SecondDerogationReference</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36316</elementid>
      <identifier>DER_ThirdDerogationReference</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36317</elementid>
      <identifier>DerogationType</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36318</elementid>
      <identifier>DER_TotalVolume</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36319</elementid>
      <identifier>DER_RedidentPopulation</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36320</elementid>
      <identifier>DER_PopulationConcerned</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36321</elementid>
      <identifier>DER_FoodProductionEffects</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36322</elementid>
      <identifier>DER_FixedValue</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36323</elementid>
      <identifier>DER_Analyses</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36324</elementid>
      <identifier>DER_PreviousMinimum</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision>3</precision>
   </element>
   <element>
      <elementid>36325</elementid>
      <identifier>DER_PreviousMedian</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision>3</precision>
   </element>
   <element>
      <elementid>36326</elementid>
      <identifier>DER_PreviousMaximum</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision>3</precision>
   </element>
   <element>
      <elementid>36327</elementid>
      <identifier>DER_Grounds</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36328</elementid>
      <identifier>DER_Description</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36329</elementid>
      <identifier>DER_Scheme</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36330</elementid>
      <identifier>DER_Startdate</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36331</elementid>
      <identifier>DER_Enddate</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36332</elementid>
      <identifier>DER_DatePreviousDerogation</identifier>
      <parentNS>589</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>36333</elementid>
      <identifier>DER_ConclusionsPreviousDerogation</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36334</elementid>
      <identifier>DER_Responsible Authority</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36335</elementid>
      <identifier>DER_NameResponsible Authority</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36336</elementid>
      <identifier>DER_AddressResponsible Authority</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36337</elementid>
      <identifier>DER_TelephoneResponsible Authority</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36338</elementid>
      <identifier>DER_FaxResponsible Authority</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
   <element>
      <elementid>36339</elementid>
      <identifier>DER_E-mailResponsible Authority</identifier>
      <parentNS>589</parentNS>
      <type>string</type>
      <length>300</length>
      <precision></precision>
   </element>
</xsl:variable>
</xsl:stylesheet>
