Xml & xsl

Signaler
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Bonjour

J'ai un petit soucis que je ne sais pas comment m'y prendre pour le régler... Je vous explique :)

J'ai des noeuds xml qui ressemble à ceci ...

<ligne3>#J#En Jaune#J# et #V#En Vert#V#</ligne3>

Comme vous l'aurez compris mon noeud contient un textnode ou il y a un style different à l'interieur
J'ai donc fait un str_replace un peu plus élaboré qui transforme la ligne précédente en :

<ligne3>En Jaune et En Vert</ligne3>

mais ça ne met pas le texte en couleur via le xsl

l'extrait du xsl ...

<tr>
      <td><xsl:value-of select="ligne3"/> </td>
</tr>

Quelau'un a t il déjà eu cette problèmatique a régler ?

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

3 réponses

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
ça ne rimait à rien de transformer
<ligne3>#J#En Jaune#J# et #V#En Vert#V#</ligne3>
en
<ligne3>En Jaune et
En Vert</ligne3>
j'ai donc  transformé en
<ligne3><j>En Jaune</j> et <v>En Vert</v></ligne3>

Je regardes les templates csl pour y arriver ...

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Salut Alex,

j'approuve ton deuxième commentaire... ;-)
Ton XSL doit poser la mise en forme. Là, ton XSL ne le faisait pas vraiment, juste une partie, le reste étant fait par ton str_replace(). C'est inutile et contre nature.
Ensuite, pourquoi ce n'était pas interprété...il faudrait que je fasse des tests. Ca aurait sans doute dû l'être. Sauf que tu oublies un détail : XSL parse du XML. XML, c'est fait de balises. XSL s'arrête donc sur les balises. Quand tu fais un xsl valueof-select bla bla, il prend le noeud texte (enfin, le nodeValue) du noeud sur lequel tu es (et arrête de me regardere avec de gros yeux quand je parle de noeuds...). Or, dedans, tu as des balises...donc de nouveaux noeuds (arrête j'ai dit!!!). Forcément il y a ambiguité.
Tes balises XHTML (entre nous, font n'en est pas une hein...ahem...) doivent être "implémentées" par ton XSL. Sinon, elles se fondent dans ton flux XML.
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Coucou Johan

Mais euhhh c'est ta faute tu me parles de valises et de noeuds

xsl valueof-select="tududu" prend le textnode du noeud tududu... il reste donc des incohérence dans mon xml je suppose...

Anciennement j'ai proposé ce modèle:
<ligne3><j>En Jaune</j> et <v>En Vert</v></ligne3>
Le problème c'est que vaut le textnode de ligne3 exactement ...?
Non je crois vmt qu'il faut nettoyer ce bazar....

ça devrait ressembler à ça pour être correct non ?
<ligne3><j>En Jaune</j><n> et </n><v>En Vert</v></ligne3>

Pour coloriser les textnode des tag "j" et "v" je dois utiliser quel tag (je voyais que l'utilisation de font pour le faire )?

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro