déspécialisation de caractères en XML

déspécialisation de caractères en XML - XML/XSL - Programmation

Marsh Posté le 20-07-2006 à 19:04:15    

Salut à tous,
 
une question qui à surement déjà été posée dans le forum mais dont je n'ai pas réussit à trouver la réponse (eh oui!) au moins la j'ai mis un titre clair pour ceux qui chercheront la réponse à cette question.
Quel question? ah oui...
 
Comment déspécialiser un caractère sous XML? ca a l'air tout bete mais je viens de passer 30 bonnes minutes sur google et ... rien!
 
J'ai un pan de code comme ca, et j'aimerais déspécialiser tous les caractères foutant le boxon (tiens, pendant qu'on y ait, il existe une liste ?) :
 
<menu>Blabla \<img src=\'..\Flash_Common\Images\pouet.jpg\'\></menu>
 
Donc j'ai essayé la de déspécialiser avec \ mais ... que nada, ca ne marche pas.
quel est donc la solution ?
 
merci à toutes les bonnes ames qui pourront m'aider!
 
Gian
PS : j'ai enlevé la balise 'code' du forum, car c'était le boxon


Message édité par Giansolo le 20-07-2006 à 19:05:03
Reply

Marsh Posté le 20-07-2006 à 19:04:15   

Reply

Marsh Posté le 21-07-2006 à 11:33:06    

Y a person qui réponds ? (Gaston...=)

Reply

Marsh Posté le 21-07-2006 à 12:05:54    

Giansolo a écrit :

Y a person qui réponds ? (Gaston...=)

 

c quoi despecialisation ?

Reply

Marsh Posté le 21-07-2006 à 16:45:43    

la déspécialisation d'un caractère c'est quand tu lui enlèves sa fonction.  
Par exemple, tu veux écrire : "pouet"pouet" : il faut déspécialiser les guillemets du centre comme ca :

Code :
  1. fprintf(stdout,"pouet\"pouet" );


sur google, tu trouveras plus de réponses si tu veux

Reply

Marsh Posté le 21-07-2006 à 16:51:57    

Giansolo a écrit :

la déspécialisation d'un caractère c'est quand tu lui enlèves sa fonction.
Par exemple, tu veux écrire : "pouet"pouet" : il faut déspécialiser les guillemets du centre comme ca :


sur google, tu trouveras plus de réponses si tu veux
 
 

 


ca globalement j'avais compris mais je voulais etre sur.
mais ta despecialisation depend du contexte non ? que veux tu faire, changer les données xml ?
car la tu transformes ", mais si t'en a deux  ? trois ? ou plus ? et puis il y a d'autres caracteres en fonction de ce que tu fais. genre si tu as un select a faire , il ne faut pas de ' par exemple et ainsi de suite....

Reply

Marsh Posté le 21-07-2006 à 20:38:59    

auparavant, merci de ta réponse et ton intérêt pour ma question.
 
le nombre de caractères à déspécialiser, n'est pas un problème, tu vas juste te trimbaler une armée de '\' c'est tout. le problème c'est de gérer cette armée (attention aux yeux).
 
En ce qui concerne mon problème, il s'avère que la balise <menu>chaine</menu> contient une chaine de caractère qui est affichée au format HTML plus tard. donc j'aimerais bien qu'elle puisse contenir n'importe quel type de balise. Et pour cela je dois déspécialiser les caractères qui pose problemes.
 
une premiere étape consiste à trouver les caractères qui posent problèmes. En XML je ne sais pas trop mais les <> ca fout le bordel c'est sur. donc pour les déspécialiser... les considérer comme une chaine de caractères je fais comment ? that is the great question.
 

Reply

Marsh Posté le 22-07-2006 à 12:02:25    

Giansolo a écrit :

une premiere étape consiste à trouver les caractères qui posent problèmes.


Je ne vois pas trop ce que tu veux dire par là quand je regarde ton exemple...
 
Ton

<menu>Blabla \<img src=\'..\Flash_Common\Images\pouet.jpg\'\></menu>

peut très bien s'écrire

<menu>Blabla<img src='..\Flash_Common\Images\pouet.jpg'></menu>


Mais si tu veux vraiment considérer le contenu de ton élément menu comme des caractères, tu peux inclure le contenu dans un bloc CDATA:

<menu><![CDATA[Blabla <img src='..\Flash_Common\Images\pouet.jpg'>]]></menu>

Reply

Marsh Posté le 22-07-2006 à 12:34:19    

en fait la ligne :
<menu>Blabla<img src='..\Flash_Common\Images\pouet.jpg'></menu>
ne marche pas.
 
Si tu me dis que ca dois marcher, le problème doit plutot venir du parseur Flash qui est derrière alors.
Celui-ci parse le fichier XML mais dès que je fous les <> ca bug.
 
je vais voir à ce niveau la ce qui bloque.

Message cité 1 fois
Message édité par Giansolo le 22-07-2006 à 12:34:45
Reply

Marsh Posté le 22-07-2006 à 13:38:45    

Giansolo a écrit :

Si tu me dis que ca dois marcher, le problème doit plutot venir du parseur Flash qui est derrière alors.


Aaah c'est pour mettre dans du Flash, alors j'imagine que le parseur ne s'attend pas à avoir autre chose que du texte dans l'élément menu. Dans ce cas là le CDATA devrait être la solution... En tous cas à ma connaissance il n'y a pas de déspécialisation en xml, le CDATA et/ou le remplacement de < > par &lt; &gt; permettent de gérer tous les cas.

Reply

Marsh Posté le 22-07-2006 à 15:04:54    

Oui j'ai trouvé la solution ce matin, il s'agit de remplacer les <> ' et " par leurs caractères correspondant c'est a dire &lt; &gt; etc.
 
ca marche parfaitement maintenant.
 
merci du coup de main!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed