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 :

[RSS] [XSLT]Mise en en page flux RSS avec CSS


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 62
    Points : 56
    Points
    56
    Par défaut [RSS] [XSLT]Mise en en page flux RSS avec CSS
    Bonjour je viens de réaliser le flux RSS pour les news de mon site. Les navigateurs Firefox et IE semblent avoir des fichiers pour la mise en page de ces données automatiquement. Après avoir essayé de réaliser une mise en page de mon flux par une page xsl je viens de tenter de le faire avec une page css. Je rencontre toujours le même problème mon fichier de mise en page (xsl ou css) n'est pas pris en compte malgré la précision :
    <?xml-stylesheet type='text/css' href='css/news_rss.css'?>
    OU
    <?xml-stylesheet type="text/xsl" href="news_rss.xsl" ?>'; ?>
    Je ne comprend pas pourquoi. Pouvez vous m'aider ?
    D'avance merci

  2. #2
    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
    chez sur firefox 2.0 mon fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="in.xsl" ?>
    <liste_nombres>
      <nombre valeur="10">dix</nombre>
      <nombre valeur="0">zéro</nombre>
      <nombre valeur="33">trente trois</nombre>
      <nombre valeur="6">le premier nombre parfait</nombre>
    </liste_nombres>
    et mon fichier xsl (placé dans le même répertoire)
    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
    24
    25
    26
    27
    28
    29
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:output 
      encoding="ISO-8859-15"
      method="html"
      doctype-public="-//W3C//DTD HTML 4.01//EN"
      doctype-system="http://www.w3.org/TR/html4/strict.dtd"
      indent="yes" />
     
    <xsl:template match="liste_nombres">
      <html><body>
        <p>Liste de nombre :</p>
        <ul>
          <xsl:apply-templates select="nombre" /><!--[text()='dix']-->
        </ul>
      </body></html>
    </xsl:template>
     
    <xsl:template match="nombre">
      <li>
        <xsl:value-of select="@valeur" />
        <xsl:text> : </xsl:text>
        <xsl:value-of select="." />
      </li>
    </xsl:template>
     
    </xsl:stylesheet>
    fonctionne très bien

  3. #3
    ABI
    ABI est déconnecté
    Nouveau Candidat au Club
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2002
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2002
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Je comprends le problème de d.w.d. Sa question est précise et concerne les RSS (et pas les fichiers XML ordinaires). Les narvigateurs récents (ex : IE7 ou FF) détectent automatiquement les balises RSS et court-circuitent l'affichage même si l'on a spécifié une feuille de style XSL, et affiche leur propre interface "d'abonnement" plutôt que le xml brut, ou formaté si une feuille de style est spécifiée.

    Ce même fichier RSS, s'il est ouvert avec IE6 par exemple, s'affichera selon la feuille XSL.

    Je n'ai pas de solution malheureusement pour "forcer" FF ou IE7, hormis peut-être un réglage du navigateur.

    Quelqu'un ?

    A noter qu'une fois que l'on connaît le soucis, on peut procéder autrement. Pour ma part, j'ai fait mon propre agrégateur sur mon site (un simple parser RSS en ASP) qui m'affiche mon flux (sans XSL du coup), ce qui me permet de proposer à l'internaute soit d'afficher le RSS brut, et donc de s'y abonner, soit de le consulter en ligne (ma page ASP). Et dans la XSLT que j'associe au cas ou, je fait une redirection vers ma page ASP.

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    Les navigateurs web récents se comportent en effet comme des agrégateurs RSS automatiques, il n'y a, à ma connaissance, aucun moyen de bypasser ce comportement.

    La solution, serait d'effectuer la transformation XSLT côté serveur (via PHP par exemple )
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Je pense qu'il est possible de "CSS-iser" un flux RSS. En effet on sait déjà générer une CSS à partir d'un fichier PHP. A partir de là il suffirait de générer la CSS à partir du fichier PHP qui lui génère le flux RSS. Pour schématiser on génère le flux RSS en même temps que la CSS au niveau du PHP. Une sorte de parseur en fait...

Discussions similaires

  1. Rediriger flux rss en xml vers une page html ?
    Par kurtbosh dans le forum Apache
    Réponses: 13
    Dernier message: 11/07/2011, 18h12
  2. mise a jour des flux rss
    Par horn33t dans le forum SharePoint
    Réponses: 7
    Dernier message: 17/07/2009, 17h20
  3. [Dates] Détecter la mise à jour d'un flux RSS
    Par eric41 dans le forum Langage
    Réponses: 3
    Dernier message: 30/07/2007, 08h34
  4. Mise en mémoire tampons flux RSS
    Par HaTnuX dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 13/02/2007, 09h17

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