Bonjour.

Est-il possible de placer de espaces insécables (   ) dans un document xml (encodé en UTF-8)?

Ou sinon peut-on forcer un retour de ligne ?

Le but final est d'avoir une phrase et de pouvoir lui dire à quel endroit la couper.
Modifié par <nicolas> (03 Apr 2007 - 17:23)
Salut,

A priori, l'entité nbsp n'est pas définie par défaut en XML (pour XHTML, elle est définie dans xhtml-lat1.ent). Tu peux utiliser la référence de caractère numérique &#160;

Pour ce qui est de ton problème de retour à la ligne, dans quel cadre le rencontres-tu (comment affiches-tu le contenu de ton fichier XML) ?
Modifié par Julien Royer (03 Apr 2007 - 13:48)
En fait j'affiche mon contenu via actionscript dans flash.

Je l'affiche dans des zones de texte dynamique mais chaque zone peut recevoir un contenu différent en fonction de certains paramètres. Pour les paragraphes ça ne pose pas de problème, quand mon texte arrive à la fin de la ligne, il passe en-dessous. Juste là rien de bien compliqué.

Mon problème est que quand j'affiche des titres, j'aimerais pouvoir choisir où ils passent à la ligne. Donc soit en mettant un retour de ligne, soit en mettant des espaces insécables partout où il ne doit pas couper, tout ça directement dans le xml.

Je sais que c'est pas très propre mais je dois gérer cela obligatoirement depuis le xml, même si ça tient de la mise en page. Cependant ça ne concernerait que quelques titres. Et on a pas de problème de redimensionnement de fenêtre ou de texte comme en html.
Modifié par <nicolas> (03 Apr 2007 - 14:14)
Utilises-tu le mécanisme de rendu HTML de Flash ? Si c'est le cas, le plus simple est sans doute d'utiliser des <br /> pour les sauts de ligne, non ?
En fait c'est à ça que je pensais au début. Mais je ne savais pas si l'html pouvait être géré dans flash.

Comment je fais pour activer ce mecanisme de rendu html?
Je ne connais pas trop le sujet (j'espère que je n'ai pas dit de bêtise).

La classe flash.text.TextField définit la propriété htmlText.

Sinon, tu peux sans doute transformer les <br /> en sauts de lignes au moment où tu récupères le contenu de ton fichier XML.
Modifié par Julien Royer (03 Apr 2007 - 14:56)
La propriété htmlText s'activait juste avec un bouton dans les propriétés de mon champ texte Smiley cligne Pour ça c'est bon.

Sauf que maintenant, mes <br /> sont remplacés par un retour de ligne, mais avec une virgule avant et après...

Une idée?

(J'ai posté aussi sur les forums flash mais ils sont nettement moins réactifs qu'ici...)
<nicolas> a écrit :
Sauf que maintenant, mes <br /> sont remplacés par un retour de ligne, mais avec une virgule avant et après...

Une idée?
Heu... Je ne sais pas. Est-ce que tu as défini la propriété multiline ?
Modifié par Julien Royer (03 Apr 2007 - 16:51)
Oui oui mais le retour de ligne fonctionne bien.

J'ai simplement ces 2 virgules qui apparaissent. J'ai essayé de mettre un <i> et là aussi il comprend mais me remplace chaque balise (ouvrante et fermante) par une virgule...
Des miennes aussi malheureusement. Enfin merci quand même. j'ai quand même un peu avancé. Et je vais continuer mes recherches...

Merci quand même.
Bonjour,
Avez-vous trouvé l'explication de ces étranges virgules ? Dans mon cas elles apparaissent entre deux liens <a></a> d'une balise de mon xml. Les voies de flash sont parfois impénétrables....
Bonjour,

Je rencontre exactement le même problème avec les virgules et je n'arrive pas à trouver d'où cela vient.

Elles apparaissent à chaque fois que je place des balises HTML dans mon XML.

J'ai également cherché sur Google et je ne trouve personne rencontrant ce problème (à part ici of course), ce qui m'étonne assez je dois dire... y'a surement une manip que je dois mal faire lors de la création de mon champs texe dynamique...

Enfin bref, si quelqu'un à une solution pour ce problème... ça me serait d'une très grande aide !

Merci d'avance
Pour info, j'ai finalement trouvé d'où venait le problème (pour ceux que ça intéresse).

Lorsque je récupère mes infos du XML en tapant une syntaxe du type :

noeudRacine.childNodes[0].childNodes[2].childNodes;

Il faut enlever la dernière partie du code, càd ".childNodes".
Cela revient donc à écrire :

noeudRacine.childNodes[0].childNodes[2].

Cette syntaxe est bonne si le champ texte contient une représentation HTML.

Voilà, voilà.