Subversion Repositories eFlore/Archives.eflore-consultation-v1

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="iso-8859-1" version="1.0" standalone="yes" indent="yes" />

<!-- DECLARATION DE VARIABLES-->
<!-- Variable "nom_url" récupérant le numéro nomenclatural du nom recherché.-->
<!-- Ce numéro est présent dans l'url appelant le service XML "donneidentitestaxons".-->
<xsl:variable name="nom_url" select="/FICHE_IDENTITES_TAXONS/@numnom" />

<!-- Variable "taxo_url" récupérant le numéro taxonomique du nom recherché,-->
<!-- donc présent dans l'url appelant le service XML "donneidentitestaxons".-->
<!-- Utilisé pour récupérer le nom vernaculaire séléctionné.-->
<xsl:variable name="taxo_url" select="/FICHE_IDENTITES_TAXONS/@numtaxo" />

<xsl:template match="/">
    <tr>
        <td align="center">
            <h3 class="titlePage">Identit&#233; du taxon</h3>
        </td>
    </tr>
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="FICHE_IDENTITES_TAXONS">
    <xsl:if test="not(boolean(/FICHE_IDENTITES_TAXONS/NOM_VALIDE)) and not(boolean(/FICHE_IDENTITES_TAXONS/LISTE_NOMS_VALIDES))">
        <tr>
            <td>
                <h5 class="insTitle1">Nom retenu (correct)</h5>
            </td>
        </tr>
        <tr class="eflore_avertissement">
            <td align="center">
                Il n'existe aucun nom retenu (correct) pour ce taxon relativement à la classification courante.
            </td>
        </tr>
    </xsl:if>
    <xsl:if test="not(boolean($taxo_url))">
        <xsl:apply-templates select ="LISTE_SYNONYMES" mode="nom_url"/>
    </xsl:if>
    <xsl:apply-templates select ="NOM_VALIDE"/>
    <xsl:apply-templates select ="LISTE_NOMS_VALIDES"/>
    <xsl:apply-templates select ="LISTE_NOMS_TAXONS_PARENTS"/>
    <xsl:apply-templates select ="LISTE_SYNONYMES"/>
    <xsl:apply-templates select ="LISTE_NOMS_VERNACULAIRES"/>
</xsl:template>

<!-- Le template suivant permet de récupérer dans la liste des synonymes le nom sélectionné dans "listetaxons.xls"-->
<!-- car dans "listetaxons.xsl", l'url permettant d'obtenir la fiche d'identité du taxon utilise le n° nomenclatural-->
<!-- Ce n° nomenclatural apparait dans dans la balise "FICHE_IDENTITES_TAXONS" sous forme de l'attribut "numnom"-->
<xsl:template match="LISTE_SYNONYMES" mode="nom_url">
    <tr>
        <td>
            <h5 class="insTitle1">Nom s&#233;lectionn&#233; pr&#233;c&#233;demment</h5>
        </td>
    </tr>
    <tr class="texte_tb">
        <td>
            <li>
                <xsl:if test="/FICHE_IDENTITES_TAXONS/NOM_VALIDE/NOM_TAXON/@numnom = $nom_url">
                    <xsl:apply-templates select="/FICHE_IDENTITES_TAXONS/NOM_VALIDE/NOM_TAXON[@numnom]" />
                </xsl:if>
                <xsl:if test="NOM_TAXON/@numnom = $nom_url">
                    <xsl:apply-templates select="NOM_TAXON[@numnom = $nom_url]" />
                </xsl:if>
                <xsl:text>  </xsl:text>
                <xsl:text> [ </xsl:text>
                <span>
                    <xsl:attribute name="class">eflore_num_nomen</xsl:attribute>
                        <xsl:value-of select="$nom_url"/>
                </span>
                <xsl:text> - </xsl:text>
                <span>
                    <xsl:attribute name="class">eflore_num_taxo</xsl:attribute>
                        <xsl:value-of select="@numtaxo"/>
                </span>
                <xsl:text> ] </xsl:text>
            </li>
            <!--<xsl:if test="boolean($taxo_url)">
                <xsl:apply-templates select="/FICHE_IDENTITES_TAXONS/LISTE_NOMS_VERNACULAIRES/NOM_VERNACULAIRE[@numtaxo = $taxo_url]" />
            </xsl:if>-->
            <br />
        </td>
    </tr>
</xsl:template>

<xsl:template match="NOM_VALIDE">
    <xsl:apply-templates select="NOM_TAXON"  mode="nomRetenu"/>
    <tr>
        <td>
            <h5 class="insTitle1">En image</h5>
        </td>
    </tr>
    <tr class="eflore_commentaire">
        <td>
            Cliquer sur le bouton "Recherche Google" pour afficher des images du taxon (résultat non garanti...).
        </td>
    </tr>
    <tr>
        <td class="texte_tb">
            <form method="get">
                <xsl:attribute name="action">http://images.google.com/images</xsl:attribute>
                <xsl:attribute name="target">_blank</xsl:attribute>
                <a>
                    <img>
                        <xsl:attribute name="src">http://www.google.com/logos/Logo_25wht.gif</xsl:attribute>
                        <xsl:attribute name="border">0</xsl:attribute>
                        <xsl:attribute name="alt">Google</xsl:attribute>
                        <xsl:attribute name="align">absmiddle</xsl:attribute>
                    </img>
                </a>
                <input>
                    <xsl:attribute name="type">text</xsl:attribute>
                    <xsl:attribute name="name">q</xsl:attribute>
                    <xsl:attribute name="size">25</xsl:attribute>
                    <xsl:attribute name="maxlength">255</xsl:attribute>
                    <xsl:attribute name="value">
                        <xsl:value-of  select="NOM_TAXON/NOM"/>
                    </xsl:attribute>
                </input>
                <input>
                    <xsl:attribute name="class">texte_tb</xsl:attribute>
                    <xsl:attribute name="type">submit</xsl:attribute>
                    <xsl:attribute name="name">btnG</xsl:attribute>
                    <xsl:attribute name="value">Recherche Google</xsl:attribute>
                </input>
                <input>
                    <xsl:attribute name="type">hidden</xsl:attribute>
                    <xsl:attribute name="name">ie</xsl:attribute>
                    <xsl:attribute name="value">ISO-8859-1</xsl:attribute>
                </input>
                <input>
                    <xsl:attribute name="type">hidden</xsl:attribute>
                    <xsl:attribute name="name">oe</xsl:attribute>
                    <xsl:attribute name="value">ISO-8859-1</xsl:attribute>
                </input>
                <input>
                    <xsl:attribute name="type">hidden</xsl:attribute>
                    <xsl:attribute name="name">hl</xsl:attribute>
                    <xsl:attribute name="value">fr</xsl:attribute>
                </input>
            </form>
        </td>
    </tr>
</xsl:template>

<xsl:template match="LISTE_NOMS_VALIDES">
    <tr class="insTitle1">
        <td>
            <h5>Noms valides</h5>
        </td>
    </tr>
    <tr class="texte_tb">
        <td>
            <ul>
                <xsl:apply-templates select="NOM_TAXON" />
            </ul>
        </td>
    </tr>
</xsl:template>

<xsl:template match="LISTE_NOMS_TAXONS_PARENTS">
    <tr>
        <td>
            <h5 class="insTitle1">Niveaux taxinomiques supérieurs</h5>
        </td>
    </tr>
    <tr class="eflore_commentaire">
        <td>
            En cliquant sur (...)  situé aprés le niveau taxinomique vous obtiendrez la liste des taxons retenus (corrects) qu'il contient.
        </td>
    </tr>
    <tr class="texte_tb">
        <td>
            <ul>
                <xsl:apply-templates select="NOM_TAXON_PARENTS/NOM_TAXON" mode="parent" />
            </ul>
        </td>
    </tr>
</xsl:template>

<xsl:template match="LISTE_SYNONYMES">
    <tr>
        <td>
            <h5 class="insTitle1">Synonymes</h5>
        </td>
    </tr>

    <!-- Affiches les synonymes nomenclaturaux s'il y en a.-->
    <xsl:if test="NOM_TAXON/@tsyn = 1">
        <tr class="texte_tb">
            <td>
                <h6>Synonymes nomenclaturaux</h6>
            </td>
        </tr>
        <tr class="texte_tb">
            <td>
                <ul>
                    <xsl:apply-templates select="NOM_TAXON[@tsyn = 1]" mode="biblio_tsyn"/>
                </ul>
                <br />
            </td>
        </tr>
    </xsl:if>

    <!-- Affiches les synonymes taxinomiques s'il y en a.-->
    <xsl:if test="NOM_TAXON/@tsyn = 2">
        <tr class="texte_tb">
            <td>
                <h6>Synonymes taxinomiques</h6>
            </td>
        </tr>
        <tr class="texte_tb">
            <td>
                <ul>
                    <xsl:apply-templates select="NOM_TAXON[@tsyn = 2]" mode="biblio_tsyn"/>
                </ul>
                <br />
            </td>
        </tr>
    </xsl:if>

    <!-- Affiches les synonymes de type inconnu s'il y en a.-->
    <xsl:if test="NOM_TAXON/@tsyn = 3">
        <tr class="texte_tb">
            <td>
                <h6>Synonymes de type inconnu</h6>
            </td>
        </tr>
        <tr class="texte_tb">
            <td>
                <ul>
                    <xsl:apply-templates select="NOM_TAXON[@tsyn = 3]" mode="biblio_tsyn"/>
                </ul>
                <br />
            </td>
        </tr>
    </xsl:if>

    <!-- Affiches les synonymes de type "inclus dans" s'il y en a.-->
    <xsl:if test="NOM_TAXON/@tsyn = 4">
        <tr class="texte_tb">
            <td>
                <h6>Synonymes de type "inclus dans"</h6>
            </td>
        </tr>
        <tr class="texte_tb">
            <td>
                <ul>
                        <xsl:apply-templates select="NOM_TAXON[@tsyn = 4]" mode="biblio_tsyn"/>
                </ul>
                <br />
            </td>
        </tr>
    </xsl:if>

    <!-- Affiches les synonymes de type "inclus dans" s'il y en a.-->
    <xsl:if test="NOM_TAXON/@tsyn = 5">
        <tr class="texte_tb">
            <td>
                <h6>Synonymes de type "au sens de (sensu)"</h6>
            </td>
        </tr>
        <tr class="texte_tb">
            <td>
                <ul>
                    <xsl:apply-templates select="NOM_TAXON[@tsyn = 5]" mode="biblio_tsyn"/>
                </ul>
                <br />
            </td>
        </tr>
    </xsl:if>
</xsl:template>

<xsl:template match="LISTE_NOMS_VERNACULAIRES">
    <tr>
        <td>
            <h5 class="insTitle1">Noms vernaculaires</h5>
        </td>
    </tr>
    <tr class="texte_tb">
        <td>
            <table border="0" width="*" cellpading="0" cellspacing="0">
                <tr class="eflore_commentaire" >
                    <td width="50" align="left">
                        Langue
                    </td>
                    <td width="30" align="left">
                        Pays
                    </td>
                    <td width="220" align="left">
                        Nom
                    </td>
                    <td width="150">
                        Emploi
                    </td>
                    <td width="50">
                        Genre
                    </td>
                    <td width="50">
                        Nombre
                    </td>
                </tr>
                <xsl:apply-templates select="NOM_VERNACULAIRE" />
            </table>
        </td>
    </tr>
</xsl:template>

<xsl:template match="NOM_TAXON">
    <xsl:apply-templates select="NOM" />
</xsl:template>

<xsl:template match="NOM_TAXON" mode="nomRetenu">
    <tr>
        <td>
            <h5 class="insTitle1">Nom retenu (correct) correspondant</h5>
            <xsl:text>  </xsl:text>
            <!--<a href="http://test.tela-botanica.org/tmp/pdf.php" target="_blank"><img src="Local/icons/pdf.gif" border="0"></img></a>-->
        </td>
    </tr>
    <tr class="texte_tb">
        <td>
            <li>
                <b>
                    <xsl:apply-templates select="NOM" />
                </b>
                <xsl:apply-templates select="BIBLIOGRAPHIE" />
                <xsl:apply-templates select="INFO_COMBINAISON" />
                <xsl:text>  </xsl:text>
                <xsl:text> [ </xsl:text>
                <span>
                    <xsl:attribute name="class">eflore_num_nomen</xsl:attribute>
                        <xsl:value-of select="@numnom"/>
                </span>
                <xsl:text> - </xsl:text>
                <span>
                    <xsl:attribute name="class">eflore_num_taxo</xsl:attribute>
                        <xsl:value-of select="/FICHE_IDENTITES_TAXONS/NOM_VALIDE/@numtaxo"/>
                 </span>
                 <xsl:text> ] </xsl:text>
            </li>
            <br />
        </td>
    </tr>
</xsl:template>

<xsl:template match="NOM_TAXON" mode="biblio_tsyn">
    <li>
    <!-- Affichage du nom -->
    <xsl:apply-templates select="NOM" />
    <br />
    <xsl:text>    </xsl:text>
    <!-- Cas où le nom comporte des infos de biblio ou sur la combinaison -->
    <xsl:if test="boolean(BIBLIOGRAPHIE) or boolean (INFO_COMBINAISON)">
        <!-- Affichage de la référence biblio et des commentaires nomenclaturaux -->
        <xsl:apply-templates select="BIBLIOGRAPHIE" />
        <xsl:apply-templates select="INFO_COMBINAISON" />
    </xsl:if>
    <!-- Affichage des numéros nomenclatural et taxonomique -->
    <xsl:text>  </xsl:text>
    <xsl:text> [ </xsl:text>
        <span>
            <xsl:attribute name="class">eflore_num_nomen</xsl:attribute>
                <xsl:value-of select="@numnom"/>
        </span>
        <xsl:text> - </xsl:text>
        <span>
            <xsl:attribute name="class">eflore_num_taxo</xsl:attribute>
                <xsl:value-of select="../@numtaxo"/>
        </span>
        <xsl:text> ] </xsl:text>
    </li>
</xsl:template>

<xsl:template match="NOM_TAXON" mode="parent">
    <li>
        <b>
            <xsl:apply-templates select="NOM" />
        </b>
        <a>
            <xsl:attribute name="style">text-decoration: none;</xsl:attribute>
            <xsl:attribute name="href">transformer.php?xslt=classificationtaxons.xsl&amp;paramxslt=<xsl:value-of select="position()+2"/>&amp;servicexml=donneclassificationtaxons.php&amp;profondeur=<xsl:value-of select="position()+2"/>&amp;numclass=1&amp;numnom=<xsl:value-of select="@numnom" /></xsl:attribute>
            (...)
        </a>
    </li>
</xsl:template>

<xsl:template match="NOM">
    &#160;
    <b>
        <xsl:value-of select="@type"/>
    </b>
    <i>
        <xsl:value-of select="."/>
    </i>
    &#160;
    <xsl:value-of select="@auteur"/>
</xsl:template>

<xsl:template match="BIBLIOGRAPHIE ">
    &#160;
    <xsl:value-of select="@annee"/>
    &#160;
    <xsl:value-of select="."/>
</xsl:template>

<xsl:template match="INFO_COMBINAISON ">
    &#160;
    <xsl:value-of select="."/>
</xsl:template>

<xsl:template match="NOM_VERNACULAIRE">
    <tr class="texte_tb" >
        <td width="50" align="left">
            <li>
                <xsl:value-of select="@langue"/>
            </li>
        </td>
        <td width="30" align="left">
            <xsl:value-of select="@pays"/>
        </td>
        <td width="220" >
        <xsl:if test="@emploi='1'">
            <b>
                <xsl:value-of select="."/>
            </b>
        </xsl:if>
        <xsl:if test="@emploi='0' or @emploi='2' or @emploi='3'">
            <xsl:value-of select="."/>
        </xsl:if>
        </td>
        <td width="150" >
                <xsl:choose>
                    <xsl:when test="@emploi='0'">
                        &#032;
                    </xsl:when>
                    <xsl:when test="@emploi='1'">
                        recommandé ou typique
                    </xsl:when>
                    <xsl:when test="@emploi='2'">
                        secondaire ou régional
                    </xsl:when>
                    <xsl:when test="@emploi='3'">
                        peu usité et à éviter
                    </xsl:when>
                </xsl:choose>
        </td>
        <td width="50" align="center">
            <xsl:choose>
                <xsl:when test="@genre='0'">
                    &#032;
                </xsl:when>
                <xsl:when test="@genre='1'">
                    masculin
                </xsl:when>
                <xsl:when test="@genre='2'">
                    féminin
                </xsl:when>
                <xsl:when test="@genre='3'">
                    neutre
                </xsl:when>
                <xsl:when test="@genre='4'">
                    duel
                </xsl:when>
            </xsl:choose>
        </td>
        <td width="50" align="center">
            <xsl:choose>
                <xsl:when test="@nombre='0'">
                    &#032;
                </xsl:when>
                <xsl:when test="@nombre='1'">
                    singulier
                </xsl:when>
                <xsl:when test="@nombre='2'">
                    pluriel
                </xsl:when>
                <xsl:when test="@nombre='3'">
                    duel
                </xsl:when>
            </xsl:choose>
        </td>
    </tr>
</xsl:template>

</xsl:stylesheet>