View stylesheet

XML schema http://dd.eionet.europa.eu/schemas/habitatsdirective/art17_species.xsd
Output type HTML
Description HTML Factsheet
XSL file species-2018.xsl (Last modified: 20 Mar 2019 11:41 )
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns="http://www.w3.org/1999/xhtml" xmlns:lookup="http://biodiversity.eionet.europa.eu/art17dataflow"
    version="1.0" exclude-result-prefixes="xml lookup">

    <xsl:import href="art12_art17-common-2018.xsl"/>
    <xsl:variable name="report_type" select="'species'"/>
    
    <xsl:output method="xml" indent="yes"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
        omit-xml-declaration="yes" />

    <xsl:param name="envelopeurl"/>
    <xsl:param name="envelopepath"/>
    <xsl:param name="filename"/>

    <xsl:preserve-space elements="published"/>
    <xsl:template match="species_reports">
        <html>
            <xsl:attribute name="xml:lang"><xsl:value-of select="@xml:lang"/></xsl:attribute>

            <head>
                <meta charset="UTF-8"/>
                <title>Factsheet</title>
                <xsl:call-template name="getCss"/>
            </head>
            <body>
                <h1>Annex B - Report format on the 'main results of the surveillance under Article 11' for Annex II, IV &amp; V species</h1>
                <h2>Species and Regional Levels on this report</h2>
                   <xsl:for-each select="species_report">
                    <p>
                       <a><xsl:attribute name="href"><xsl:value-of select="concat('#', speciescode)"/></xsl:attribute><xsl:value-of select="concat(speciescode, ' - ' , speciesname)"/></a>
                          <xsl:for-each select="regional/region">
                           <a>
                              <xsl:attribute name="href"><xsl:value-of select="concat('#', ../../speciescode, code)"/></xsl:attribute>
                                 <xsl:value-of select="concat(' ', code)"/>
                            </a>
                          </xsl:for-each>
                    </p>
                </xsl:for-each>
                <xsl:apply-templates/>
            </body>
        </html>
    </xsl:template>

    <xsl:template match="species_report">
        <xsl:variable name="scode" select="speciescode"/>

        <h1 id="{$scode}">Species Report</h1>
        <h2>NATIONAL LEVEL</h2>

        <table>
            <tbody>
                <tr><th colspan="2" class="header_3">1. General information</th></tr>
                <xsl:apply-templates select="country"/>
                <xsl:apply-templates select="speciescode"/>
                <xsl:apply-templates select="speciesname"/>
                <xsl:apply-templates select="alternative_speciesname"/>
                <xsl:apply-templates select="common_speciesname"/>
            </tbody>
        </table>

        <table>
            <tbody>
                <tr><th colspan="2" class="header_3">2. Maps</th></tr>
                <xsl:apply-templates select="sensitive_species"/>
                <xsl:apply-templates select="distribution_date"/>
                <xsl:apply-templates select="distribution_map"/>
                <xsl:apply-templates select="distribution_method"/>
                <xsl:apply-templates select="additional_distribution_map"/>
            </tbody>
        </table>

        <xsl:apply-templates select="annexV_species"/>
        <xsl:apply-templates select="regional"/>
        <p class="report_end"> </p>
    </xsl:template>

    <xsl:template match="annexV_species">
        <table>
            <tbody>
                <tr><th colspan="3" class="header_3">3. Information related to Annex V Species (Art. 14)</th></tr>
                <xsl:apply-templates select="wild_takings"/>
                <tr>
                    <th rowspan="9">3.2 Which of the measures in Art. 14 have been taken?</th>
                    <td>a) regulations regarding access to property</td>
                    <td><xsl:call-template name="getValue"><xsl:with-param name="elem" select="measures_access"/></xsl:call-template></td>
                </tr>
                <tr>
                    <td>b) temporary or local prohibition of the taking of specimens in the wild and exploitation</td>
                    <td><xsl:call-template name="getValue"><xsl:with-param name="elem" select="measures_prohibitions"/></xsl:call-template></td>
                </tr>
                <tr>
                    <td>c) regulation of the periods and/or methods of taking specimens</td>
                    <td><xsl:call-template name="getValue"><xsl:with-param name="elem" select="measures_periods"/></xsl:call-template></td>
                </tr>
                <tr>
                    <td>d) application of hunting and fishing rules which take account of the conservation of such populations</td>
                    <td><xsl:call-template name="getValue"><xsl:with-param name="elem" select="measures_rules"/></xsl:call-template></td>
                </tr>
                <tr>
                    <td>e) establishment of a system of licences for taking specimens or of quotas</td>
                    <td><xsl:call-template name="getValue"><xsl:with-param name="elem" select="measures_licences"/></xsl:call-template></td>
                </tr>
                <tr>
                    <td>f) regulation of the purchase, sale, offering for sale, keeping for sale or transport for sale of specimens</td>
                    <td><xsl:call-template name="getValue"><xsl:with-param name="elem" select="measures_trading_legislation"/></xsl:call-template></td>
                </tr>
                <tr>
                    <td>g) breeding in captivity of animal species as well as artificial propagation of plant species</td>
                    <td><xsl:call-template name="getValue"><xsl:with-param name="elem" select="measures_conservation_propagation"/></xsl:call-template></td>
                </tr>
                <tr>
                    <td>h) other measures</td>
                    <td><xsl:call-template name="getValue"><xsl:with-param name="elem" select="measures_other"/></xsl:call-template></td>
                </tr>
                <tr>
                    <td colspan="2">
                        <xsl:call-template name="break">
                            <xsl:with-param name="text" select="measures_other_info"/>
                        </xsl:call-template>
                    </td>
                </tr>
                <tr>
                    <th>3.3 Hunting bag or quantity taken in the wild for Mammals and Acipenseridae (Fish)</th>
                    <td colspan="2">
                        <table>
                            <tbody>
                                <tr>
                                    <th>a) Unit</th>
                                    <td colspan="6"><xsl:call-template name="getValue"><xsl:with-param name="elem" select="huntingbag_unit"/></xsl:call-template></td>
                                </tr>
                                <tr>
                                    <th>b) Statistics/ quantity taken</th>
                                    <td>Season/year 1</td>
                                    <td>Season/year 2</td>
                                    <td>Season/year 3</td>
                                    <td>Season/year 4</td>
                                    <td>Season/year 5</td>
                                    <td>Season/year 6</td>
                                </tr>
                                <tr>
                                    <th>Min. (raw, ie. not rounded)</th>
                                    <td><xsl:value-of select="huntingbag_y1_min"/></td>
                                    <td><xsl:value-of select="huntingbag_y2_min"/></td>
                                    <td><xsl:value-of select="huntingbag_y3_min"/></td>
                                    <td><xsl:value-of select="huntingbag_y4_min"/></td>
                                    <td><xsl:value-of select="huntingbag_y5_min"/></td>
                                    <td><xsl:value-of select="huntingbag_y6_min"/></td>
                                </tr>
                                <tr>
                                    <th>Max. (raw, ie. not rounded)</th>
                                    <td><xsl:value-of select="huntingbag_y1_max"/></td>
                                    <td><xsl:value-of select="huntingbag_y2_max"/></td>
                                    <td><xsl:value-of select="huntingbag_y3_max"/></td>
                                    <td><xsl:value-of select="huntingbag_y4_max"/></td>
                                    <td><xsl:value-of select="huntingbag_y5_max"/></td>
                                    <td><xsl:value-of select="huntingbag_y6_max"/></td>
                                </tr>
                                <tr>
                                    <th>Unknown</th>
                                    <td><xsl:call-template name="getYesNoValue"><xsl:with-param name="elem" select="huntingbag_y1_unknown"/></xsl:call-template></td>
                                    <td><xsl:call-template name="getYesNoValue"><xsl:with-param name="elem" select="huntingbag_y2_unknown"/></xsl:call-template></td>
                                    <td><xsl:call-template name="getYesNoValue"><xsl:with-param name="elem" select="huntingbag_y3_unknown"/></xsl:call-template></td>
                                    <td><xsl:call-template name="getYesNoValue"><xsl:with-param name="elem" select="huntingbag_y4_unknown"/></xsl:call-template></td>
                                    <td><xsl:call-template name="getYesNoValue"><xsl:with-param name="elem" select="huntingbag_y5_unknown"/></xsl:call-template></td>
                                    <td><xsl:call-template name="getYesNoValue"><xsl:with-param name="elem" select="huntingbag_y6_unknown"/></xsl:call-template></td>
                                </tr>
                            </tbody>
                        </table>
                    </td>
                </tr>
                <xsl:apply-templates select="huntingbag_method"/>
                <xsl:apply-templates select="annexV_info"/>
            </tbody>
        </table>
    </xsl:template>

    <xsl:template match="regional">
        <p>
            Biogeographic regions and/or marine regions concerned within the member state:
            <b>
                <xsl:for-each select="region">
                    <a>
                        <xsl:attribute name="href"><xsl:value-of select="concat('#', ../../speciescode, code)"/></xsl:attribute>
                        <xsl:value-of select="concat(' ', code)"/>
                    </a>
                </xsl:for-each>
            </b>
        </p>
        <h2>BIOGEOGRAPHICAL LEVEL</h2>
        <xsl:apply-templates select="region"/>
    </xsl:template>

    <xsl:template match="published">
        <tr>
            <th>
                <xsl:call-template name="tag-label">
                    <xsl:with-param name="tagname" select="name(.)"/>
                    <xsl:with-param name="entity_type" select="'region'"/>
                </xsl:call-template>
            </th>
            <td class="preserve" colspan="2">

                <xsl:if test="string-length(.)=0">
                </xsl:if>
                <xsl:if test="string-length(.)!=0">
                    <xsl:call-template name="break">
                        <xsl:with-param name="text" select="."/>
                    </xsl:call-template>
                </xsl:if>
            </td>
        </tr>
    </xsl:template>

    <xsl:template match="region">
        <xsl:variable name="reg" select="concat(../../speciescode, code)"/>
        <table class="table_region">
            <caption>Regional level</caption>
            <tbody>
                <tr>
                    <th colspan="3" class="header_3" id="{$reg}">4. Biogeographical and marine regions</th>
                </tr>
                <xsl:apply-templates select="code"/>
                <xsl:apply-templates select="published"/>
            </tbody>
        </table>

        <table>
            <tbody>
                <tr><th colspan="3" class="header_3">5. Range</th></tr>
                <xsl:apply-templates select="range_surface_area"/>
                <xsl:apply-templates select="range_trend_period"/>
                <xsl:apply-templates select="range_trend"/>
                <xsl:apply-templates select="range_trend_magnitude_min"/>
                <xsl:apply-templates select="range_trend_magnitude_max"/>
                <xsl:apply-templates select="range_trend_method"/>
                <xsl:apply-templates select="range_trend_long_period"/>
                <xsl:apply-templates select="range_trend_long"/>
                <xsl:apply-templates select="range_trend_long_magnitude_min"/>
                <xsl:apply-templates select="range_trend_long_magnitude_max"/>
                <xsl:apply-templates select="range_trend_long_method"/>
                <xsl:apply-templates select="complementary_favourable_range"/>
                <xsl:apply-templates select="complementary_favourable_range_op"/>
                <xsl:apply-templates select="complementary_favourable_range_x"/>
                <xsl:apply-templates select="complementary_favourable_range_method"/>
                <xsl:call-template name="getDataChangeSection">
                    <xsl:with-param name="elem" select="range_reasons_for_change"/>
                    <xsl:with-param name="title" select="'5.11 Change and reason for change in surface area of range'"/>
                </xsl:call-template>
                <xsl:apply-templates select="range_info"/>
            </tbody>
        </table>

        <table>
            <tbody>
                <tr><th colspan="3" class="header_3">6. Population</th></tr>    
                <xsl:apply-templates select="population_date"/>
                <xsl:apply-templates select="population_size_unit"/>
                <xsl:apply-templates select="population_size_min"/>
                <xsl:apply-templates select="population_size_max"/>
                <xsl:apply-templates select="population_size"/>
                <xsl:apply-templates select="population_estimate_type"/>
                <xsl:apply-templates select="population_alt_size_unit"/>
                <xsl:apply-templates select="population_alt_size_min"/>
                <xsl:apply-templates select="population_alt_size_max"/>
                <xsl:apply-templates select="population_alt_size"/>
                <xsl:apply-templates select="population_alt_estimate_type"/>
                <xsl:apply-templates select="population_method"/>
                <xsl:apply-templates select="population_trend_period"/>
                <xsl:apply-templates select="population_trend"/>
                <xsl:apply-templates select="population_trend_magnitude_min"/>
                <xsl:apply-templates select="population_trend_magnitude_max"/>
                <xsl:apply-templates select="population_trend_magnitude_ci"/>
                <xsl:apply-templates select="population_trend_method"/>
                <xsl:apply-templates select="population_trend_long_period"/>
                <xsl:apply-templates select="population_trend_long"/>
                <xsl:apply-templates select="population_trend_long_magnitude_min"/>
                <xsl:apply-templates select="population_trend_long_magnitude_max"/>
                <xsl:apply-templates select="population_trend_long_magnitude_ci"/>
                <xsl:apply-templates select="population_trend_long_method"/>
                <xsl:apply-templates select="complementary_favourable_population"/>
                <xsl:apply-templates select="complementary_favourable_population_unit"/>
                <xsl:apply-templates select="complementary_favourable_population_op"/>
                <xsl:apply-templates select="complementary_favourable_population_x"/>
                <xsl:apply-templates select="complementary_favourable_population_method"/>
                <xsl:call-template name="getDataChangeSection">
                    <xsl:with-param name="elem" select="population_reasons_for_change"/>
                    <xsl:with-param name="title" select="'6.16 Change and reason for change in population size'"/>
                </xsl:call-template>
                <xsl:apply-templates select="population_info"/>
            </tbody>
        </table>
        
        <table>
            <tbody>
                <tr><th colspan="3" class="header_3">7. Habitat for the species</th></tr>
                <xsl:apply-templates select="habitat_sufficiency_occupied"/>
                <xsl:apply-templates select="habitat_sufficiency_unoccupied"/>
                <xsl:apply-templates select="habitat_sufficiency_method"/>
                <xsl:apply-templates select="habitat_trend_period"/>
                <xsl:apply-templates select="habitat_trend"/>
                <xsl:apply-templates select="habitat_trend_method"/>
                <xsl:apply-templates select="habitat_trend_long_period"/>
                <xsl:apply-templates select="habitat_trend_long"/>
                <xsl:apply-templates select="habitat_trend_long_method"/>
                <xsl:apply-templates select="habitat_info"/>
            </tbody>
        </table>

        <xsl:call-template name="getPressuresThreatsSection"/>

        <xsl:call-template name="getConservationMeasuresSection"/>

        <table>
            <tbody>
                <tr><th colspan="3" class="header_3">10. Future prospects</th></tr>
                <xsl:apply-templates select="future_range"/>
                <xsl:apply-templates select="future_population"/>
                <xsl:apply-templates select="future_habitat"/>
                <xsl:apply-templates select="future_info"/>
            </tbody>
        </table>

        <table>
            <tbody>
                <tr><th colspan="3" class="header_3">11. Conclusions</th></tr>
                <xsl:apply-templates select="conclusion_range"/>
                <xsl:apply-templates select="conclusion_population"/>
                <xsl:apply-templates select="conclusion_habitat"/>
                <xsl:apply-templates select="conclusion_future"/>
                <xsl:apply-templates select="conclusion_assessment"/>
                <xsl:apply-templates select="conclusion_assessment_trend"/>
                <xsl:call-template name="getConservationStatusDataChange"/>
                <xsl:apply-templates select="conclusion_info"/>
            </tbody>
        </table>

        <table>
            <tbody>
                <tr><th colspan="3" class="header_3">12. Natura 2000 (pSCIs, SCIs and SACs) coverage for Annex II species</th></tr>
                <xsl:apply-templates select="natura2000_population_unit"/>
                <xsl:apply-templates select="natura2000_population_min"/>
                <xsl:apply-templates select="natura2000_population_max"/>
                <xsl:apply-templates select="natura2000_population"/>
                <xsl:apply-templates select="natura2000_population_estimate_type"/>
                <xsl:apply-templates select="natura2000_population_method"/>
                <xsl:apply-templates select="natura2000_population_trend"/>
                <xsl:apply-templates select="natura2000_population_trend_method"/>
                <xsl:apply-templates select="natura2000_info"/>
            </tbody>
        </table>
         
        <table>
            <tbody>
                <tr><th colspan="3" class="header_3">13. Complementary information</th></tr>
                <xsl:apply-templates select="justification"/>
                <xsl:apply-templates select="transboundary_assessment"/>
                <xsl:apply-templates select="other_relevant_info"/>
            </tbody>
        </table>

    </xsl:template>

</xsl:stylesheet>