View stylesheet

XML schemas http://dd.eionet.europa.eu/schemas/WFD2016/GML_MonitoringSite_2016.xsd
Output type HTML
Description HTML table
XSL file MonitoringSite.xslt (Last modified: 01 May 2016 20:55 )
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wfdgml="http://dd.eionet.europa.eu/schemas/WFD2016/wfdgml" version="2.0">
	<xsl:output method="html" indent="yes"/>
	<xsl:template match="/">
		<html>
			<head>
				<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
				<title>MonitoringSite</title>
			</head>
			<body>
				<h1>MonitoringSite</h1>
				<table border="1" style="border-collapse:collapse;">
					<xsl:apply-templates select="wfdgml:FeatureCollection/wfdgml:featureMember/wfdgml:MonitoringSite"/>
				</table>
			</body>
		</html>
	</xsl:template>
	<xsl:template match="wfdgml:FeatureCollection/wfdgml:featureMember/wfdgml:MonitoringSite">
		<xsl:if test="position()=1">
			<xsl:call-template name="header"/>
		</xsl:if>
		<tr>
			<td>
				<xsl:value-of select="wfdgml:inspireIdLocalId"/>
			</td>
			<td><xsl:value-of select="wfdgml:inspireIdNamespace"/></td>
			<td><xsl:value-of select="wfdgml:inspireIdVersionId"/></td>
			<td><a target="_blank" href="{concat('http://dd.eionet.europa.eu/vocabularyconcept/wise/MonitoringSite/', wfdgml:thematicIdIdentifierScheme, '.', wfdgml:thematicIdIdentifier)}"><xsl:value-of select="wfdgml:thematicIdIdentifierScheme"/>.<xsl:value-of select="wfdgml:thematicIdIdentifier"/></a></td>
			<td><xsl:value-of select="wfdgml:beginLifespanVersion"/></td>
			<td><xsl:value-of select="wfdgml:endLifespanVersion"/></td>
			<td>
				<xsl:choose>			
					<xsl:when test="wfdgml:supersedesIdentifier != ''">
		                <xsl:call-template name="tokenizeString">
		                    <xsl:with-param name="list" select="wfdgml:supersedesIdentifier"/>
		                    <xsl:with-param name="delimiter" select="','"/>
		                    <xsl:with-param name="scheme" select="wfdgml:supersedesIdentifierScheme"/>
		                </xsl:call-template>
		            </xsl:when>	
				</xsl:choose>		         		
			</td>			
			<td>
				<xsl:choose>			
					<xsl:when test="wfdgml:supersededByIdentifier != ''">
		                <xsl:call-template name="tokenizeString">
		                    <xsl:with-param name="list" select="wfdgml:supersededByIdentifier"/>
		                    <xsl:with-param name="delimiter" select="','"/>
		                    <xsl:with-param name="scheme" select="wfdgml:supersededByIdentifierScheme"/>
		                </xsl:call-template>
		            </xsl:when>	
				</xsl:choose>		            			
			</td>								
			<td><xsl:value-of select="wfdgml:wiseEvolutionType"/></td>	
			<td><xsl:value-of select="wfdgml:nameTextInternational"/></td>	
			<td><xsl:value-of select="wfdgml:nameText"/></td>	
			<td><xsl:value-of select="wfdgml:nameLanguage"/></td>	
			<td><xsl:value-of select="wfdgml:operationalActivityPeriodBegin"/></td>
			<td><xsl:value-of select="wfdgml:operationalActivityPeriodEnd"/></td>
			<td>
			<xsl:choose>
			    <xsl:when test="wfdgml:relatedToIdentifier != ''">
			        <a target="_blank" href="{concat('http://dd.eionet.europa.eu/vocabularyconcept/wise/MonitoringSite/', wfdgml:relatedToIdentifierScheme, '.', wfdgml:relatedToIdentifier)}"><xsl:value-of select="wfdgml:relatedToIdentifierScheme"/>.<xsl:value-of select="wfdgml:relatedToIdentifier"/></a>
			    </xsl:when>
			</xsl:choose>
			</td>
			<td>
				<a target="_blank" href="{concat('http://dd.eionet.europa.eu/vocabularyconcept/wise/WaterBody/', wfdgml:featureOfInterestIdentifierScheme, '.', wfdgml:featureOfInterestIdentifier)}"><xsl:value-of select="wfdgml:featureOfInterestIdentifierScheme"/>.<xsl:value-of select="wfdgml:featureOfInterestIdentifier"/></a>
			</td>			
			<td><xsl:value-of select="wfdgml:mediaMonitoredBiota"/></td>
			<td><xsl:value-of select="wfdgml:mediaMonitoredWater"/></td>
			<td><xsl:value-of select="wfdgml:mediaMonitoredSediment"/></td>
			<td>
                <xsl:call-template name="tokenizePurpose">
                    <xsl:with-param name="list" select="wfdgml:purpose"/>
                    <xsl:with-param name="delimiter" select="','"/>
                </xsl:call-template>	            			
			</td>			
			<td><xsl:value-of select="wfdgml:catchmentArea"/></td>
			<td><xsl:value-of select="wfdgml:maximumDepth"/></td>
			<td>
				<a target="_blank" href="{concat('http://dd.eionet.europa.eu/vocabularyconcept/wise/ConfidentialityStatusValue/', wfdgml:confidentialityStatus)}"><xsl:value-of select="wfdgml:confidentialityStatus"/></a>
			</td>
			<td>
			<xsl:choose>
			    <xsl:when test="wfdgml:link != ''">
			        <a target="_blank" href="{wfdgml:link}"><xsl:value-of select="wfdgml:link"/></a>
			    </xsl:when>
			</xsl:choose>
			</td>
		</tr>
	</xsl:template>
	<xsl:template name="header">
		<tr>
			<th>inspireIdLocalId</th>
			<th>inspireIdNamespace</th>
			<th>inspireIdVersionId</th>
			<th>thematicIdIdentifier</th>
			<th>beginLifespanVersion</th>
			<th>endLifespanVersion</th>
			<th>supersedesIdentifier</th>		
			<th>supersededByIdentifier</th>
			<th>wiseEvolutionType</th>
			<th>nameTextInternational</th>	
			<th>nameText</th>
			<th>nameLanguage</th>
			<th>operationalActivityPeriodBegin</th>
			<th>operationalActivityPeriodEnd</th>
			<th>relatedToIdentifier</th>
			<th>featureOfInterestIdentifier</th>		
			<th>mediaMonitoredBiota</th>
			<th>mediaMonitoredWater</th>
			<th>mediaMonitoredSediment</th>
			<th>purpose</th>
			<th>catchmentArea</th>
			<th>maximumDepth</th>
			<th>confidentialityStatus</th>
			<th>link</th>
		</tr>
	</xsl:template>
 	<xsl:template name="tokenizeString">
        <xsl:param name="list"/>
        <xsl:param name="delimiter"/>
        <xsl:param name="scheme"/>
        <xsl:choose>
            <xsl:when test="contains($list, $delimiter)">                
  				<a target="_blank" href="{concat('http://dd.eionet.europa.eu/vocabularyconcept/wise/MonitoringSite/', $scheme, '.', substring-before($list,$delimiter))}"><xsl:value-of select="$scheme"/>.<xsl:value-of select="substring-before($list,$delimiter)"/></a>
			    <br/>                 
                <xsl:call-template name="tokenizeString">
                    <xsl:with-param name="list" select="substring-after($list,$delimiter)"/>
                    <xsl:with-param name="delimiter" select="$delimiter"/>
                    <xsl:with-param name="scheme" select="$scheme"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:choose>
                    <xsl:when test="$list = ''">
                        <xsl:text/>
                    </xsl:when>
                    <xsl:otherwise>
						<a target="_blank" href="{concat('http://dd.eionet.europa.eu/vocabularyconcept/wise/MonitoringSite/', $scheme, '.', $list)}"><xsl:value-of select="$scheme"/>.<xsl:value-of select="$list"/></a> 			     
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>	
 	<xsl:template name="tokenizePurpose">
        <xsl:param name="list"/>
        <xsl:param name="delimiter"/>
        <xsl:choose>
            <xsl:when test="contains($list, $delimiter)">                
  				<a target="_blank" href="{concat('http://dd.eionet.europa.eu/vocabularyconcept/wise/WisePurposeOfCollectionValue/', substring-before($list,$delimiter))}"><xsl:value-of select="substring-before($list,$delimiter)"/></a>
			    <br/>                 
                <xsl:call-template name="tokenizePurpose">
                    <xsl:with-param name="list" select="substring-after($list,$delimiter)"/>
                    <xsl:with-param name="delimiter" select="$delimiter"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:choose>
                    <xsl:when test="$list = ''">
                        <xsl:text/>
                    </xsl:when>
                    <xsl:otherwise>
						<a target="_blank" href="{concat('http://dd.eionet.europa.eu/vocabularyconcept/wise/WisePurposeOfCollectionValue/', $list)}"><xsl:value-of select="$list"/></a> 			     
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>		    	
</xsl:stylesheet>