Bonjour à tous,
Je cherche actuellement à ce que mon fichier xml preserve les espaces.
exemple :
<monTag value="02 "/> devient, une fois parsé
<monTag value="02"/>
Alors comment faire? Hum?
Merci d'avance
Bonjour à tous,
Je cherche actuellement à ce que mon fichier xml preserve les espaces.
exemple :
<monTag value="02 "/> devient, une fois parsé
<monTag value="02"/>
Alors comment faire? Hum?
Merci d'avance
tu obtiens ca après quel genre de parsing ? xsl , lecture de l'xml, ... ?
En langage XSL tu as :
Il suffit de rajouter monTag dans la liste xsl:preserve-space :-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <!-- Gestion des espaces dans le document source --> <xsl:strip-space elements="*" /> <xsl:preserve-space elements="pre | code" />
Sinon, dans un fichier HTML, pour garder l'indentation : utilise la balise <pre>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <xsl:preserve-space elements="pre | code | montag" />
@+ Haypo
J'obtiend ça apres lecture du xml. En fait je doit envoyer un fichier à une machine distante avec un tag du type:
<monTag name="nomTag" value="AA "/>
Les 2 espaces apres le AA sont importants(le champ est completé par des espaces, la valeur doit faire 4 caractères).
Il faut que cette info ne soit pas dénaturée. Il faut donc que je m'assure que la valeur l'attribut value est bien 2A + 2 espaces. Or quand j'affiche le fichier dans ie5, les espaces ont disparus...
De plus je ne suis pas l'auteur du fichier xsl qui sera appliqué dessus.
voilà
ne regarde pas avec IE, fais le test avec la programme ou XSL qui utilisera le fichierEnvoyé par Eric B
Ok, merci.
C'est testé et y'a effectivement pas de pbme.
Encore merci à tous pour vos précieuses réponses.
Eric
Autre info : si tu veux écrire correctement du texte dans la zone « valeur » d'une valise, utilise xsl:text. Ca évite d'avoir des retours à la ligne inattendus, ou de voir des espaces supprimés.
Le résulat (xsl-value-of select="montag[position()=1]") est bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <montag ...> <xsl:text>A</xsl:text> <xsl:text>A</xsl:text> <xsl:text> </xsl:text> <xsl:text> </xsl:text> </montag>
(j'ai rajouté des @ pour bien voir les espaces dans le forum)
Code : Sélectionner tout - Visualiser dans une fenêtre à part @AA @
Attention aussi au HTML qui donne de mauvaises supprises. Exemple: si tu fais une requête XPATH en PHP, et que tu l'affiches avec un echo "valeur = @$valeur@";, ça affiche :
alors que la sortie est bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part valeur = @AA @
Sauf qu'en HTML, les espaces inutiles sont autorisés pour l'indentation. Utiliser htmlspecialchars + str_replace(" ", " ", $valeur) ou la balise <pre>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part valeur = @AA @
@+ Haypo
Je garde toutes ces infos(plus d'autres) dans un petit fichier secret qui poura me faire passer pour un expert en xml, si je l'utilise bien.
Non sans rire, encore merci. Ces infos sont tres précieuses et je te remercie encore de ton aide (précieuse).
Peut etre qu'un jour ce sera mon tour d'aider de pauvres débutants, mais y'a encore du boulot!
Eric
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager