Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité régulier
    Inscrit en
    mars 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 31
    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 :
    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 :
    <xsl:preserve-space elements="text"/>
    En début de fichier, mais ça ne fonctionne pas.

    ou encore dans <xsl:template match="text">:
    Code :
    <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
    9 531
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 9 531
    Points : 14 359
    Points
    14 359

    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 :
    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 :
    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •