View stylesheet

XML schema http://dd.eionet.europa.eu/schemas/inspire-monitoring/monitoring.xsd
Output type HTML
Description Inspire monitoring print preview
XSL file inspire-monitoring-html-conversion.xsl (Last modified: 08 May 2015 14:04 )
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" 
				xmlns:p="http://inspire.jrc.ec.europa.eu/monitoringreporting/monitoring"
				xmlns:p1="http://inspire.jrc.ec.europa.eu/monitoringreporting/basictype" 
			  	xmlns:p2="http://inspire.jrc.ec.europa.eu/monitoringreporting/monitoringmd" 
			  	xmlns:p3="http://inspire.jrc.ec.europa.eu/monitoringreporting/indicators" 
			  	xmlns:p4="http://inspire.jrc.ec.europa.eu/monitoringreporting/rowdata" 
			   	exclude-result-prefixes="xml">
<xsl:output method="xml" indent="yes"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
        omit-xml-declaration="yes" />
<xsl:template match="/">

<html lang="en" >
<head>
	<style>
		@media print
		{
			thead
			{
				display: table-header-group;
			}
		}
		body
		{
			font-family: "Nimbus sans L", Helvetica, Arial, Verdana, sans-serif;
			font-size: 12px;
			width: 420mm;
		}
		table, table th, table td
		{
			border: 1px solid grey;
			border-collapse: collapse;
			padding: 5px;
			text-align: center;
		}
		h2, h3
		{
			margin-bottom: 5px;
		}
		.mid-header
		{
			border-left-color: white;
			border-right-color: white;
			margin-top: 15px;
		}
		.table-start
		{
			border-top: 3px solid #333;
			text-align: center;
		}
		.table-end
		{
			border-bottom: 3px solid #333;
			text-align: center;
		}
		.table-section-start
		{
			border-top: 2px solid #666;
			text-align: center;
		}
		.inner-table td, .inner-table th, .inner-table
		{
			border: 0px solid grey;
			text-align: left;
		}
		.inner-table
		{
			width: 100%;
		}
		.four-col
		{
			width: 15%;
		}
		.four-col-end
		{
			width: 55%;
		}
		.three-col
		{
			width: 25%;
		}
		.two-col
		{
			width: 50%;
		}
		.no-wrap
		{
			white-space: nowrap;
		}
      </style>
</head>
<body>
	<h1>Inspire Monitoring</h1>
	
	<div id="company-info">
		<table>
			<tr>
				<th>Year the questionnaire refers to</th>
				<th>Member state</th>
				<th>Organization</th>
				<th>Email</th>
				<th>Language</th>
			</tr>
			<tr>
				<td><xsl:value-of select="p:Monitoring/documentYear/year"/></td>
				<td><xsl:value-of select="p:Monitoring/memberState"/></td>
				<td><xsl:value-of select="p:Monitoring/MonitoringMD/organizationName"/></td>
				<td><xsl:value-of select="p:Monitoring/MonitoringMD/email"/></td>
				<td><xsl:value-of select="p:Monitoring/MonitoringMD/language"/></td>
			</tr>
		</table>
	</div>
	
	
	<!--  Indicators   -->

	<div id="indicators">
		<h2>Indicators</h2>
		<table>
			<thead>
				<tr>
					<th></th>
					<th></th>
					<th colspan="2">Meta Data</th>
					<th colspan="2">Data Sets</th>
					<th colspan="4">Services</th>
				</tr>
				<tr>
					<th></th>
					<th></th>
					<th>Existence</th>
					<th>Compliance</th>
					<th>Extend</th>
					<th>Compliance</th>
					<th>MD Accessibility</th>
					<th>DS Accessibility</th>
					<th>Use</th>
					<th>Compliance</th>
				</tr>
			</thead>
		<tbody>
			<tr>
				<th></th>
				<th>Indicator Name</th>
				<th>MDi1</th>
				<th>MDi2</th>
				<th>DSi1</th>
				<th>DSi2</th>
				<th>NSi1</th>
				<th>NSi2</th>
				<th>NSi3</th>
				<th>NSi4</th>
			</tr>
			<tr>
				<th></th>
				<th>Indicator Value</th>
				<td>
					<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi1)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi1*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td>
					<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataConformityIndicators/MDi2)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataConformityIndicators/MDi2*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td>
					<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/GeoCoverageIndicators/DSi1)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/GeoCoverageIndicators/DSi1*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td>
					<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/SdsConformantIndicators/DSi2)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/SdsConformantIndicators/DSi2*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td>
					<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/DiscoveryMetadataIndicators/NSi1)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/DiscoveryMetadataIndicators/NSi1*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td>
					<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/NSi2)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/NSi2*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td>
					<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/UseNNindicators/NSi3)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/UseNNindicators/NSi3*100) div 100"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td>
					<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/NnConformityIndicators/NSi4)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/NnConformityIndicators/NSi4*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
			</tr>
			<tr>
				<th></th>
				<th>Numerator</th>
				<td>
          			<xsl:variable name="temp1" select="p:Monitoring/Indicators/MetadataExistenceIndicators/MetadataExistence/MDv1_DS + p:Monitoring/Indicators/MetadataExistenceIndicators/MetadataExistence/MDv14" />
					<xsl:choose>
						<xsl:when test="string(number($temp1)) != 'NaN'">
							<xsl:value-of select="$temp1"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td>
					<xsl:variable name="temp2" select="p:Monitoring/Indicators/MetadataConformityIndicators/MetadataConformity/MDv2_DS + p:Monitoring/Indicators/MetadataConformityIndicators/MetadataConformity/MDv24" />
					<xsl:choose>
						<xsl:when test="string(number($temp2)) != 'NaN'">
							<xsl:value-of select="$temp2"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td><xsl:value-of select="p:Monitoring/Indicators/GeoCoverageIndicators/GeoCoverageSDS/DSv1_ActArea"/></td>
				<td><xsl:value-of select="p:Monitoring/Indicators/SdsConformantIndicators/SdsConformant/DSv2"/></td>
				<td>
					<xsl:variable name="temp3" select="p:Monitoring/Indicators/DiscoveryMetadataIndicators/DiscoveryMetadata/NSv11 + p:Monitoring/Indicators/DiscoveryMetadataIndicators/DiscoveryMetadata/NSv12" />
					<xsl:choose>
						<xsl:when test="string(number($temp3)) != 'NaN'">
							<xsl:value-of select="$temp3"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
				</td>
				<td><xsl:value-of select="p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/ViewDownloadAccessibility/NSv23"/></td>
				<td><xsl:value-of select="p:Monitoring/Indicators/UseNNindicators/UseNN/NSv3"/></td>
				<td><xsl:value-of select="p:Monitoring/Indicators/NnConformityIndicators/NnConformity/NSv4"/></td>
			</tr>
			<tr>
                <th></th>
                <th>Denominator</th>
                <td>
                	<xsl:variable name="temp4" select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num + p:Monitoring/Indicators/SpatialDataAndService/SDSv_Num" />
					<xsl:choose>
						<xsl:when test="string(number($temp4)) != 'NaN'">
							<xsl:value-of select="$temp4"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:variable name="temp5" select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num + p:Monitoring/Indicators/SpatialDataAndService/SDSv_Num" />
					<xsl:choose>
						<xsl:when test="string(number($temp5)) != 'NaN'">
							<xsl:value-of select="$temp5"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td><xsl:value-of select="p:Monitoring/Indicators/GeoCoverageIndicators/GeoCoverageSDS/DSv1_RelArea"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num"/></td>
                <td>
                	<xsl:variable name="temp6" select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num + p:Monitoring/Indicators/SpatialDataAndService/SDSv_Num" />
					<xsl:choose>
						<xsl:when test="string(number($temp6)) != 'NaN'">
							<xsl:value-of select="$temp6"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumAllServ"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumAllServ"/></td>
            </tr>
		</tbody>
		<tbody>
            <tr>
                <th colspan="10" class="mid-header"><h3>Spatial Data Sets</h3></th>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-start">
                <th>All Annexes</th>
                <th>SubInd. Name</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th>NSi1.1</th>
                <th></th>
                <th></th>
                <th></th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/DiscoveryMetadataIndicators/NSi11)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/DiscoveryMetadataIndicators/NSi11*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/DiscoveryMetadataIndicators/DiscoveryMetadata/NSv11"/></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <th></th>
                <th>Denominator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num"/></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-section-start">
                <th>Annex I</th>
                <th>SubInd. Name</th>
                <th>MDi1.1</th>
                <th>MDi2.1</th>
                <th>DSi1.1</th>
                <th>DSi2.1</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi11)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi11*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataConformityIndicators/MDi21)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataConformityIndicators/MDi21*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/GeoCoverageIndicators/DSi11)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/GeoCoverageIndicators/DSi11*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/SdsConformantIndicators/DSi21)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/SdsConformantIndicators/DSi21*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td><xsl:value-of select="p:Monitoring/Indicators/MetadataExistenceIndicators/MetadataExistence/MDv11"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/MetadataConformityIndicators/MetadataConformity/MDv21"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/GeoCoverageIndicators/GeoCoverageSDS/DSv11_ActArea"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SdsConformantIndicators/SdsConformant/DSv21"/></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <th></th>
                <th>Denominator</th>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num1"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num1"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/GeoCoverageIndicators/GeoCoverageSDS/DSv11_RelArea"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num1"/></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-section-start">
                <th>Annex II</th>
                <th>SubInd. Name</th>
                <th>MDi1.2</th>
                <th>MDi2.2</th>
                <th>DSi1.2</th>
                <th>DSi2.2</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi12)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi12*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataConformityIndicators/MDi22)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataConformityIndicators/MDi22*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/GeoCoverageIndicators/DSi12)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/GeoCoverageIndicators/DSi12*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/SdsConformantIndicators/DSi22)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/SdsConformantIndicators/DSi22*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td><xsl:value-of select="p:Monitoring/Indicators/MetadataExistenceIndicators/MetadataExistence/MDv12"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/MetadataConformityIndicators/MetadataConformity/MDv22"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/GeoCoverageIndicators/GeoCoverageSDS/DSv12_ActArea"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SdsConformantIndicators/SdsConformant/DSv22"/></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <th></th>
                <th>Denominator</th>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num2"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num2"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/GeoCoverageIndicators/GeoCoverageSDS/DSv12_RelArea"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num2"/></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-section-start">
                <th>Annex III</th>
                <th>SubInd. Name</th>
                <th>MDi1.3</th>
                <th>MDi2.3</th>
                <th>DSi1.3</th>
                <th>DSi2.3</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi13)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi13*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataConformityIndicators/MDi23)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataConformityIndicators/MDi23*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/GeoCoverageIndicators/DSi13)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/GeoCoverageIndicators/DSi13*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/SdsConformantIndicators/DSi23)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/SdsConformantIndicators/DSi23*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td><xsl:value-of select="p:Monitoring/Indicators/MetadataExistenceIndicators/MetadataExistence/MDv13"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/MetadataConformityIndicators/MetadataConformity/MDv23"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/GeoCoverageIndicators/GeoCoverageSDS/DSv13_ActArea"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SdsConformantIndicators/SdsConformant/DSv23"/></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <tr class="table-end">
                <th></th>
                <th>Denominator</th>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num3"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num3"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/GeoCoverageIndicators/GeoCoverageSDS/DSv13_RelArea"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num3"/></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </tbody>
        <tbody>
            <tr>
                <th colspan="10" class="mid-header"><h3>Spatial Data Services</h3></th>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-start">
                <th>All Services</th>
                <th>SubInd. Name</th>
                <th>MDi1.4</th>
                <th>MDi2.4</th>
                <th></th>
                <th></th>
                <th>NSi1.2</th>
                <th></th>
                <th>NSi3</th>
                <th>NSi4</th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi14)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataExistenceIndicators/MDi14*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/MetadataConformityIndicators/MDi24)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/MetadataConformityIndicators/MDi24*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td></td>
                <td></td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/DiscoveryMetadataIndicators/NSi12)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/DiscoveryMetadataIndicators/NSi12*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td></td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/UseNNindicators/NSi3)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/UseNNindicators/NSi3*100) div 100"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/NnConformityIndicators/NSi4)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/NnConformityIndicators/NSi4*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td><xsl:value-of select="p:Monitoring/Indicators/MetadataExistenceIndicators/MetadataExistence/MDv14"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/MetadataConformityIndicators/MetadataConformity/MDv24"/></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/DiscoveryMetadataIndicators/DiscoveryMetadata/NSv12"/></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/UseNNindicators/UseNN/NSv3"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/NnConformityIndicators/NnConformity/NSv4"/></td>
            </tr>
            <tr>
                <th></th>
                <th>Denominator</th>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/SDSv_Num"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/SDSv_Num"/></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/SDSv_Num"/></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumAllServ"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumAllServ"/></td>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-section-start">
                <th>Discovery Services</th>
                <th>SubInd. Name</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th>NSi3.1</th>
                <th>NSi4.1</th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/UseNNindicators/NSi31)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/UseNNindicators/NSi31*100) div 100"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/NnConformityIndicators/NSi41)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/NnConformityIndicators/NSi41*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/UseNNindicators/UseNN/NSv31"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/NnConformityIndicators/NnConformity/NSv41"/></td>
            </tr>
            <tr>
                <th></th>
                <th>Denominator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumDiscServ"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumDiscServ"/></td>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-section-start">
                <th>View Services</th>
                <th>SubInd. Name</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th>NSi2.1</th>
                <th>NSi3.2</th>
                <th>NSi4.2</th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/NSi21)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/NSi21*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/UseNNindicators/NSi32)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/UseNNindicators/NSi32*100) div 100"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/NnConformityIndicators/NSi42)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/NnConformityIndicators/NSi42*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/ViewDownloadAccessibility/NSv21"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/UseNNindicators/UseNN/NSv32"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/NnConformityIndicators/NnConformity/NSv42"/></td>
            </tr>
            <tr>
                <th></th>
                <th>Denominator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumViewServ"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumViewServ"/></td>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-section-start">
                <th>Download Services</th>
                <th>SubInd. Name</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th>NSi2.2</th>
                <th>NSi3.3</th>
                <th>NSi4.3</th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/NSi22)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/NSi22*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/UseNNindicators/NSi33)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/UseNNindicators/NSi33*100) div 100"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/NnConformityIndicators/NSi43)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/NnConformityIndicators/NSi43*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/ViewDownloadAccessibilityIndicators/ViewDownloadAccessibility/NSv22"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/UseNNindicators/UseNN/NSv33"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/NnConformityIndicators/NnConformity/NSv43"/></td>
            </tr>
            <tr>
                <th></th>
                <th>Denominator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/DSv_Num"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumDownServ"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumDownServ"/></td>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-section-start">
                <th>Transformation Services</th>
                <th>SubInd. Name</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th>NSi3.4</th>
                <th>NSi4.4</th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/UseNNindicators/NSi34)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/UseNNindicators/NSi34*100) div 100"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/NnConformityIndicators/NSi44)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/NnConformityIndicators/NSi44*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/UseNNindicators/UseNN/NSv34"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/NnConformityIndicators/NnConformity/NSv44"/></td>
            </tr>
            <tr>
                <th></th>
                <th>Denominator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumTransfServ"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumTransfServ"/></td>
            </tr>
        </tbody>
        <tbody>
            <tr class="table-section-start">
                <th>Invoke Services</th>
                <th>SubInd. Name</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
                <th>NSi3.5</th>
                <th>NSi4.5</th>
            </tr>
            <tr>
                <th></th>
                <th>SubInd. Value</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/UseNNindicators/NSi35)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/UseNNindicators/NSi35*100) div 100"/>
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
                <td>
                	<xsl:choose>
						<xsl:when test="string(number(p:Monitoring/Indicators/NnConformityIndicators/NSi45)) != 'NaN'">
							<xsl:value-of select="floor(p:Monitoring/Indicators/NnConformityIndicators/NSi45*10000) div 100"/>%
						</xsl:when>
						<xsl:otherwise>
							-
						</xsl:otherwise>
					</xsl:choose>
                </td>
            </tr>
            <tr>
                <th></th>
                <th>Numerator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/UseNNindicators/UseNN/NSv35"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/NnConformityIndicators/NnConformity/NSv45"/></td>
            </tr>
            <tr class="table-end">
                <th></th>
                <th>Denominator</th>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumInvkServ"/></td>
                <td><xsl:value-of select="p:Monitoring/Indicators/SpatialDataAndService/NSv_NumInvkServ"/></td>
            </tr>
        </tbody>
        </table>
	</div>	
	
	
	
	<!--  Spatial Data Services Table  -->
	
	<div id="data-services">
		<h2>Spatial Data Services</h2>
		<table>
			<thead>
				<tr>
					<th>UUID</th>
					<th>Data service name</th>
					<th>Responsible authority within the MS</th>
					<th>Themes</th>
					<th>Network Service</th>
					<th>Meta Data</th>
				</tr>
			</thead>
			<xsl:for-each select="p:Monitoring/RowData/SpatialDataService">
				<tr class="data-service-row">
					<td><xsl:value-of select="uuid"/></td>
					<td><xsl:value-of select="name"/></td>
					<td><xsl:value-of select="respAuthority"/></td>
					<td>
						<ul>
							<xsl:for-each select="Themes/*">
								<li>
									<xsl:value-of select="."/> - [<xsl:value-of select="name(.)" />]
								</li>
							</xsl:for-each>
						</ul>
					</td>
					<td class="network-service">
						<xsl:choose>
							<xsl:when test="NetworkService">
								<table class="inner-table">
									<tr>
										<td class="four-col no-wrap"><strong>Direct access: </strong> 
											<xsl:choose>
												<xsl:when test="NetworkService/directlyAccessible = 'true'">true</xsl:when>
											</xsl:choose>
										</td>
										<td class="four-col no-wrap"><strong>Compliant: </strong> <xsl:value-of select="NetworkService/nnConformity"/></td>
										<td class="four-col no-wrap"><strong>Service Type: </strong> <xsl:value-of select="NetworkService/NnServiceType"/></td>
										<td class="four-col-end no-wrap"><strong>Use: </strong> <xsl:value-of select="NetworkService/userRequest"/></td>
									</tr>
									<tr>
										<td colspan="4"><strong>URL: </strong> <xsl:value-of select="NetworkService/URL"/></td>
									</tr>
								</table>
							</xsl:when>
							<xsl:otherwise>
								No Network Service
							</xsl:otherwise>
						</xsl:choose>
					</td>
					<td class="meta-data">
						<xsl:choose>
							<xsl:when test="MdServiceExistence">					
								<table class="inner-table">
									<tr>
										<td class="two-col no-wrap"><strong>Accessible: </strong> <xsl:value-of select="MdServiceExistence/discoveryAccessibility"/></td>
										<td class="two-col no-wrap"><strong>Compliant: </strong> <xsl:value-of select="MdServiceExistence/mdConformity"/></td>
									</tr>
									<tr>
										<td colspan="2"><strong>ID: </strong> <xsl:value-of select="MdServiceExistence/discoveryAccessibilityUuid"/></td>
									</tr>
								</table>	
							</xsl:when>
							<xsl:otherwise>
								No Existing Meta Data
							</xsl:otherwise>
						</xsl:choose>								
					</td>
				</tr>
			</xsl:for-each>
		</table>
	</div>
	
	<!--  Spatial Data Sets Table  -->
	
	<div id="data-sets">
		<h2>Spatial Data Sets</h2>
		<table>
			<thead>
				<tr>
					<th>UUID</th>
					<th>Data service name</th>
					<th>Responsible authority within the MS</th>
					<th>Themes</th>
					<th>Coverage<br/>DS conformity</th>
					<th>Meta Data</th>
				</tr>
			</thead>
			<xsl:for-each select="p:Monitoring/RowData/SpatialDataSet">
				<tr class="data-set-row">
					<td><xsl:value-of select="uuid"/></td>
					<td><xsl:value-of select="name"/></td>
					<td><xsl:value-of select="respAuthority"/></td>
					<td>
						<ul>
							<xsl:for-each select="Themes/*">
								<li>
									<xsl:value-of select="."/> - [<xsl:value-of select="name(.)" />]
								</li>
							</xsl:for-each>
						</ul>
					</td>
					<td  class="coverage">
						<table class="inner-table">
							<tr>
								<td class="no-wrap"><strong>Relevant Area: </strong> <xsl:value-of select="Coverage/relevantArea"/></td>
							</tr>
							<tr>
								<td class="no-wrap"><strong>Actual Area: </strong> <xsl:value-of select="Coverage/actualArea"/></td>
							</tr>
							<tr>
								<td class="no-wrap"><strong>DS conformant: </strong> <xsl:value-of select="MdDataSetExistence/IRConformity/structureCompliance"/></td>
							</tr>							
						</table>
					</td>
					<td class="dataset-existence">
						<xsl:choose>
							<xsl:when test="MdDataSetExistence">
								<table class="inner-table">
									<tr>
										<td class="three-col no-wrap"><strong>Existing: </strong> true</td>
										<td class="three-col no-wrap"><strong>Compliant: </strong> <xsl:choose>
													<xsl:when test="MdDataSetExistence/IRConformity">
														true
													</xsl:when>
													<xsl:otherwise>
														false
													</xsl:otherwise>
											</xsl:choose>
										</td>
										<td class="three-col no-wrap"><strong>View and Download Services: </strong> <xsl:value-of select="MdDataSetExistence/MdAccessibility/viewDownload"/></td>
									</tr>
									<tr>
										<td class="three-col no-wrap"><strong>Discovery Service: </strong> <xsl:value-of select="MdDataSetExistence/MdAccessibility/discovery"/></td>
										<td colspan="2" class="three-col no-wrap"><strong>ID: </strong> <xsl:value-of select="MdDataSetExistence/MdAccessibility/discoveryUuid"/></td>
									</tr>
									<tr>
										<td class="three-col no-wrap"><strong>View Service: </strong> <xsl:value-of select="MdDataSetExistence/MdAccessibility/view"/></td>
										<td colspan="2" class="three-col no-wrap"><strong>ID: </strong> <xsl:value-of select="MdDataSetExistence/MdAccessibility/viewUuid"/></td>
									</tr>
									<tr>
										<td class="three-col no-wrap"><strong>Download Service: </strong> <xsl:value-of select="MdDataSetExistence/MdAccessibility/download"/></td>
										<td colspan="2" class="three-col no-wrap"><strong>ID: </strong> <xsl:value-of select="MdDataSetExistence/MdAccessibility/downloadUuid"/></td>
									</tr>
								</table>
							</xsl:when>
							<xsl:otherwise>
								No Existing Meta Data
							</xsl:otherwise>
						</xsl:choose>
					</td>
				</tr>
			</xsl:for-each>
		</table>
	</div>

</body>
</html>
</xsl:template>
</xsl:stylesheet>