brughagedis.nl

Deze blog gaat over mezelf en mijn bezigheden



RSS-feeds nader bekeken

12 July, 2008 (22:07) | Blog's, Technopraat, wordpress | By: brughagedis

Ik wilde meer begrijpen van wat RSS-feeds eigenlijk zijn, hoe het werkt en wat je er eventueel nog meer mee zou kunnen doen. Een duidelijk verhaal over het maken van een rss-feed is te vinden in de online “cursus” een rss bestand, feed maken voor je website. Daaruit begrijp ik dat een rss-feed een xml bestand is en dus een soort tekstbestand dat in ieder geval de tags <rss> bevat en de beschrijving van een channel. Dat channel heeft een aantal verplichte tags, nl.:
<title>
<link>
<description>

en één of meerdere items. Die items kunnen de berichten op je blog zijn en worden elk ook weer aangeduid met tags voor <title>, <link> en <description>. Er zijn nog talloze optionele tags, zoals <PubDate>, <webMaster>, <language> enz. Een vrij duidelijk overzicht is te vinden op
http://www.xul.fr/en-xml-rss.html en Writing RSS 1.0.
Behalve items kun je ook een plaatje in een channel opnemen met de <image> tag.

Om een webbrowser te laten weten dat er een feed is kun je een link in het header gedeelte van je home-page of een andere webpagina plaatsen, waarin duidelijk het pad naar de feed is aangegeven en het zgn. MIME-type, een aanduiding om wat voor soort bestand het gaat (application/rss+xml). Bijvoorbeeld:
<link href="http://brughagedis.nl/blog/feed/" rel="alternate"
type="application/rss+xml" title="RSS 2.0" />
Html-code kun je in een feed nemen met een zg. container :
<content:encoded><!--DATA[< je HTML code-->]]></content:encoded>

Ik begrijp nu een beetje hoe WordPress de rss-feeds met behulp van een php-script verzamelt uit de metadata van de bijdragen van een blog in de MySQL-database. Die scripts bevinden zich voor de verschillende varianten (rss 1.0, rss 2.0, atom) bij mijn versie van WordPress in de folder wp-includes. Hieronder een fragment van het script feed-rss2.php zoals dat er bij mijn versie van WordPress uitziet:

feed-rss2.php

Eerst worden de onderdelen van het <channel> verzameld met behulp van php aanroep bloginfo_rss, zoals de naam van het blog <? php bloginfo_rss(‘name’) ?>, de url <? bloginfo_rss(‘url’) ?>, de beschrijving <? php bloginfo_rss(‘description’) ?>, enz. Vervolgens wordt dit voor elk item nog eens herhaald.

Uiteindelijk ziet de rss-feed er dan als volgt uit:

Blogfeed

Elk onderdeel wordt keurig ingevuld. Uit de feed kan gehaald worden dat ik mijn blog nog steeds niet heb geûpdate en de teksten verschijnen keurig binnen de CDATA – tags. Nu ik dit weet kan dit de weg openen naar mogelijkheden om de inhoud van mijn eigen feeds wat te beïnvloeden en ook mijn vage ideeën voor het maken van portals met items uit andere bronnen meer gestalte geven. In een al wat ouder bericht op Frankwatching vond een mooi overzicht van de verschillende mogelijkheden die er met RSS-feeds zijn. En op Internet zijn voorbeelden te vinden van scripts om content samen te stellen met behulp van feeds uit andere websites, zoals bijvoorbeeld Feed2JS. Dus daar wil ik me wel in gaan verdiepen.

Comments

Comment from wow!ter
Time: July 13, 2008, 7:34 am

David Rotman heeft een heel leuk overzicht naar alle feed 2 JS mogelijkheden, zie ook http://www.wowter.nl/blog/2008/03/rss-to-js-voorbeelden.html

grtz.
Wouter

Comment from brughagedis
Time: July 13, 2008, 8:50 am

Ok, dank je, ga ik uitgebreid bestuderen! Te gek leuk, dat overzicht van David Rothman!
Groet, George


View Stats