| XML schema |
http://dd.eionet.europa.eu/schemas/id2011850eu/AirQualityReporting.xsd http://schemas.opengis.net/sweCommon/2.0/swe.xsd
|
|---|---|
| Output type | CSV |
| Description | Dataflow D: General sampling point information as CSV |
| XSL file | aqd-samppoint-general-csv.xsl (Last modified: 16 Apr 2014 08:47 ) |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY sep ",">
<!ENTITY nl "
">
<!ENTITY bom "">
]>
<!-- $Id: aqd-samppoint-general-csv.xsl 15750 2014-03-14 16:12:31Z roug $
For schema http://dd.eionet.europa.eu/schemas/id2011850eu/AQD.xsd
AQD_SamplingPoint for fixed measurements business data 1 - General AQ meta information
-->
<xsl:stylesheet version="1.0"
xmlns:str="http://exslt.org/strings"
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: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: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">
<xsl:output method='text' encoding='UTF-8' indent='no'/>
<xsl:template match="/">
<xsl:text>&bom;</xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="gml:FeatureCollection">
<xsl:call-template name="header"/>
<xsl:if test="count(gml:featureMember/aqd:AQD_ReportingHeader) > 0">
<xsl:for-each select="gml:featureMember/aqd:AQD_ReportingHeader">
<xsl:apply-templates select="aqd:content"/>
</xsl:for-each>
</xsl:if>
<xsl:call-template name="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="table">
<xsl:with-param name="nodetype" select="aqd:AQD_SamplingPoint"/>
</xsl:call-template>
</xsl:template>
<!-- Named templates -->
<xsl:template name="header">
<xsl:text>GMLID</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>LocalId</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>Namespace</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>Version</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>Name</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>AssessmentType</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>Zone</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>Broader</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>BelongsTo</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>OperationalActivityBegin</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>OperationalActivityEnd</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>RelevantEmissions</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>FeatureOfInterest</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>ObservingBegin</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>ObservingEnd</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>ObservedProperty</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>UsedAQD</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>ObjectiveType</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>ReportingMetric</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>ProtectionTarget</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>ReportingDB</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>ReportingDBOther</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>SRSName</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>Pos</xsl:text><xsl:text>&sep;</xsl:text>
<xsl:text>InvolvedIn</xsl:text>
<xsl:text>&nl;</xsl:text>
</xsl:template>
<xsl:template name="table">
<xsl:param name="nodetype"/>
<xsl:if test="count($nodetype) > 0">
<xsl:for-each select="$nodetype">
<xsl:call-template name="row"/>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template name="row">
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="@gml:id"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:inspireId/base:Identifier/base:localId"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:inspireId/base:Identifier/base:namespace"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:inspireId/base:Identifier/base:versionid"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:name"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:assessmentType"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:zone/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:broader/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:belongsTo/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:operationalActivityPeriod/ef:OperationalActivityPeriod/ef:activityTime/gml:TimePeriod/gml:beginPosition"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:operationalActivityPeriod/ef:OperationalActivityPeriod/ef:activityTime/gml:TimePeriod/gml:endPosition"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:relevantEmissions/aqd:RelevantEmissions/aqd:stationClassification/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:observingCapability/ef:ObservingCapability/ef:featureOfInterest/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:observingCapability/ef:ObservingCapability/ef:observingTime/gml:TimePeriod/gml:beginPosition"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:observingCapability/ef:ObservingCapability/ef:observingTime/gml:TimePeriod/gml:endPosition"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:observingCapability/ef:ObservingCapability/ef:observedProperty/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:usedAQD"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:environmentalObjective/aqd:EnvironmentalObjective/aqd:objectiveType/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:environmentalObjective/aqd:EnvironmentalObjective/aqd:reportingMetric/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:environmentalObjective/aqd:EnvironmentalObjective/aqd:protectionTarget/@xlink:href"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:reportingDB"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="aqd:reportingDBOther"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:geometry/gml:Point/@srsName"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:geometry/gml:Point/gml:pos"/>
</xsl:call-template>
<xsl:text>&sep;</xsl:text>
<xsl:call-template name="wrapext">
<xsl:with-param name="value" select="ef:involvedIn/@xlink:href"/>
</xsl:call-template>
<xsl:text>&nl;</xsl:text>
</xsl:template>
<xsl:template name="wrapext">
<xsl:param name="value"/>
<xsl:choose>
<xsl:when test="contains($value,'&sep;') or contains($value,'
') or contains($value,'"')">
<xsl:choose>
<xsl:when test="function-available('str:replace')">
<xsl:text>"</xsl:text><xsl:value-of select="str:replace($value,'"','""')"/><xsl:text>"</xsl:text>
</xsl:when>
<xsl:when test="function-available('replace')">
<xsl:text>"</xsl:text><xsl:value-of select="replace($value,'"','""')"/><xsl:text>"</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>"</xsl:text><xsl:value-of select="$value"/><xsl:text>"</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$value"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
<!-- vim: set expandtab sw=2 : -->
European Environment Agency
Kgs. Nytorv 6, DK-1050 Copenhagen K, Denmark