Je suis confronté au problème suivant :
J'ai un fichier xml qui a la structure suivante :
<?xml version="1.0" encoding="ISO-8859-1"?>
<cod_civ>1</cod_civ><lib_civ>Monsieur</lib_civ>
<cod_civ>2</cod_civ><lib_civ>Mademoiselle</lib_civ>
<cod_civ>3</cod_civ><lib_civ>Madame</lib_civ>
<cod_civ>1</cod_civ>
(...)
Je voudrais transformer (à l'aide d'une feuille de style xslt) la valeur agent/cod_civ par un select de fomulaire html codé exactement comme suit :
<option selected value="1">Monsieur
Mademoiselle
Madame
Et je dois bien dire que j'en suis incapable. Ce qui me pose problème, c'est le "selected" sur l'une des options.
J'ai pu lire par-ci par là qu'il fallait que j'utilise quelque chose dans ce genre :
<xsl:template match="agent">
Titre : <xsl:apply-templates select="civilites" />
</xsl:template>
<xsl:template match="civilites">
<xsl:for-each select="civ">
<xsl:choose>
<xsl:when test="/ecran/agent/@cod_civ=./@cod_civ">
<xsl:value-of select="lib_civ" /> COUCOU
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="lib_civ" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
Mais quelle que soit la syntaxe utilisée dans le xsl:when test="XXX", le test effectif n'est pas réalisé. J'ai essayé tout ce qui me passait par la tête :
les opérateurs =, != ; la fonction contains(), bref, rien n'y fait, je ne sais pas comment résoudre mon problème.
A toute fins utiles, j'utilise le moteur de php pour parser le xml avec le xsl, et j'ai :
- libxml-1.8.17
- libxml2-2.6.9
- expat-1.95.7
- php-4.3.4
d'installé. Je pense que ces infos sont suffisantes pour cerner mon problème. Merci à ceux qui m'aideront à comprendre ce foutu xsl !
# Mille pardons
Posté par Gyro Gearllose . Évalué à 2.
Si un modéro pouvait virer ce message inutile et illisible, je lui en serais éternellement reconnaissant car :
1) j'ai apris à lire depuis...
2) Découlant du 1), j'ai trouvé la solution à mon problème
3) Il n'est plus utile du coup d'avoir cet immondice affiché ci-dessus et sur la page d'accueil des forums.
Encore une fois, mille pardons pour le dérangement !
[^] # Re: Mille pardons
Posté par par . Évalué à 1.
Voir du coté de xsl:element et xsl:attribute, je crois.
Mais c'est vieux tout ça...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.