XML schema |
http://bd.eionet.europa.eu/schemas/Art12Art17_reporting_2013/art12_birds.xsd
|
---|---|
Output type | HTML |
Description | HTML Factsheet |
XSL file | birds.xsl (Last modified: 03 Nov 2013 16:49 ) |
<?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/art12dataflow" version="1.0" exclude-result-prefixes="xml lookup"> <xsl:import href="art12_redlist-common.xsl"/> <xsl:variable name="report_type" select="'birds'"/> <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:variable name="isRedList"><xsl:value-of select="/bird_reports/@redlist = 'true'"/></xsl:variable> <xsl:template match="bird_reports"> <html> <xsl:attribute name="xml:lang"><xsl:value-of select="@xml:lang"/></xsl:attribute> <head> <title>Factsheet</title> <xsl:call-template name="getCss"/> </head> <body> <xsl:choose> <xsl:when test="$isRedList = 'false'"> <h1>Annex 2: Bird species' status and trends reporting format for the period 2008-2012</h1> </xsl:when> <xsl:otherwise> <h1>Bird species' status and trends</h1> </xsl:otherwise> </xsl:choose> <h2>Bird Species on this report</h2> <xsl:for-each select="bird_report"> <xsl:variable name="seasonText"> <xsl:call-template name="getValueLabel"> <xsl:with-param name="elem" select="season"/> </xsl:call-template> </xsl:variable> <p> <a><xsl:attribute name="href"> <xsl:value-of select="concat('#',speciescode,'_', season)"/> </xsl:attribute><xsl:value-of select="concat(speciesname, ' (', speciescode, ')', $seasonText)"/></a> </p> </xsl:for-each> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="bird_report"> <xsl:variable name="season"> <xsl:choose> <xsl:when test="$isRedList = 'false' and empty(index-of(('B','P','W'), upper-case(season)))">B</xsl:when> <xsl:when test="$isRedList = 'true' and empty(index-of(('B','W'), upper-case(season)))">B</xsl:when> <xsl:otherwise><xsl:value-of select="upper-case(season)"/></xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="speciesref" select="concat(speciescode,'_', season)"/> <a name="{$speciesref}"/> <h2>1. Species Information</h2> <table> <tbody> <xsl:apply-templates select="country"/> <tr><th colspan="2" class="header_3">1.2 Species code</th></tr> <xsl:apply-templates select="euringcode"/> <xsl:apply-templates select="speciescode"/> <xsl:apply-templates select="speciesname"/> <xsl:apply-templates select="subspecies_name"/> <xsl:apply-templates select="alternative_speciesname"/> <xsl:apply-templates select="common_speciesname"/> <xsl:apply-templates select="season"/> </tbody> </table> <!-- sections 2,3 Winter, Breeding --> <xsl:if test="$season = 'B' or $season='W'"> <h2>2. Population size</h2> <table> <tbody> <xsl:apply-templates select="population_date"/> <xsl:apply-templates select="population_size_unit"/> <xsl:apply-templates select="population_minimum_size"/> <xsl:apply-templates select="population_maximum_size"/> <xsl:apply-templates select="population_type_of_estimate"/> <xsl:apply-templates select="population_method"/> <xsl:apply-templates select="population_quality"/> <xsl:apply-templates select="population_sources"/> <!-- tr><th>2.7. Reason for change</th><td></td></tr--> <xsl:apply-templates select="population_additional_info"/> </tbody> </table> <h2>3. Population trend</h2> <table> <tbody> <tr><th colspan="2" class="header_3">3.1 Short-term trend (last 12 years)</th></tr> <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_method"/> <xsl:apply-templates select="population_trend_quality"/> <xsl:apply-templates select="population_trend_sources"/> <tr><th colspan="2" class="header_3">3.2 Long-term trend (since c. 1980)</th></tr> <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_method"/> <xsl:apply-templates select="population_trend_long_quality"/> <xsl:apply-templates select="population_trend_long_sources"/> <xsl:apply-templates select="population_trend_additional_info"/> </tbody> </table> </xsl:if> <!-- sections 4 B only and not relevant for RedList--> <xsl:if test="$season = 'B' and $isRedList = 'false'"> <h2>4. Breeding distribution map and range size</h2> <table> <tbody> <xsl:apply-templates select="range_period"/> <xsl:apply-templates select="sensitive_species"/> <xsl:apply-templates select="distribution_map"/> <xsl:apply-templates select="additional_distribution_map"/> <xsl:apply-templates select="range_map"/> <xsl:apply-templates select="range_surface_area"/> <xsl:apply-templates select="range_method"/> <xsl:apply-templates select="range_quality"/> <xsl:apply-templates select="range_sources"/> <!-- 4.10 missing in 2012 --> <xsl:apply-templates select="range_additional_info"/> </tbody> </table> </xsl:if> <!-- sections 5 B only --> <xsl:if test="$season = 'B'"> <h2>5. Breeding range trend</h2> <table> <tbody> <tr><th colspan="2" class="header_3">5.1 Short-term trend (last 12 years)</th></tr> <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_quality"/> <xsl:apply-templates select="range_trend_sources"/> <tr><th colspan="2" class="header_3">5.2 Long-term trend (since c. 1980)</th></tr> <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="range_trend_long_quality"/> <xsl:apply-templates select="range_trend_long_sources"/> <xsl:apply-templates select="range_trend_additional_info"/> </tbody> </table> </xsl:if> <!-- sections 6 not relevant for RedList --> <xsl:if test="$isRedList = 'false'"> <h2>6. Progress in work related to international Species Action Plans (SAPs), Management Plans (MPs) and Brief Management Statements (BMSs)</h2> <table> <tbody> <xsl:apply-templates select="plan"/> <xsl:apply-templates select="national_plan_adopted"/> <xsl:apply-templates select="measures_taken"/> <xsl:apply-templates select="further_information"/> </tbody> </table> </xsl:if> <!-- sections 7,8 not relevant for RedList --> <xsl:if test="$isRedList = 'false'"> <xsl:if test="string-length(normalize-space(string-join(pressures_threats/descendant::*/text(),''))) > 0"> <h2>7. Main pressures and threats</h2> <table> <tbody> <xsl:apply-templates select="pressures_threats"/> </tbody> </table> </xsl:if> <xsl:if test="string-length(normalize-space(string-join(./descendant::*[starts-with(name(),'spa_population')]/text(),''))) > 0 or string-length(normalize-space(string-join(measures/descendant::*/text(),''))) > 0"> <h2>8. SPA coverage and conservation measures</h2> <table> <tbody> <tr><th colspan="2" class="header_3">8.1 Population inside the SPA network</th></tr> <xsl:apply-templates select="spa_population_unit"/> <xsl:apply-templates select="spa_population_min"/> <xsl:apply-templates select="spa_population_max"/> <xsl:apply-templates select="spa_population_method"/> <xsl:apply-templates select="spa_population_trend"/> <xsl:apply-templates select="measures"/> </tbody> </table> </xsl:if> </xsl:if> <p class="report_end"> </p> </xsl:template> <xsl:template match="range_sources|range_additional_info|population_sources|population_additional_info|population_trend_additional_info|population_trend_sources|range_trend_long_sources|range_trend_additional_info|measures_taken|further_information"> <tr> <th> <xsl:call-template name="tag-label"> <xsl:with-param name="tagname" select="name(.)"/> </xsl:call-template> </th> <td class="preserve" colspan="2"> <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="measures"> <tr> <th scope="row" class="header_3" colspan="2">8.2 Conversation measures</th> </tr> <tr> <td colspan="2"> <table> <tr> <th>8.2.1 Measure</th> <th>8.2.2 Type</th> <th>8.2.3 Ranking</th> <th>8.2.4 Location</th> <th>8.2.5 Broad Evaluation of the measure</th> </tr> <xsl:apply-templates/> </table> </td> </tr> </xsl:template> <xsl:template match="pressures_threats"> <tr> <th>a) Pressure/Threat</th> <th>b) Impact</th> <th>c) Quality of<br/>impact assessment</th> <th>d) Location</th> <th>e) Sources</th> </tr> <xsl:apply-templates/> </xsl:template> <xsl:template match="measure"> <tr> <td> <xsl:call-template name="getValue"><xsl:with-param name="elem" select="code"/></xsl:call-template> </td> <td> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./type_legal"/> <xsl:with-param name="out-text" select="'Legal '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./type_administrative"/> <xsl:with-param name="out-text" select="'Administrative '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./type_contractual"/> <xsl:with-param name="out-text" select="'Contractual '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./type_recurrent"/> <xsl:with-param name="out-text" select="'Recurrent '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./type_oneoff"/> <xsl:with-param name="out-text" select="'One Off '"/> </xsl:call-template> </td> <td> <xsl:call-template name="getValue"><xsl:with-param name="elem" select="ranking"/></xsl:call-template> </td> <td> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./location_inside"/> <xsl:with-param name="out-text" select="'Inside '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./location_outside"/> <xsl:with-param name="out-text" select="'Outside '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./location_both"/> <xsl:with-param name="out-text" select="'Both '"/> </xsl:call-template> </td> <td> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./broad_evaluation_maintain"/> <xsl:with-param name="out-text" select="'Maintain '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./broad_evaluation_enhance"/> <xsl:with-param name="out-text" select="'Enchance '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./broad_evaluation_longterm"/> <xsl:with-param name="out-text" select="'Long-term '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./broad_evaluation_noeffect"/> <xsl:with-param name="out-text" select="'No Effect '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./broad_evaluation_unknown"/> <xsl:with-param name="out-text" select="'Unknown '"/> </xsl:call-template> <xsl:call-template name="boolean-string"> <xsl:with-param name="text" select="./broad_evaluation_notevaluated" /> <xsl:with-param name="out-text" select="'Not Evaluated '"/> </xsl:call-template> </td> </tr> </xsl:template> <xsl:template match="pressure_threat"> <tr> <td> <xsl:call-template name="getValue"><xsl:with-param name="elem" select="code"/></xsl:call-template> </td> <td> <xsl:call-template name="getValue"><xsl:with-param name="elem" select="ranking"/></xsl:call-template> </td> <td> <xsl:call-template name="getValue"><xsl:with-param name="elem" select="quality"/></xsl:call-template> </td> <td> <xsl:call-template name="getValue"><xsl:with-param name="elem" select="location"/></xsl:call-template> </td> <td> <xsl:if test="string-length(sources)!=0"> <xsl:call-template name="break"> <xsl:with-param name="text" select="sources"/> </xsl:call-template> </xsl:if> </td> </tr> </xsl:template> </xsl:stylesheet>
European Environment Agency
Kgs. Nytorv 6, DK-1050 Copenhagen K, Denmark