Xml & xsl

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 23 avril 2008 à 10:29
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 24 avril 2008 à 09:54
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

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
23 avril 2008 à 13:10
ç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
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 avril 2008 à 19:49
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.
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
24 avril 2008 à 09:54
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
0
Rejoignez-nous