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 :

Conserver la forme du texte xml à travers xslt


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 26
    Par défaut Conserver la forme du texte xml à travers xslt
    [xml] [sablotron] [xslt]
    Slt
    J'ai un problème avec xslt.
    Lors de la transformation de mon document xml avec xslt(parseur sablotron), certains carctères comme (retour à la ligne, carctère vide, tabulation, etc..) sont gommés sur le texte cible.
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     liste des entités:
       - produit
       - magasin
    devient
    liste des entités:-produit-magasin
    Je veux savoir s'il ya une astuce pour conserver la forme initiale du texte xml. Je précise bien que ce texte est la partie texte d'un noeud du fichier xml.

  2. #2
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    quelle est le format de sortie de ta transformation, XML ou HTML ?
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 26
    Par défaut
    Ma sortie c du HTML
    XML+XSLT --> XHTML

  4. #4
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 26
    Par défaut
    La forme sortie est du HTML. J'associe un fichier XML et un fichier XSLT afin de produire un XHTML. Lors du parsage, les espaces et les caractères "à la ligne" sont supprimés. Ce qui fait que j'arrive pas à garder la forme de départ.
    Hors j'extrais mes données d'une source existante d'informations avec quelques mises en forme que j'aimerais conserver sur le site web comme le caractère "à la ligne" (surtout).

  5. #5
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Ce n'est pas la transformation qui te supprime tes espaces, par défaut ils sont conservés ; c'est la restitution par le navigateur qui est la cause de cette "normalisation" du texte.

    En HTML, pour éviter cette normalisation, il faut placer le texte à afficher dans une balise <pre>, qui préservera indentation et sauts de lignes.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 26
    Par défaut Justifier le texte en conservant les caractères à la ligne
    OK merci !
    ça marche mais ya un pb qui persiste.
    Le <pre> conserve vraiment tout les caractères issus du fichier XML. Or comme j'extrais automatiquement mes données d'une bd relationnelle pour générer automatiquement mes fichiers XML, il se trouve qu'il ya parfois des lignes très longues, ce qui oblige le lecteur d'utiliser le scroll horizontal. C'est ce que je veux éviter actuellement.
    Bref j'aimerais justifier le texte, mais conservant les caractères "à la ligne".

    Merci

  7. #7
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Dans ce cas il faut abandonner la balise <pre> et écrire une petite fonction XSLT qui va transformer tes retours chariots en balise <br/>
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  8. #8
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 26
    Par défaut
    Merci de l'info.
    Mais je tourne depuis savoir comment écrire cette fonction. J'essaie d'insérer du php pour faire cette transformation, mais j'y arrive pas.
    Merci.

Discussions similaires

  1. Copier/Coller avec conservation de la mise en forme du texte initial.
    Par Richard_35 dans le forum Evolutions du club
    Réponses: 16
    Dernier message: 24/11/2011, 18h33
  2. [FORM] Champ texte bloqué
    Par angelinemm dans le forum Access
    Réponses: 3
    Dernier message: 12/09/2005, 11h58
  3. Garder la mise en forme de texte dans un champ
    Par dany13 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/07/2005, 14h49
  4. [Forms]Elément texte
    Par rvfranck dans le forum Forms
    Réponses: 6
    Dernier message: 16/11/2004, 09h40

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