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 :

[XSLT] Perte de mon balisage html


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut [XSLT] Perte de mon balisage html
    Bonjour à tous,

    J'ai un petit problème de suppression de mon balisage html.

    Dans une table, j'ai du texte préformaté à l'affichage, seulement mon xsl supprime toutes mes balises html, je ne comprend pas pourquoi.

    Si je fait un simple affichage de mon texte brut, j'ai bien mes balises html, si j'affiche mon texte dans du xml et que j'affiche le xml dans mon navigateur, mon balisage html est toujours là.

    Mais dès que je transforme mon xml avec une feuille de style xslt, toutes mes balises html sont supprimées, ça fait comme si j'appliquais sur ma chaine un strip_tags() en php.

    Pourquoi cette réaction ?

    Comment faire pour que mes balises html soient conservées ?

    Merci.

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    N'y aurait-il pas un moyen de faire que xsl ignore certains noeuds et les retransmettent tels quels ?

    Sinon alors, comment faire pour que mon texte puisse subir mes transformations en gardant sa mise en forme ?

    Exemple avec un lien dans un texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <paragraphe>Fusce at nunc in pede ultrices rutrum. <lien url="http://site.org">Maecenas</lien> malesuada turpis. Sed fringilla cursus justo. In dignissim orci ut nulla. In interdum quam nec dui. Suspendisse at massa non ligula ultrices porttitor.</paragraphe>
    Si je fait d'abord les liens ils vont s'afficher l'un derrière l'autre et au début.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:for-each select="paragraphe">
      <p>
        <xsl:for-each select="lien">
            <a href="{@url}"><xsl:value-of select="self::lien" /></a>
        </xsl:for-each>
        <xsl:value-of select="self::paragraphe" />
      </p>
    </xsl:for-each>

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Vous allez me prendre pour un dingue à faire un monologue, mais je viens de constater autre chose.

    C'est que si le xml est transformé par le serveur via la librairie xslt de php, les balises html restent, alors que si c'est le navigateur qui transforme, le html est supprimé..

    Je ne comprend pas ce que cette librairie fait de plus, ou le navigateur fait de moins.

    Personne ne pourrait m'indiquer comment faire pour conserver mon html lorsque la transformation est faite par le navigateur ?

  4. #4
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    et pourquoi tu ne réalise pas des template pour chaque noeud que tu ne souhaites pas modifier
    un exemple
    fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <a>
    <b>coucou<c>tata</c></b>
    <c>tutu</c>
    </a>
    tu ne souhaite pas changer les balises c
    et le balise b tu fait une transformation x
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output 
      		encoding="ISO-8859-15"
      		method="xml"
      		indent="yes" />
     
    	<xsl:template match="node() | @*">
    		<xsl:copy>
    			<xsl:apply-templates select="@* | node()"/>
    		</xsl:copy>
    	</xsl:template>
     
    	<xsl:template match="b">
    		<w>
    			<xsl:apply-templates select="@* | node()"/>
    		</w>
    	</xsl:template>
     
    </xsl:stylesheet>

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Merci beaucoup fraoustin

    C'est impec'

    Par contre je ne comprend pas bien le node() | @*

    Ca veut dire tous les noeuds ou attributs, c'est ça ?

  6. #6
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    oui: tout les noeuds ou attribut
    comme cela tu a une copie parfaite

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

Discussions similaires

  1. [XSLT] Creer des nouvelles balises HTML
    Par buzzkaido dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/10/2006, 09h54
  2. [XSLT] Création d'une table html
    Par AlexandreP dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/09/2006, 12h14
  3. [XSLT] value-of dans attribut html ?!
    Par ghohm dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/08/2006, 16h17
  4. Espace vide avant mon tableau HTML
    Par socooooool dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 11/08/2006, 17h58
  5. [XSLT]Formatage de mon html non désiré
    Par Thanos76 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 25/06/2005, 12h16

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