
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
    xmlns:dd786="https://dd.eionet.europa.eu/namespace.jsp?ns_id=786" xmlns:dd835="https://dd.eionet.europa.eu/namespace.jsp?ns_id=835">
    <xsl:output method="html"/>

    <xsl:template match="/">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SurfaceWaterBodyLine</title></head><body><h1>SurfaceWaterBodyLine</h1><table border="1" style="border-collapse:collapse;">        <xsl:apply-templates select="dd786:SurfaceWaterBodyLine/dd786:Row"/>
</table></body></html>    </xsl:template>

    <xsl:template match="dd786:SurfaceWaterBodyLine/dd786:Row">
        <xsl:if test="position()=1">
            <xsl:call-template name="header"/>
        </xsl:if>
<tr><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:variable name="multiValueSeparator">
      <xsl:call-template name="getSeparator">
         <xsl:with-param name="element" select="$elemIdentifier"></xsl:with-param>
      </xsl:call-template>
   </xsl:variable>
   <td>
      <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>
   </td>
</xsl:for-each></tr></xsl:template>

<xsl:template name="header">
<tr>
<xsl:for-each xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="$elementsMetadata/element"><th bgcolor="#87cefa"><xsl:value-of select="identifier" /> 
</th> 
</xsl:for-each></tr></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>78096</elementid>
      <identifier>geometry</identifier>
      <parentNS>835</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76620</elementid>
      <identifier>inspireIdLocalId</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>100</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76623</elementid>
      <identifier>inspireIdNamespace</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76626</elementid>
      <identifier>inspireIdVersionId</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>25</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76839</elementid>
      <identifier>thematicIdIdentifier</identifier>
      <parentNS>835</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76840</elementid>
      <identifier>thematicIdIdentifierScheme</identifier>
      <parentNS>835</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76738</elementid>
      <identifier>nameTextInternational</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76739</elementid>
      <identifier>nameText</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76740</elementid>
      <identifier>nameLanguage</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76725</elementid>
      <identifier>beginLifespanVersion</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76728</elementid>
      <identifier>endLifespanVersion</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76729</elementid>
      <identifier>predecessorsIdentifier</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76732</elementid>
      <identifier>predecessorsIdentifierScheme</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76733</elementid>
      <identifier>successorsIdentifier</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76736</elementid>
      <identifier>successorsIdentifierScheme</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76737</elementid>
      <identifier>wiseEvolutionType</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76744</elementid>
      <identifier>designationPeriodBegin</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76746</elementid>
      <identifier>designationPeriodEnd</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76747</elementid>
      <identifier>zoneType</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76770</elementid>
      <identifier>specialisedZoneType</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76774</elementid>
      <identifier>relatedZoneIdentifier</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>100</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76775</elementid>
      <identifier>relatedZoneIdentifierScheme</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>85789</elementid>
      <identifier>relatedZoneTransboundaryIdentifier</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>85790</elementid>
      <identifier>relatedZoneTransboundaryIdentifierScheme</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>255</length>
      <precision></precision>
   </element>
   <element>
      <elementid>76809</elementid>
      <identifier>sizeValue</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76810</elementid>
      <identifier>sizeUom</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76812</elementid>
      <identifier>meanDepth</identifier>
      <parentNS>null</parentNS>
      <type></type>
      <length></length>
      <precision></precision>
   </element>
   <element>
      <elementid>76750</elementid>
      <identifier>link</identifier>
      <parentNS>null</parentNS>
      <type>string</type>
      <length>500</length>
      <precision></precision>
   </element>
</xsl:variable></xsl:stylesheet>
