IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Comment générer un retour chariot à partir du texte d'une balise? [XSL-FO]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 71
    Par défaut Comment générer un retour chariot à partir du texte d'une balise?
    Bonjour à tous,
    A partir d'un fichier XML dont une balise contient du texte de ce type :
    Indications : \.br\Surveillance d'une tumeur \.br\Technique : \.br\ Acquisition volumique après injection de 90 cc de Xénétix 300.\.br\Comparaison au scanner \.br\Texte : \.br\

    je dois générer un fichier pdf dans lequel, le texte sera mis en forme avec un saut de ligne à la place de chaque \.br.\

    Quelle solution? : j'ai déjà essayé de remplacé \.br\ par \r\n ou via une xslt mais le pdf généré par xsl-fo sort les caractères au lieu d'appliquer le saut de ligne.

    que faut-il passer à xsl-fo pour qu'il interprète correctement le saut de ligne au faut-il le gérer via xsl-fo?

    Merci d'avance de vos réponses.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    Il faudrait utiliser linefeed-treatment="preserve", voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fo:block linefeed-treatment="preserve">Ceci est une ligne.&#xA;Et ceci est une autre ligne.&#A;Et encore une ligne.</fo:block>
    linefeed-treatment="preserve" dit que dans le bloc en question, les fins de lignes qui ont été produites dans le code XSL-FO, doivent être des fins de ligne dans le résultat final.
    Le &#xA; est une manière simpliste d'insérer une fin de ligne dans du XML avec peu de chances de se tromper. (Quand on met une fin de ligne directement dans le code, le parser XML risque de l'ignorer et ne pas le passer au moteur XSL-FO. Il vaut mieux faire autrement pour éviter les erreurs.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 71
    Par défaut
    Merci de ta réponse.
    J'avais fini par trouver la même solution à force de chercher sur les forums.
    Ca marche.

    Maintenant, il faut que je résolve un problème d'encoding car les caractères accentués sortent mal suite à un FTP du monde WINDOWS vers LINUX.
    J'ai également essayé de passer en UFT-8 ou ISO-8859-1, cela ne change rien.

    Si il y a un autre paramètre du même style, je suis preneur.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    Si ils "sortent mal" c'est qu'ils sont mal encodés ou transformé lors du transfert...

    Il faut déjà que tu vérifies comment est encodé ton fichier une fois transféré, car faire des manipulation d'encodage au hasard sans savoir ce que l'on fait risque de donner des résultats curieux !

    Citation Envoyé par Michalak Voir le message
    Merci de ta réponse.
    J'avais fini par trouver la même solution à force de chercher sur les forums.
    Ca marche.

    Maintenant, il faut que je résolve un problème d'encoding car les caractères accentués sortent mal suite à un FTP du monde WINDOWS vers LINUX.
    J'ai également essayé de passer en UFT-8 ou ISO-8859-1, cela ne change rien.

    Si il y a un autre paramètre du même style, je suis preneur.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 71
    Par défaut
    En fait, au lieu d'afficher é, il affiche é.
    J'ai vérifié, le fichier est encodé en UTF-8 et mes feuilles de style contiennent les balises :
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" indent="yes"/>

    J'ai essayé de transformer l'encodage en ISO-8859-1 via un EAI en adaptant mes feuilles de style mais le résultat est toujours le même.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    Quand on a un fichier encodé en ISO-8859-1 (ton XML) et que l'on demande une sortie UTF-8 en XSL cela transforme les é en é.

    Il faudrait à nouveau vérifier l'encodage du XML, du XSL.

    Tu as des exemples à joindre ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment générer des interfaces garphiques à partir de XML
    Par @yoyo dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 31/03/2006, 10h40
  2. Réponses: 1
    Dernier message: 11/01/2006, 11h58
  3. Réponses: 2
    Dernier message: 29/11/2005, 14h17
  4. [Javascript]Comment faire un retour chariot dans une chaîne
    Par aragorns dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/09/2005, 11h24
  5. Comment effectuer un retour chariot dans 1 JTextarea
    Par elitost dans le forum Composants
    Réponses: 2
    Dernier message: 21/06/2004, 17h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo