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

XML/XSL et SOAP Discussion :

generer le flux RSS d'un page web avec xslt


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut generer le flux RSS d'un page web avec xslt
    bonjour
    je voudrais generer le flux RSS d'un page web avec xslt, afin d'avoir un resultat comme ceci:

    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
    30
    31
    32
    33
    <?xml version="1.0" encoding="UTF-8"?> 
    <!-- generator="wordpress/2.2" --> 
    <rss version="2.0"
    	xmlns:content="http://purl.org/rss/1.0/modules/content/"
    	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    	xmlns:dc="http://purl.org/dc/elements/1.1/"
    	> 
     
    <channel> 
    	<title>XXXXX</title> 
    	<link>http://www.xxxxxx.com</link> 
    	<description>xxxxxxxxxxx</description> 
    	<pubDate>Tue, 12 Jul 2011 13:02:15 +0000</pubDate> 
    	<generator>http://wordpress.org/?v=2.2</generator> 
    	<language>en</language> 
    	<item> 
    		<title>xxxxxxxxxxx</title> 
    		<link>xxxxxxxxxxxx</link> 
    		<guid isPermaLink="false">xxxxxxxx</guid> 
    		<description><![CDATA[ DESC]]></description> 
    			<content:encoded><![CDATA[content 1]]></content:encoded> 
    	</item> 
    	
    		<item> 
    		<title>xxxxxxxxxx</title> 
    		<link>xxxxxxxxxxx</link> 
    		<guid isPermaLink="false">xxxxxxxx</guid> 
    		<description><![CDATA[ DESC]]></description> 
    			<content:encoded><![CDATA[content 1]]></content:encoded> 
    	</item> 
    
    	</channel> 
    </rss>
    merci d'avance j'ai met la date en rouge car c tres important pour moi

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    ? Et d'où te vient cette idée ?

    XSLT sert à transformer un document XML en un autre.
    Tu as déjà un document XML qui contient un flux historique de ta page et tu voudrais le mettre sous la forme RSS ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut explication
    Citation Envoyé par thelvin Voir le message
    ? Et d'où te vient cette idée ?

    XSLT sert à transformer un document XML en un autre.
    Tu as déjà un document XML qui contient un flux historique de ta page et tu voudrais le mettre sous la forme RSS ?
    je sais bien que le flux RSS est deja disponnible, ce que je cherche c'est: est ce que je pourai gener le flux qui ressemble a celui de RSS en utilisant xslt, la page que j'ai est sous forme html que j'ai cnverti en xml

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    ? Je comprends pas... Ta page HTML, que tu as convertie en XML donc, à l'origine, elle contient des entrées d'un newsfeed, c'est ça ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut eclair
    Citation Envoyé par thelvin Voir le message
    ? Je comprends pas... Ta page HTML, que tu as convertie en XML donc, à l'origine, elle contient des entrées d'un newsfeed, c'est ça ?
    Non,
    la page html que j'ai converti ne contien pas d'entrés newsfeed, c'est du code html pur. là qu'est ce que je cherche c'est :
    est ce que je peux generer un code xml(bien sur) respectant le format RSS cité au paravant!! (la page html est deja converti en xml) alors en parle plus de page html elle sous format xml

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    C'est pourtant simple comme question : tu vas le remplir avec quoi, ton flux RSS ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut autre
    Citation Envoyé par thelvin Voir le message
    C'est pourtant simple comme question : tu vas le remplir avec quoi, ton flux RSS ?
    Merci pour votre remarque;
    j'ai une autre question pouvez-vous m'aider?
    comment je je peux garder <description><![CDATA[ DESC]]></description>
    car lorsque j'applique la feuille xslt au doc xml seulement DESC qui s'affiche comme ça:
    <description>DESC</description>

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output method="xml" cdata-section-elements="description content:encoded">
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output method="xml" cdata-section-elements="description content:encoded">
    ERROR:
    Unknown namespace prefix!!

  10. #10
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut prob partiel
    Citation Envoyé par staf_info Voir le message
    ERROR:
    Unknown namespace prefix!!
    l'erreur existe seulement au niveau de "content:encoded" si j'enleve ce dernier ca marche pour les section <description> plus precisement le prob provient des":" separant content et encoded que faire??

  11. #11
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ben... 'Faut déclarer le préfixe -_-°.

    Tu les génères comment les éléments <content:encoded> si tu as pas déclaré le préfixe ? Fais voir ton XSLT.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut code
    Citation Envoyé par thelvin Voir le message
    Ben... 'Faut déclarer le préfixe -_-°.

    Tu les génères comment les éléments <content:encoded> si tu as pas déclaré le préfixe ? Fais voir ton XSLT.
    le code de ma feuille est:

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
    	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" cdata-section-elements="description content:encoded" />
    	<xsl:template match="/">
    		<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/">
    			<xsl:apply-templates/>
    		</rss>
    	</xsl:template>
    	<xsl:template match="/*/channel">
    		<channel>
    			<title>
    				<xsl:value-of select="//channel/title"/>
    			</title>
    			<link>
    				<xsl:value-of select="//channel/link"/>
    			</link>
    			<description>
    				<xsl:value-of select="//channel/description"/>
    			</description>
    			<pubDate>
    				<xsl:value-of select="//channel/pubDate"/>
    			</pubDate>
    			<generator>
    				<xsl:value-of select="//channel/generator"/>
    			</generator>
    			<language>
    				<xsl:value-of select="/*/channel/language"/>
    			</language>
    			<xsl:for-each select="//channel/item">
    			<xsl:if test="count(preceding-sibling::item)&lt;2">
    			<item>
    				<title>
    					<xsl:value-of select="title"/>
    				</title>
    				<link>
                        <xsl:value-of select="link"/>				
    				</link>
    				<guid><xsl:attribute name="isPermaLink"><xsl:value-of select="guid/@isPermaLink"/> </xsl:attribute>
                        <xsl:value-of select="guid"/>				
    				</guid>
    				<description><xsl:value-of select="description" />
    				<!--xsl:copy-of select="description"/-->
    				</description>
    			</item>
     
    			</xsl:if>
    		</xsl:for-each>
    		</channel>
    	</xsl:template>
     
     
     
    </xsl:stylesheet>

  13. #13
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    -_-° Si tu n'as pas d'élément content:encoded, pas besoin de lui dire de mettre leur contenu en CDATA.

    Bon, sinon, quelques remarques :

    - XSLT est prévu pour fonctionner de manière déclarative, comme les CSS. Pas de manière impérative comme C/Java/Python/PHP...
    Idéalement il faut utiliser plein de templates et apply-templates, au lieu d'un méga template de la mort qui fait tout. Bon, ça dépend pour faire quoi, c'est vrai.

    - Il vaut mieux mettre tous les xmlns dans la balise <xsl:stylesheet>, et même en fait, pour n'importe quel document XML, dans la balise racine. Un jour, quand on sait enfin comment ça marche et qu'on sait parfaitement ce qu'on fait, on peut trouver qu'il vaut mieux les mettre ailleurs. Ce jour-là, seulement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut
    Citation Envoyé par thelvin Voir le message
    -_-° Si tu n'as pas d'élément content:encoded, pas besoin de lui dire de mettre leur contenu en CDATA.

    Bon, sinon, quelques remarques :

    - XSLT est prévu pour fonctionner de manière déclarative, comme les CSS. Pas de manière impérative comme C/Java/Python/PHP...
    Idéalement il faut utiliser plein de templates et apply-templates, au lieu d'un méga template de la mort qui fait tout. Bon, ça dépend pour faire quoi, c'est vrai.

    - Il vaut mieux mettre tous les xmlns dans la balise <xsl:stylesheet>, et même en fait, pour n'importe quel document XML, dans la balise racine. Un jour, quand on sait enfin comment ça marche et qu'on sait parfaitement ce qu'on fait, on peut trouver qu'il vaut mieux les mettre ailleurs. Ce jour-là, seulement.
    -Merci beaucoup pour votre aide

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

Discussions similaires

  1. generer une page web avec visual studio 2003
    Par floufy69 dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 01/12/2010, 09h20
  2. Détection de flux RSS sur un site web
    Par Damien69 dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 20/07/2008, 12h03
  3. [RegEx] Extraire un flux RSS d'une page avec une URL
    Par Overstone dans le forum Langage
    Réponses: 7
    Dernier message: 30/10/2007, 12h35
  4. Quel lecteur RSS dans une page web ?
    Par komoku dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/01/2007, 11h26

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