View stylesheet

XML schema http://biodiversity.eionet.europa.eu/schemas/bernconvention/derogations.xsd
Output type RDF
Description Show as RDF
XSL file derogations-rdf.xsl (Last modified: 13 Jul 2010 20:41 )
<xsl:stylesheet version="1.0"
xmlns="http://rdfdata.eionet.europa.eu/habdir/ontology/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method='xml' version='1.0' encoding='UTF-8' indent='yes'/>

<xsl:variable name="habitatsURL" select="'http://rod.eionet.europa.eu/obligations/268'"/>
<xsl:variable name="birdsURL" select="'http://rod.eionet.europa.eu/obligations/276'"/>

<xsl:template match="derogationJustification|licensingAuthority|licenseValidFrom|licenseValidUntil|
      species|sensitive|numberOfLicenses|location|alternativesAssessed|
      supervisoryMeasure|comments|licensedJustification|
      strictlySupervisedConditions|selectiveBasis|impactOnPopulation">
    <xsl:if test="string-length(.) &gt; 0">
        <xsl:element name="{local-name()}"><xsl:value-of select="text()"/></xsl:element>
    </xsl:if>
</xsl:template>

<xsl:template match="bioRegions/bioRegion">
    <xsl:element name="{local-name()}">
        <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/article17/bioregions/<xsl:value-of select="./@code"/></xsl:attribute>
    </xsl:element>
</xsl:template>

<xsl:template match="regions/region">
    <xsl:element name="{local-name()}">
        <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/ramon/nuts2008/<xsl:value-of select="./@code"/></xsl:attribute>
    </xsl:element>
</xsl:template>

<xsl:template match="reasons/reason|activities/activity|methods/method">
    <xsl:element name="{local-name()}"><xsl:value-of select="text()"/></xsl:element>
</xsl:template>

<xsl:template match="licensed|actuallyTaken|populationSize">
    <xsl:for-each select="*">
        <xsl:if test="string-length(.) &gt; 0">
            <xsl:element name="{concat(local-name(..),'_',local-name())}"><xsl:value-of select="text()"/></xsl:element>
        </xsl:if>
    </xsl:for-each>
</xsl:template>

<xsl:template match="/">
  <rdf:RDF>
  
  <xsl:for-each select="derogations/derogation">
    <Derogation>
        <xsl:attribute name="rdf:ID"><xsl:value-of select="./@derogation_reference"/></xsl:attribute>
        <country><xsl:value-of select="/derogations/@country"/></country>
        <countryRef>
            <xsl:attribute name="rdf:resource">http://rdfdata.eionet.europa.eu/iso3166/countries/<xsl:value-of select="/derogations/@country"/></xsl:attribute>
        </countryRef>
        <userIdentity><xsl:value-of select="./@userIdentity"/></userIdentity>
	<derogationReference><xsl:value-of select="./@derogation_reference"/></derogationReference>
        <userDerogationReference><xsl:value-of select="./@user_derogation_ref"/></userDerogationReference>
	<forObligation><xsl:attribute name="rdf:resource"><xsl:value-of select="./@directive"/></xsl:attribute></forObligation>

        <xsl:apply-templates/>

	</Derogation>
	</xsl:for-each>
</rdf:RDF>
</xsl:template>
</xsl:stylesheet>