garder le retour à la ligne d'un CDATA [XML/XSL] - XML/XSL - Programmation
Marsh Posté le 15-07-2003 à 17:08:33
C'est juste un XSLT de plus a appliquer avec un template récursif :-). J'ai utilisé celui-ci avec MSXML 3.0 pour remplacer de retour chariot par des tag br.
|
L'exemple est basé sur celui de Michael Kay dans XSLT Programmer's reference. Moi c'est l'usage des CDATA qui m'inquiète...
A+
Marsh Posté le 16-07-2003 à 02:47:08
sowhatin22 a écrit : Bonjour, |
Tu ne peux pas utiliser des balises <pre>...</pre> ou utiliser l'option CSS "white-space:pre;" ?
Marsh Posté le 16-07-2003 à 08:07:04
je peux m'en sortir avec ca:
|
Avander:
Les CDATA, c'est pour ne pas perdre le formattage des messages que je reçois. Ce sont des messages au format texte, et je veux les afficher sans modifications. Je ne vois pas quel autre choix j'ai, sachant que je ne connais pas le contenu de ces messages. Si un message contient des balises, je veux les afficher et non pas les interpréter...
Toucouch:
je vais quand même regarder de ce dont tu me parles. Ca fait un moment que je n'ai pas fait de html et de css...
merci!
Marsh Posté le 17-07-2003 à 00:28:14
sowhatin22 a écrit : ... |
Un exemple à la con...
Fichier XML de départ:
Code :
|
Fichier XSLT:
Code :
|
Résultat HTML:
Code :
|
Avec la balise <pre></pre>, le texte inclus est affiché en gardant les espaces et les retours à la ligne. Si je ne dit pas de connerie, c'est ce qui doit être utilisé sur ce forum avec les balises fixed, code ou cpp...
Marsh Posté le 17-07-2003 à 08:44:16
Toucouch a écrit : |
en effet, cela marche bien. Et c'est quand même plus propre que la manip que je me voyais obliger de faire...
Je te remercie donc.
Marsh Posté le 11-04-2011 à 22:15:42
Je sais bien que ce message date de 2003, pourtant c'est la réponse que j'ai trouvé sur le net qui était la plus proche de ma problématique, et de ma solution (enfin trouvée en bonne partie grâce à ce post !).
Je poste pour d'autres, au cas où...
Voici la problématique avec Sharepoint 2010 : lorqu'on saisie des données dans une textebox (champs multiligne) on ne voit pas à l'affichage de notre formulaire les retours chariots (ou retours à la ligne). Ce que bien gênant. Bien sur certains parlent de faire des "translate" dans la page <xsl>, mais bon ce n'est pas super pratique.
Voici la solution avec Sharepoint Designer 2010 : lorsque vous créez un affichage personnalisé de votre liste, SPD construit lui aussi une seule ligne. Cependant en allant dans les propriétés de la balise <TD>, dans le style, dans la catégorie Bloc, vous trouverez l'option white-space ! Le seul qui preserv les retours à la ligne est l'option "pre".
Pour rappel les autres options sont décrites ici : <a href="http://www.w3schools.com/css/pr_text_white-space.asp" target="_blank">w3schools</a>
Dans le développement (en c#), à un autre endroit, j'utilise une petite fonction que j'ai du construire, mais bon avec Designer on est censé pouvoir faire un minimum de code.
Voilà, si ça intéresse d'autre personnes pour Sharepoint Designer...
Marsh Posté le 15-07-2003 à 16:19:20
Bonjour,
je dois formater un document XML en document html. Pour cela, j'applique des XSLT. Mon probème vient du contenu des sections CDATA. Ces sections contiennent du texte que je reçois par le réseaux, et je voudrais pouvoir les afficher tel qu'elles arrivent. Le soucis, c'est que le retour chariot n'est pas compris par les browser. Il faudrait donc que pour ces sections, je remplace touts les charactères '\n' par une balise <br/>.
Comment spécifier cela dans la feuiile de style? J'essaye de voir du côté de xpath, mais c'est assez confus pour moi.
Si vous avez une idée ou un conseil, merci d'avance.