[Xslt] Perte des retours à la ligne d'un noeud texte

Perte des retours à la ligne d'un noeud texte [Xslt] - XML/XSL - Programmation

Marsh Posté le 27-11-2007 à 21:47:40    

Bonsoir,
 
Je travaille sur la mise en forme de fichier xml pour du reporting dynamique.
 
J'ai un problème avec le contenu des noeuds texte ex :
 

Code :
  1. <process_message>/oracle/product/10.2.0
  2. .
  3. Before the launch of the interface, the STG_REF_PARAM_EXECUTION table had these values :
  4. . - statut_execution :  2
  5. . - numero_table     : 17 =&gt; REF_INSTRUMENT_OTHER
  6. . - numero_mapping   :  7 =&gt; MAPU_DWH_REF_INSTRUMENT_OTHER
  7. . - etat_traitement  :  3
  8. Je suis dans LAUNCH_TABLE_LOG
  9. inNumeroTable=1
  10. varMaxNumeroTable2
  11. Je suis dans ALL
  12. Je ne suis pas encore sorti du ALL
  13. .
  14. After the launch of the interface, the STG_REF_PARAM_EXECUTION table had these values :
  15. . - statut_execution :  1
  16. . - numero_table     :  0 =&gt; Interface OK
  17. . - numero_mapping   :  0 =&gt; Interface OK
  18. . - etat_traitement  :  0
  19. PL/SQL procedure successfully completed.
  20. PL/SQL procedure successfully completed.
  21. </process_message>


 
Une fois transformé en html, je perds les retours chariot. Ca donne ça :
 

Code :
  1. /oracle/product/10.2.0 . Before the launch of the interface, the STG_REF_PARAM_EXECUTION table had these values : . - statut_execution : 1 . - numero_table : 0 => Interface OK . - numero_mapping : 0 => Interface OK . - etat_traitement : 0 Je suis dans LAUNCH_TABLE_LOG inNumeroTable=1 varMaxNumeroTable2 Je suis dans ALL Je ne suis pas encore sorti du ALL . After the launch of the interface, the STG_REF_PARAM_EXECUTION table had these values : . - statut_execution : 1 . - numero_table : 0 => Interface OK . - numero_mapping : 0 => Interface OK . - etat_traitement : 0 PL/SQL procedure successfully completed. PL/SQL procedure successfully completed.


 
Les documents contiennent essentiellement des attributs ou des noeuds textes courts donc jusque là ça ne posait pas de problème. Mais là ça devient illisible. Pire ça peut donner lieu à des contre-sens.
 
Ca doit être un truc à la con mais  je n'ai rien trouvé après pas mal de recherche. Pourriez vous m'indiquer une méthode pour conserver les retours chariot ?  
 
Merci d'avance.

Message cité 1 fois
Message édité par fifiz le 27-11-2007 à 21:49:17
Reply

Marsh Posté le 27-11-2007 à 21:47:40   

Reply

Marsh Posté le 28-11-2007 à 09:49:06    

fifiz a écrit :

Une fois transformé en html, je perds les retours chariot.


Quand tu vois la page dans un navigateur tu veux dire?

 

Parfaitement normal, c'est le comportement spécifié du whitespace (espace, tabs, retour chariot) en HTML: il peut être ignoré au rendu.

 

Si tu veux l'avoir, tu as deux choix:

 
  • La version propre, c'est dans ta XSL de passer ton texte dans une fonction ou une template nommée qui va convertir les retours à la ligne en "<br/>", qui sont les retours à la ligne HTML
  • La version dégueu (mais nettement plus simple à mettre en place), c'est de coller ton texte dans une balise <pre> qui sert à marquer du texte préformatté. Ca sert à afficher le texte tel qu'il est dans le fichier source, y compris les retours chariot et dans wrapping quand ça dépasse la taille du conteneur.


Message édité par masklinn le 28-11-2007 à 09:49:24

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 29-11-2007 à 13:06:13    

j'avais déja essayé le <pre> </pre> mais sans succes.

Reply

Marsh Posté le 29-11-2007 à 23:41:46    

En fait ca marche tres bien chais pas ce que j'ai foutu ...
 
Merci !

Reply

Sujets relatifs:

Leave a Replay

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