Thiemos Archiv
- Friday, 2004-07-09 10:13
- Anhand meiner RSS-generierenden PHP-Klasse TM::Feed (Achtung, Prototyp! Interface wird sich ändern) konnte ich bisher ganz gut beweisen, dass der Krieg der Formate sinnlos ist: RSS 1.0, RSS 2.0 und Atom sind zu 99% ineinander überführbar und somit identisch. Kopfzerbrechen bereitete mir lediglich das
<comments>
-Element (URL einer Webseite mit Kommentaren und/oder der Möglichkeit zu kommentieren). Für dieses gibt es keine Entsprechung in RSS 1.0, auch nicht unter Zuhilfenahme des DC-Moduls.
Bei einer gezielten Suche stieß ich nun auf folgende proprietäre Lösung:<rdf:RDF ...Nett gemeint, JournalScape, aber ein selbstdefiniertes Element hilft nicht weiter, auch wenn es der Beschreibung zufolge gleichbedeutend mit
xmlns:js="http://www.journalscape.com/rss/module/">
...
<js:comment_link>http://...</js:comment_link><comments>
ist.
Die nächsten Fundstellen diskutieren das RSS 1.0-Modul mod_annotate:<rdf:RDF ...Mehrere Stellen sagen allerdings, dass
xmlns:annotate="http://purl.org/rss/1.0/modules/annotate/">
...
<annotate:reference rdf:resource="http://..." />annotate
eine gänzlich andere Bedeutung alscomments
hätte. Interpretiert wird es von den Readern ohnehin nicht.
So bleibt letztendlich nur die einfachste Lösung (so naheliegend, dass man erst zuletzt drauf kommt): Ich binde RSS 2.0 als Modul in RSS 1.0 ein.<rdf:RDF ...Das ist es! Mein favorisierter SharpReader stellt es dar, und das ist im Grunde das Einzige, was ich wollte. Der Name
xmlns:rss2="http://backend.userland.com/rss2">
...
<rss2:comments>http://...</rss2:comments>rss2
ist übrigens frei wählbar. Einigen Quellen verwenden statt dessen auch einfachr
. SharpReader erkennt das Modul anhand der URL (zwar nur die veraltete, aber das soll mir Recht sein).
Passend zum Thema (gerade zufällig gefunden): die PHP-Klasse FeedCreator.class.php, die in Grundzügen das Selbe macht wie mein TM::Feed (zusammenlegen?), allerdings keine erweiterten Elemente unterstützt. Kommentare zu diesem Beitrag können per E-Mail an den Autor gesandt werden.