XML schema |
http://water.eionet.europa.eu/schemas/dir91271eec/UWWTD2011.xsd
|
---|---|
Output type | RDF |
Description | RDF |
XSL file | UWWTD2011-rdf.xsl (Last modified: 23 Aug 2013 09:49 ) |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xsl:stylesheet [ <!ENTITY nuts "http://rdfdata.eionet.europa.eu/ramon/nuts/"> <!ENTITY uwwtref "http://reference.eionet.europa.eu/uwwtd/"> <!ENTITY uwwtns "http://rdfdata.eionet.europa.eu/uwwtd/ontology/"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > ]> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 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"> <!-- $Id: UWWTD2009-rdf.xsl 14668 2013-08-23 09:48:25Z roug $ For http://water.eionet.europa.eu/schemas/dir91271eec/UWWTD2009.xsd and http://water.eionet.europa.eu/schemas/dir91271eec/UWWTD2011.xsd --> <!-- <xsl:key name="uwwlist" match="UWWTP" use="uwwCode" /> <xsl:key name="agglist" match="Agglomeration" use="aggCode" /> <xsl:key name="rcalist" match="ReceivingArea" use="rcaCode" /> <xsl:key name="dcplist" match="DischargePoint" use="dcpCode" /> --> <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="Contacts" mode="types"/> <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="Contact"> <xsl:element name="{local-name()}" namespace="&uwwtns;"> <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="ReceivingArea"> <xsl:element name="{local-name()}" namespace="&uwwtns;"> <xsl:attribute name="rdf:about">#R-<xsl:value-of select="rcaCode"/></xsl:attribute> <xsl:element name="declarationFor" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">&uwwtref;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="&uwwtns;"> <xsl:attribute name="rdf:about">#A-<xsl:value-of select="aggCode"/></xsl:attribute> <rdf:type rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> <xsl:element name="declarationFor" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">&uwwtref;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="&uwwtns;"> <xsl:attribute name="rdf:about">#B-<xsl:value-of select="bigCityID"/></xsl:attribute> <xsl:element name="declarationFor" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">&uwwtref;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="&uwwtns;"> <xsl:attribute name="rdf:about">#U-<xsl:value-of select="uwwCode"/></xsl:attribute> <rdf:type rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> <xsl:element name="declarationFor" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">&uwwtref;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="&uwwtns;"> <xsl:attribute name="rdf:about">#<xsl:value-of select="aucUwwCode"/>,<xsl:value-of select="aucAggCode"/></xsl:attribute> <xsl:element name="declarationFor" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">&uwwtref;UwwtpAgglos/<xsl:value-of select="aucUwwCode"/>,<xsl:value-of select="aucAggCode"/></xsl:attribute> </xsl:element> <xsl:apply-templates select="*" mode="property"/> </xsl:element> </xsl:template> <xsl:template match="DischargePoint"> <xsl:element name="{local-name()}" namespace="&uwwtns;"> <xsl:attribute name="rdf:about">#D-<xsl:value-of select="dcpCode"/></xsl:attribute> <rdf:type rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> <xsl:element name="declarationFor" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">&uwwtref;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="&uwwtns;"> <xsl:attribute name="rdf:about">#I-<xsl:value-of select="indCodePlant"/></xsl:attribute> <xsl:element name="declarationFor" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">&uwwtref;Industries/<xsl:value-of select="indCodePlant"/></xsl:attribute> </xsl:element> <xsl:apply-templates select="*" mode="property"/> </xsl:element> </xsl:template> <xsl:template match="uwwID|aucUwwCode" mode="property"> <xsl:element name="{local-name()}" namespace="&uwwtns;"><xsl:value-of select="text()"/></xsl:element> <xsl:element name="for{local-name()}" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">#U-<xsl:value-of select="text()"/></xsl:attribute> </xsl:element> </xsl:template> <xsl:template match="aggID|aucAggCode" mode="property"> <xsl:element name="{local-name()}" namespace="&uwwtns;"><xsl:value-of select="text()"/></xsl:element> <xsl:element name="for{local-name()}" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">#A-<xsl:value-of select="text()"/></xsl:attribute> </xsl:element> </xsl:template> <xsl:template match="rcaID|rcaSensitiveArea" mode="property"> <xsl:element name="{local-name()}" namespace="&uwwtns;"><xsl:value-of select="text()"/></xsl:element> <xsl:element name="for{local-name()}" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">#R-<xsl:value-of select="text()"/></xsl:attribute> </xsl:element> </xsl:template> <xsl:template match="aggNUTS|uwwNUTS|dcpNUTS" mode="property"> <xsl:element name="hasNUTS" namespace="&uwwtns;"> <xsl:attribute name="rdf:resource">&nuts;<xsl:value-of select="normalize-space(text())"/></xsl:attribute> </xsl:element> <xsl:element name="{local-name()}" namespace="&uwwtns;"> <xsl:value-of select="normalize-space(text())"/> </xsl:element> </xsl:template> <!-- Elements containing true/false --> <xsl:template match="aggAccOverflows|aggCapacity|aggDilutionRates|aggOtherMeasures|aggPressureTest|aggVideoInspections| mslWWReuseAgri|mslWWReuseInd|mslWWReuseOther| rcaAbsenceRisk|rcaANitro|rcaAPhos|rcaArt54Applied|rcaB|rcaC|rcaHydraulic| rcaHydrologie|rcaMorphology|rcaParameterN|rcaParameterOther|rcaParameterP| uwwAccidents|uwwBadDesign|uwwBadPerformance|uwwChlorination|uwwMicroFiltration|uwwNRemoval|uwwOther|uwwOtherTreatment| uwwOzonation|uwwPRemoval|uwwPrimaryTreatment|uwwSandFiltration|uwwSecondaryTreatment|uwwUV" mode="property"> <xsl:element name="{local-name()}" namespace="&uwwtns;"> <xsl:if test="contains('|true|false|1|0|', normalize-space(text()))"> <xsl:attribute name="rdf:datatype">&xsd;boolean</xsl:attribute> </xsl:if> <xsl:value-of select="text()"/> </xsl:element> </xsl:template> <!-- Elements containing numbers --> <xsl:template match="aucPercEnteringUWWTP|aggPercWithoutTreatment| mslSludgeProduction|mslReuseSoilAgriculture|mslReuseOthers|mslDisposalLandfill|mslDisposalIncineration|mslDisposalOthers| rcaPlants|rcaPlantsCapacity|rcaNIncomingMeasured|rcaPIncomingMeasured|rcaNDischargedMeasured|rcaPDischargedMeasured| uwwLoadEnteringUWWTP|uwwCapacity" mode="property"> <xsl:element name="{local-name()}" namespace="&uwwtns;"> <xsl:if test="number(text()) = text()"> <xsl:attribute name="rdf:datatype">&xsd;decimal</xsl:attribute> </xsl:if> <xsl:value-of select="normalize-space(text())"/> </xsl:element> </xsl:template> <xsl:template match="aggLatitude|uwwLatitude|dcpLatitude" mode="property"> <xsl:element name="geo:lat"> <xsl:attribute name="rdf:datatype">&xsd;decimal</xsl:attribute> <xsl:value-of select="normalize-space(text())"/> </xsl:element> </xsl:template> <xsl:template match="aggLongitude|uwwLongitude|dcpLongitude" mode="property"> <xsl:element name="geo:long"> <xsl:attribute name="rdf:datatype">&xsd;decimal</xsl:attribute> <xsl:value-of select="normalize-space(text())"/> </xsl:element> </xsl:template> <xsl:template match="uwwName|aggName|rcaName|dcpName" mode="property"> <xsl:element name="{local-name()}" namespace="&uwwtns;"><xsl:value-of select="text()"/></xsl:element> <xsl:element name="rdfs:label"><xsl:value-of select="text()"/></xsl:element> </xsl:template> <xsl:template match="*" mode="property"> <xsl:element name="{local-name()}" namespace="&uwwtns;"><xsl:value-of select="text()"/></xsl:element> </xsl:template> </xsl:stylesheet>
European Environment Agency
Kgs. Nytorv 6, DK-1050 Copenhagen K, Denmark