XML schema |
http://dd.eionet.europa.eu/schemas/id2011850eu/AirQualityReporting.xsd http://schemas.opengis.net/sweCommon/2.0/swe.xsd
|
---|---|
Output type | HTML |
Description | View summary |
XSL file | aqdsummary.xsl (Last modified: 10 Dec 2013 09:31 ) |
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:ad="urn:x-inspire:specification:gmlas:Addresses:3.0" xmlns:am="http://inspire.ec.europa.eu/schemas/am/3.0rc3" xmlns:am-ru="http://inspire.jrc.ec.europa.eu/schemas/am-ru/2.0" xmlns:aqd1="http://www.eionet.europa.eu/aqportal/Drep1" xmlns:aqd="http://aqd.ec.europa.eu/aqd/0.3.7c" xmlns:aqdold="http://aqd.ec.europa.eu/aqd/0.3.6b" xmlns:base2="http://inspire.ec.europa.eu/schemas/base2/1.0rc3" xmlns:base="http://inspire.ec.europa.eu/schemas/base/3.3rc3/" xmlns:ef="http://inspire.ec.europa.eu/schemas/ef/3.0rc3" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gn="urn:x-inspire:specification:gmlas:GeographicalNames:3.0" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:om="http://www.opengis.net/om/2.0" xmlns:ompr="http://inspire.ec.europa.eu/schemas/ompr/2.0rc3" xmlns:sam="http://www.opengis.net/sampling/2.0" xmlns:sams="http://www.opengis.net/samplingSpatial/2.0" xmlns:sparql="http://www.w3.org/2005/sparql-results#" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- $Id: aqdsummary.xsl 15345 2013-12-10 09:31:30Z roug $ For schema http://dd.eionet.europa.eu/schemas/id2011850eu/AQD.xsd or http://dd.eionet.europa.eu/schemas/id2011850eu/AQD.xsd http://schemas.opengis.net/gml/3.2.1/gml.xsd xmlns:aqd="http://www.exampleURI.com/AQD" --> <xsl:output method='html' encoding='UTF-8' indent='yes'/> <xsl:template match="/"> <html> <head> <style> .errormsg { background: #ffe0e0; font-size: 120%; padding: 0.2em; border: 1px solid darkred; margin: 0.5em; } .inlineerror { background: #ffe0e0; font-weight: bold; padding: 0 0.2em; border: 1px solid darkred; margin: 0.1em 0.1em 0.1em 0.6em; } th[scope="row"] { text-align: right; vertical-align:top; background-color: #b6ddf7; } ul {list-style-type: none; margin: 0; padding: 0} span.lbl {float: right; font-weight: bold; text-align: right; padding-right: 3px; width: 100%} table { border-collapse: collapse; margin: 2pt 0pt; border: solid 1px #000000 } table.tbl tr td, table.tbl tr th, table.tbl caption {border: solid 1px #cccccc;} td, th {padding: 1pt 3pt; } table.full {width: 100%} caption { background-color: #cddaec; font-size: 130% } </style> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <!-- Root element --> <xsl:template match="gml:FeatureCollection"> <h1>Summary of features in this file</h1> <xsl:if test="count(gml:featureMember/aqd:AQD_ReportingHeader) > 0"> <table class="tbl"> <xsl:for-each select="gml:featureMember/aqd:AQD_ReportingHeader"> <xsl:if test="position() = 1"> <xsl:call-template name="AQD_ReportingHeader_header"/> </xsl:if> <xsl:call-template name="AQD_ReportingHeader"/> <tr> <th colspan="5"> <table> <xsl:apply-templates select="aqd:content"/> </table> </th> </tr> </xsl:for-each> </table> </xsl:if> <xsl:call-template name="AQD_Zone_table"> <xsl:with-param name="nodetype" select="gml:featureMember/aqd:AQD_Zone"/> </xsl:call-template> <xsl:call-template name="AQD_AssessmentRegime_table"> <xsl:with-param name="nodetype" select="gml:featureMember/aqd:AQD_AssessmentRegime"/> </xsl:call-template> <xsl:call-template name="AQD_Station_table"> <xsl:with-param name="nodetype" select="gml:featureMember/aqd:AQD_Station"/> </xsl:call-template> <xsl:call-template name="AQD_SamplingPoint_table"> <xsl:with-param name="nodetype" select="gml:featureMember/aqd:AQD_SamplingPoint"/> </xsl:call-template> </xsl:template> <xsl:template match="aqd:content"> <xsl:call-template name="AQD_Zone_table"> <xsl:with-param name="nodetype" select="../aqd:content/aqd:AQD_Zone"/> </xsl:call-template> <xsl:call-template name="AQD_AssessmentRegime_table"> <xsl:with-param name="nodetype" select="../aqd:content/aqd:AQD_AssessmentRegime"/> </xsl:call-template> <xsl:call-template name="AQD_Station_table"> <xsl:with-param name="nodetype" select="../aqd:content/aqd:AQD_Station"/> </xsl:call-template> <xsl:call-template name="AQD_SamplingPoint_table"> <xsl:with-param name="nodetype" select="../aqd:content/aqd:AQD_SamplingPoint"/> </xsl:call-template> </xsl:template> <xsl:template name="AQD_ReportingHeader_header"> <caption>Reporting header</caption> <tr> <th>Inspire ID</th> <th>Change</th> <th>Change description</th> <th>Reporting period</th> </tr> </xsl:template> <xsl:template name="AQD_ReportingHeader"> <tr> <td><xsl:value-of select="aqd:inspireId/base:Identifier/base:localId"/></td> <td><xsl:value-of select="aqd:change"/></td> <td><xsl:value-of select="aqd:changeDescription"/></td> <td><xsl:value-of select="aqd:reportingPeriod/gml:TimePeriod/gml:beginPosition"/> to <xsl:value-of select="aqd:reportingPeriod/gml:TimePeriod/gml:endPosition"/></td> </tr> </xsl:template> <xsl:template name="AQD_Zone_table"> <xsl:param name="nodetype"/> <xsl:if test="count($nodetype) > 0"> <table class="tbl"> <xsl:for-each select="$nodetype"> <xsl:if test="position() = 1"> <xsl:call-template name="AQD_Zone_header"/> </xsl:if> <xsl:call-template name="AQD_Zone"/> </xsl:for-each> </table> </xsl:if> </xsl:template> <xsl:template name="AQD_Zone_header"> <caption>Zones</caption> <tr> <th>Inspire ID</th> <th>Name</th> <th>Designation period</th> <th>Zone code</th> <th>Resident population</th> <th>Area</th> </tr> </xsl:template> <xsl:template name="AQD_Zone"> <tr> <td><xsl:value-of select="am:inspireId/base:Identifier/base:localId"/></td> <td><xsl:value-of select="am:name/descendant::gn:text"/></td> <td><xsl:value-of select="am:designationPeriod/gml:TimePeriod/gml:beginPosition"/> to <xsl:value-of select="am:designationPeriod/gml:TimePeriod/gml:endPosition"/></td> <td><xsl:value-of select="aqd:zoneCode"/></td> <td><xsl:value-of select="aqd:residentPopulation"/></td> <td><xsl:value-of select="aqd:area"/></td> </tr> </xsl:template> <xsl:template name="AQD_AssessmentRegime_table"> <xsl:param name="nodetype"/> <xsl:if test="count($nodetype) > 0"> <table class="tbl"> <xsl:for-each select="$nodetype"> <xsl:if test="position() = 1"> <xsl:call-template name="AQD_AssessmentRegime_header"/> </xsl:if> <xsl:call-template name="AQD_AssessmentRegime"/> </xsl:for-each> </table> </xsl:if> </xsl:template> <xsl:template name="AQD_AssessmentRegime_header"> <caption>Assessment regimes</caption> <tr> <th>Inspire ID</th> </tr> </xsl:template> <xsl:template name="AQD_AssessmentRegime"> <tr> <td><xsl:value-of select="aqd:inspireId/base:Identifier/base:localId"/></td> </tr> </xsl:template> <xsl:template name="AQD_Station_table"> <xsl:param name="nodetype"/> <xsl:if test="count($nodetype) > 0"> <table class="tbl"> <xsl:for-each select="$nodetype"> <xsl:if test="position() = 1"> <xsl:call-template name="AQD_Station_header"/> </xsl:if> <xsl:call-template name="AQD_Station"/> </xsl:for-each> </table> </xsl:if> </xsl:template> <xsl:template name="AQD_Station_header"> <caption>Stations</caption> <tr> <th>Inspire ID</th> <th>Name</th> <th>Position</th> <th>Mobile</th> <th>Natl. code</th> <th>EU code</th> </tr> </xsl:template> <xsl:template name="AQD_Station"> <tr> <td><xsl:value-of select="ef:inspireId/base:Identifier/base:localId"/></td> <td><xsl:value-of select="ef:name"/></td> <td><xsl:value-of select="ef:geometry/gml:Point/gml:pos"/></td> <td><xsl:value-of select="ef:mobile"/></td> <td><xsl:value-of select="aqd:natlStationCode"/></td> <td><xsl:value-of select="aqd:EUStationCode"/></td> </tr> </xsl:template> <xsl:template name="AQD_SamplingPoint_table"> <xsl:param name="nodetype"/> <xsl:if test="count($nodetype) > 0"> <table class="tbl"> <xsl:for-each select="$nodetype"> <xsl:if test="position() = 1"> <xsl:call-template name="AQD_SamplingPoint_header"/> </xsl:if> <xsl:call-template name="AQD_SamplingPoint"/> </xsl:for-each> </table> </xsl:if> </xsl:template> <xsl:template name="AQD_SamplingPoint_header"> <caption>Sampling points</caption> <tr> <th>Inspire ID</th> <th>Name</th> <th>Position</th> <th>Mobile</th> <th>Belongs to</th> <th>Used AQD</th> </tr> </xsl:template> <xsl:template name="AQD_SamplingPoint"> <tr> <td><xsl:value-of select="ef:inspireId/base:Identifier/base:localId"/></td> <td><xsl:value-of select="ef:name"/></td> <td><xsl:value-of select="ef:geometry/gml:Point/gml:pos"/></td> <td><xsl:value-of select="ef:mobile"/></td> <td><xsl:value-of select="ef:belongsTo/@xlink:href"/></td> <td><xsl:value-of select="aqd:usedAQD"/></td> </tr> </xsl:template> <!-- Wildcard property --> <xsl:template match="*" mode="property"> <td> <xsl:choose> <xsl:when test="@xlink:href != ''"> <a><xsl:attribute name="href"><xsl:value-of select="@xlink:href"/></xsl:attribute><xsl:value-of select="@xlink:href"/></a> </xsl:when> <xsl:otherwise> <xsl:value-of select="text()"/> <xsl:apply-templates mode="resourceorliteral"/> </xsl:otherwise> </xsl:choose> </td> </xsl:template> </xsl:stylesheet> <!-- vim: set expandtab sw=2 : -->
European Environment Agency
Kgs. Nytorv 6, DK-1050 Copenhagen K, Denmark