View stylesheet

XML schema http://water.eionet.europa.eu/schemas/dir91271eec/UWWTD2009.xsd
Output type RDF
Description RDF for Content Registry
XSL file UWWTD2009-rdf.xsl (Last modified: 04 Aug 2010 11:37 )
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
        xmlns="http://rdfdata.eionet.europa.eu/uwwtd/ontology/"
        version="1.0">
    <xsl:output method="xml" indent="yes"/>
    <xsl:strip-space elements="aggCode rcaCode bigCityID dcpCode uwwCode indCodePlant aucUwwCode uwwID aucAggCode aggNUTS uwwNUTS dcpNUTS"/>

    <xsl:template match="UWWTD_Data">
        <rdf:RDF>
        <xsl:apply-templates/>
        </rdf:RDF>
    </xsl:template>

    <xsl:template match="UWWTD_Report">
        <rdf:Description rdf:about="">
        <xsl:apply-templates select="Reporter"/>
        <xsl:apply-templates select="ReportPeriod"/>
        <xsl:apply-templates select="MSLevel"/>
        </rdf:Description>
        <xsl:apply-templates select="ReceivingAreas"     mode="types"/>
        <xsl:apply-templates select="Agglomerations"     mode="types"/>
        <xsl:apply-templates select="BigCityDischargers" mode="types"/>
        <xsl:apply-templates select="UWWTPs"             mode="types"/>
        <xsl:apply-templates select="UwwtpAgglos"        mode="types"/>
        <xsl:apply-templates select="DischargePoints"    mode="types"/>
        <xsl:apply-templates select="Industries"         mode="types"/>
    </xsl:template>


    <xsl:template match="*" mode="types">
        <xsl:apply-templates select="*"/>
    </xsl:template>

    <xsl:template match="Reporter|ReportPeriod|MSLevel">
        <xsl:apply-templates select="*" mode="property"/>
    </xsl:template>

    <xsl:template match="ReceivingArea">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
        <xsl:attribute name="rdf:ID"><xsl:value-of select="rcaCode"/></xsl:attribute>
        <xsl:element name="forRCA" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
            <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/uwwtd/ReceivingAreas/<xsl:value-of select="rcaCode"/></xsl:attribute>
        </xsl:element>
        <xsl:apply-templates select="*" mode="property"/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="Agglomeration">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
            <xsl:attribute name="rdf:ID"><xsl:value-of select="aggCode"/></xsl:attribute>
            <xsl:element name="forAgg" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
                <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/uwwtd/Agglomerations/<xsl:value-of select="aggCode"/></xsl:attribute>
            </xsl:element>
        <xsl:apply-templates select="*" mode="property"/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="BigCityDischarger">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
        <xsl:attribute name="rdf:ID"><xsl:value-of select="bigCityID"/></xsl:attribute>
        <xsl:element name="forBCD" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
            <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/uwwtd/BigCityDischargers/<xsl:value-of select="bigCityID"/></xsl:attribute>
        </xsl:element>
        <xsl:apply-templates select="*" mode="property"/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="UWWTP">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
        <xsl:attribute name="rdf:ID"><xsl:value-of select="uwwCode"/></xsl:attribute>
        <xsl:element name="forUWW" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
            <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/uwwtd/UWWTPs/<xsl:value-of select="uwwCode"/></xsl:attribute>
        </xsl:element>
        <xsl:apply-templates select="*" mode="property"/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="UwwtpAgglo">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
        <xsl:attribute name="rdf:ID"><xsl:value-of select="generate-id()"/></xsl:attribute>
        <xsl:apply-templates select="*" mode="property"/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="DischargePoint">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
        <xsl:attribute name="rdf:ID"><xsl:value-of select="dcpCode"/></xsl:attribute>
        <xsl:element name="forDCP" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
            <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/uwwtd/DischargePoints/<xsl:value-of select="dcpCode"/></xsl:attribute>
        </xsl:element>
        <xsl:apply-templates select="*" mode="property"/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="Industry">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
        <xsl:attribute name="rdf:ID"><xsl:value-of select="indCodePlant"/></xsl:attribute>
        <xsl:element name="forIndustry" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
            <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/uwwtd/Industries/<xsl:value-of select="indCodePlant"/></xsl:attribute>
        </xsl:element>
        <xsl:apply-templates select="*" mode="property"/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="aucUwwCode|uwwID|aucAggCode" mode="property">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/"><xsl:value-of select="text()"/></xsl:element>
        <xsl:element name="for{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
        <xsl:attribute name="rdf:resource">#<xsl:value-of select="text()"/></xsl:attribute>
        </xsl:element>
    </xsl:template>

    <xsl:template match="aggNUTS|uwwNUTS|dcpNUTS" mode="property">
        <xsl:element name="hasNUTS" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
        <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/ramon/nuts2008/<xsl:value-of select="normalize-space(text())"/></xsl:attribute>
        </xsl:element>
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/">
            <xsl:value-of select="normalize-space(text())"/>
        </xsl:element>
    </xsl:template>
<!--
    <xsl:template match="aggLatitude|uwwLatitude|dcpLatitude" mode="property">
        <xsl:element name="lat" namespace="http://www.w3.org/2003/01/geo/wgs84_pos#">
            <xsl:value-of select="normalize-space(text())"/>
        </xsl:element>
    </xsl:template>

    <xsl:template match="aggLongitude|uwwLongitude|dcpLongitude" mode="property">
        <xsl:element name="long" namespace="http://www.w3.org/2003/01/geo/wgs84_pos#">
            <xsl:value-of select="normalize-space(text())"/>
        </xsl:element>
    </xsl:template>
-->
    <xsl:template match="*" mode="property">
        <xsl:element name="{local-name()}" namespace="http://rdfdata.eionet.europa.eu/uwwtd/ontology/"><xsl:value-of select="text()"/></xsl:element>
    </xsl:template>

</xsl:stylesheet>