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 :

XSL : Problème pour visualiser le contenu de <content>


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut XSL : Problème pour visualiser le contenu de <content>
    Hello,

    J'associe un XSL à un RSS, mais j'ai un problème d'affichage.

    Voici le XML:

    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
    21
    22
    23
     
    <rss version="2.0" 
    xmlns:dc="http://purl.org/dc/elements/1.1/" 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:content="http://purl.org/rss/1.0/modules/content/" >
     
    <channel>
     
    	<item>
    	<title>title 1</title>
    	<content:encoded>
    	<![CDATA[this is <b>a test</b>]]>
    	</content:encoded>
    	</item>
     
    	<item>
    	<title>title 2</title>
    	<content:encoded>
    	<![CDATA[this is <b>a test</b>]]>
    	</content:encoded>
    	</item>
     
    </channel>
    Voici le XSL :

    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
    21
    22
     
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:output method="html"/>
     
    <xsl:template match="/">
     
    <html><head><title>test</title></head>
     
    <body>
     
    <xsl:for-each select="rss/channel/item">
    <xsl:value-of select="title"/><br />
    <xsl:value-of select="content"/><br />
    </xsl:for-each>
     
    </body></html>
     
    </xsl:template>
    </xsl:stylesheet>
    Tout marche, sauf que je ne vois pas le contenu de la balise <content:encoded>.

    Si j'écris <xsl:value-of select="content:encoded"/> dans le fichier XSL, ca me cree une erreur. Je ne sais pas quoi faire.

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut Re: XSL : Problème pour visualiser le contenu de <content
    Bonjour,

    content est le préfixe de l'espace de nom "http://purl.org/rss/1.0/modules/content/". Il faut que tu déclares cet espace de nom dans ton XSL, pour qu'il le reconnaisse :
    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
    21
    22
    23
     
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">
     
    <xsl:output method="html"/>
     
    <xsl:template match="/">
     
    <html><head><title>test</title></head>
     
    <body>
     
    <xsl:for-each select="rss/channel/item">
    <xsl:value-of select="title"/><br />
    <xsl:value-of select="content:encoded"/><br />
    </xsl:for-each>
     
    </body></html>
     
    </xsl:template>
    </xsl:stylesheet>
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci !!

    Comment faire pour que le contenu de la balise CDATA soit interprété comme de l'html ?
    Que la sortie : this is <b>a test</b>
    devienne : this is a test

    EDIT : Dans IE, j'ai du bold, dans Firefox j'ai <b>a test</b> ecrit en toute lettre.

    C'est dû a quoi ?

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    content est le préfixe de l'espace de nom "http://purl.org/rss/1.0/modules/content/". Il faut que tu déclares cet espace de nom dans ton XSL, pour qu'il le reconnaisse
    Est-ce qu'il existe la même chose pour "media" ?

    J'ai pas mal cherché mais les seules que j'ai trouvées sont faites pour les rss xmlns:media="http://search.yahoo.com/mrss/" et les smil xmlns:media="http://www.w3.org/2000/SMIL20/CR/BasicMedia"


    Je fais cela pour afficher en xhtml le contenu d'un fil rss 2.0 avec des images en utilisant juste un fichier .xsl
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/02/2008, 21h30
  2. Réponses: 12
    Dernier message: 02/01/2008, 13h16
  3. Réponses: 4
    Dernier message: 16/07/2006, 14h00
  4. Réponses: 18
    Dernier message: 12/06/2006, 09h39
  5. [XSL] probléme pour imprimer un saut de ligne (<br> )
    Par linniesurf dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/01/2006, 16h55

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