1. #1
    Invité régulier
    Inscrit en
    mars 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 34
    Points : 6
    Points
    6

    Par défaut Transformation xml en rtf basée sur fichier xsl (en C#)

    Bonjour,

    J'ai une application qui fait de la transformation de fichiers xml en rtf en se basant sur un schéma xsl.

    J'ai un petit problème pour conserver les tabulations contenues dans les balises text du fichier xml initial.

    Voilà à quoi ressemble mon fichier xml initial :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <text>Texte sans tabulation:</text>
    <text> - Premier avec tabulation (avant le tiret)</text>
    <text> - Deuxième avec tabulation (avant le tiret)</text>
    Dans mon fichier xsl, j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:preserve-space elements="text"/>
    En début de fichier, mais ça ne fonctionne pas.

    ou encore dans <xsl:template match="text">:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:text xml:space="preserve"></xsl:text>
    Ca ne marche pas non plus et je ne sais pas si je suis dans le bon <xsl:template>.

    Auriez vous une idée de ce qui pourrait coincer ?

    Merci

  2. #2
    Modérateur

    Inscrit en
    septembre 2004
    Messages
    10 332
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 10 332
    Points : 17 246
    Points
    17 246

    Par défaut

    Les blancs en début et fin de texte sont toujours préservés, du moment qu'il y a aussi autre chose que des blancs dans le texte.

    Ça se voit facilement avec cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <a>
    <text>Texte sans tabulation:</text>
    <text>	- Premier avec tabulation (avant le tiret)</text>
    <text>	- Deuxième avec tabulation (avant le tiret)</text>
    </a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
      <xsl:output method="text"/>
     
      <xsl:template match="/a">
        <xsl:apply-templates select="text"/>
      </xsl:template>
     
      <xsl:template match="text">
        <xsl:value-of select="'&#xA;'"/>
        <xsl:apply-templates/>
      </xsl:template>
     
    </xsl:stylesheet>
    Du coup, il y a sûrement quelque chose d'autre, que tu ne nous dis pas.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
    Partagez vos connaissances, mais aussi comment s'en servir.

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