[XSLT] <xsl:element name="$text" >
Voila ...
1) ma fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
<xsl:template name="fct_commentaire"> <!-- récupère la description en plusieurs langues si existantes et modification de la balise 'an' en 'en' -->
<xsl:param name="chemin" select="/" /> <!-- en parametre : le chemin d'acces en "racine/noeud" -->
<xsl:param name="noeud" select="text" /> <!-- en parametre : le nom de la balise que l'on vas créer -->
<xsl:for-each select="$chemin/*" > <!--xsl pour chaque noeud fils de $chemin -->
<xsl:choose> <!--xsl plusieurs cas possibles -->
<xsl:when test="name()='an'"> <!--description existe en anglais (modif de "an" vers "en") -->
<xsl:element name="$text">
<xsl:attribute name="lang">en</xsl:attribute>
<xsl:value-of select="." /> <!--xsl on récupère la valeur de la balise ""active"" -->
</xsl:element > <!-- </text> -->
</xsl:when> <!-- fin du cas de la langue anglaise -->
<xsl:otherwise> <!--description existe en d'autres langues --><!--xsl tout les autres cas (autres que des when) -->
<xsl:element name="$text">
<xsl:attribute name="lang"><xsl:value-of select="name()"/></xsl:attribute>
<xsl:value-of select="." />
</xsl:element > <!-- </text> -->
</xsl:otherwise> <!-- fin du cas des autres langues -->
</xsl:choose>
</xsl:for-each>
</xsl:template><!-- fin de la fonction --> |
2) mon xml
Code:
1 2 3 4
| <prompt>
<fr>Choisissez un fichier de petits composés (format smiles ou sdf )</fr>
<an>Choose a small compound file (smiles or sdf format)</an>
</prompt> |
3) mon xslt
Code:
1 2 3 4
| <xsl:call-template name="fct_commentaire"> <!--xsl fait appel à une fonction -->
<xsl:with-param name="chemin" select="./attributes/prompt"/> <!--xsl avec le parametre -->
<xsl:param name="noeud" select="prompt" />
</xsl:call-template> |
4) le resultat : il ne m'ecrit pas mes balises "prompt' ... et je comprend pas pourquoi