RSS / XSLT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Julien

Julien

07/10/2009 18:33:00
Quote Anchor link
Iemand hier ervaring met RSS feeds ophalen en ze weergeven d.m.v. XSLT?

Ik zit met een paar vraagjes: ten eerste namelijk, hoe begin ik? Ik moet namelijk een RSS feed op mijn website weergeven door zelf XSLT te gebruiken. Ik wil graag mijn Flickr RSS feed gebruiken, maar hoe begin ik? Ik heb vrij goede kennis van XML en ik kan wel wat XSLT, maar hoe ga ik die RSS feed van mijn Flickr gebruiken? Moet ik steeds het XML source bestand downloaden?

Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Julien
 
PHP hulp

PHP hulp

25/04/2024 09:56:07
 

07/10/2009 18:59:00
Quote Anchor link
Kijk eens op w3schools. Daar staat uitgelegd hoe je een xslt aan een xml bestand hangt.
Let wel op, niet elke browser snapt dat, dus kan je het beste dat met php omzetten.
Natuurlijk moet je de rss hebben als je d'r een stylesheet aan hangt.
 
Julien

Julien

07/10/2009 19:06:00
Quote Anchor link
Ik heb op w3schools gekeken maar vind daar geen antwoord op mijn specifieke vraag. En ik weet al hoe je een XSLT aan een gedownload XML bestand hangt.

Maar betekent dat, dat ik elke keer naar mijn Flickr RSS moet gaan, rechtsklik op pagina --> paginabron weergeven en dan de XML source code moet opslaan? Vervolgens in die XML code mijn aangepaste XSLT stylesheet koppelen en vervolgens uploaden naar mijn website waar ook mijn XSLT bestand op staat?

Lijkt mij dat het makkelijker moet kunnen, maar hoe? Dat is nu mijn vraag.

Ik wil het niet met PHP doen, want ik wil juist XSLT leren. Ik heb al een workaround voor de lelijke firefox en IE7 bug gevonden. Ik kan hem gewoon naar mijn eigen XSLT sturen.

Dus, hoe krijg ik die RSS feed van mijn Flickr nou zo ver om op mijn website te laten zien met mijn XSLT?
 

07/10/2009 20:55:00
Quote Anchor link
Volgens mij snappen wij elkaar niet.
Je moet sowieso die xml van de rss door de xslt processor gooien.
Op w3schools staan twee voorbeelden, eentje wordt het client-side gedaan en eentje server-side.
Die kan je toch gebruiken?
 
Julien

Julien

07/10/2009 21:24:00
Quote Anchor link
Ah ik snap het nu ja! In het voorbeeld op W3schools gebruiken ze echter ASP om het XML bestand in te lezen en te koppelen aan jou XSLT bestand. Ik wil van m'n leven geen ASP leren maar jij zei net dat het ook met PHP kan? Maar hoe?

Edit: Ik heb nu de xml code op mijn eigenlijk webserver gekregen door de php functie 'fsockopen()' te gebruiken (url_fopen functie is disabled bij het webhost bedrijf waar ik zit). Ik heb nu de feed als het ware op mijn eigen pagina.

Het enige wat ik nu dus nog moet doen is er een XSLT bestand aan koppelen. Maar ik kan niet vanuit het XML bestand aangeven dat hij dit XSLT bestand moet gebruiken, want ik kan de XML news feed niet aanpassen. Of wel, maar de vraag is hoe. Zou iemand mij kunnen helpen?
Gewijzigd op 01/01/1970 01:00:00 door Julien
 
Julien

Julien

08/10/2009 00:48:00
Quote Anchor link
Oke, ik heb nu een wat vastere vraag. Ik ben al een stuk verder gekomen door te zoeken op plekken waarvan ik niet eens wist dat ze bestonden :).

Ik heb nu de news feed als XML op mijn website gekregen. Nu heb ik op php.net de functies xslt_create(), xslt_process(), en xslt_free() gevonden en die maken alles een stuk duidelijk. Alleen krijg ik de zooi nog niet aan de praat...

Ik heb de xml string in een variable gezet die $clean heet. Hieronder de daaropvolgende poging code om dit door een XSLT bestand te laten stylen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
    echo "Hallo<br />";
    
        function
xml2html($xmldata, $xsl)
        {

            /* $xmldata -> your XML */
            /* $xsl -> XSLT file */
        
            #$path = 'include';
            #$arguments = array('/_xml' => $xmldata);

            $xh = xslt_create();
            #xslt_set_encoding($xh, 'ISO-8859-1');
            $html = xslt_process($xh, $xmldata, $xsl);
        
            if (empty($html)) {
               die('XSLT processing error: '. xslt_error($xh));
            }

            xslt_free($xh);
            echo $html;
        }

        
    echo xml2html($clean, 'flickr_transform.xsl');
    
    echo "Hallo 2";
?>


Het probleem is, hij komt dus niet zover dat hij echo "Hallo 2"; output. Wel echo "Hallo 1";. De fout zit hem dus in mijn functie. Als ik de aanroep daarnaartoe comment, output hij wel de Hallo 2.

Iemand genoeg ervaring hiermee die me kan helpen?

Alvast bedankt!

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Julien
 
Jaron T

Jaron T

08/10/2009 09:06:00
Quote Anchor link
Controleer eens of er daadwerkelijk wat in $clean zit?
 
Julien

Julien

08/10/2009 11:28:00
Quote Anchor link
Dat zit er, want als ik echo "$clean"; doe, krijg ik de door firefox geparsde xml feed te zien. Maar ik wil het juist laten parsen door mijn eigen xslt! :)
 

10/10/2009 10:52:00
Quote Anchor link
Ik zou een var_dump van $xh en $html doen om te kijken wat die geven.
Verder zou ik ook error reporting en display errors aanzetten.
 
Julien

Julien

11/10/2009 19:36:00
Quote Anchor link
Pfff, inderdaad. Zet error reporting aan! Niet aan gedacht.

Ik krijg nu deze error:
Fatal error: Call to undefined function: xslt_create() in /home/vhosts/julienkraakman.net/httpdocs/xml/index.php on line 53

Maar hier:
http://nl3.php.net/manual/en/function.xslt-create.php
Staat de function gewoon vanaf php4. What's the deal?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.