Tim Tepaße: RSS Feed eines Weblogs - was soll rein?

Beitrag lesen

Hallo Jeena,

Ich bin ganz neu in diesem RSS Geschäft und habe gestern nacht was gebastelt
damit ich nun auch RSS anbieten kann http://jeenaparadies.de/rss.xml.

Und es validiert, soweit man bei RSS von Validieren sprechen kann. ;-)

http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fjeenaparadies.de%2Frss.xml

Die wichtigste Frage zuerst: Soll ich in diese feeds eine Zusammenfassung
des Weblogeintrages + Link dazu auf meiner Seite machen oder eher den Ganzen
Beitrag reinschreiben + Link?

Die traditionelle Variante ist die mit der Zusammenfassung. Dies leitet
sich aus der RSS Geschichte her, es ging früher nur darum, interessante
Links auf andere Inhalte zusammenfassen zu können. Dann kamen die Weblogs,
inzwischen setzt es sich immer mehr durch, den ganzen Inhalt in den RSS-Feed
zu packen. Ich würde das auch machen, tendenziell lohnt es sich bei dem
minimalen Umfang eines typischen Weblogeintrages nicht, dafür noch extra
eine Zusammenfassung zu schreiben. Ausnahme: Man ist Mark Pilgrim und
schreibt Romane. Und hey, es gibt schon des längeren Buttons, die stolz
ein Full Post im RSS Feed verkünden.

Der große Nachteil beim verschicken des ganzen contents wäre dass da auch
Bilder dabei sein können, die nicht mitgeschickt werden genau so wie
Formatierungen.

Da gibt es drei gebräuchliche Varianten:

Die erste ist es, den Inhalt mittels gängiger Skriptsprachenfunktionen
komplett von HTML-Formatierungen zu reinigen und in das entsprechende
Element (description) zu packen. Purer Text also.

Das Problem kommt, wenn man - wie es die RSS 2.0 Spezifikation recht
schwabbelig erlaubt - »entity-encoded HTML« darin unterbringen will.
Entity-encoded heißt hier dann sowas wie <a href="bla.html">bla</a>
Ziemlich unschön, ja. Allerdings leicht zu basteln, XML bietet ja fünf
vordefinierte Entities (< > & ' und ") an, man muß
also eine Funktion basteln, die die entsprechenden Zeichen mit den
Entities ersetzt. Und was passiert mit den in HTML benutzten Entities?
Diese werden natürlich auch maskiert, aus ß wird &szlig;
Ja. Unschön.

Die dritte Variante ist - zusätzlich zum description-Element - die
Einbindung  eines Elementes aus einem weiteren XML-Namensraum. Sowas
geht  nur mit RSS 1.0 oder RSS 2.0, die sowas explizit gegenüber anderen
RSS-Versionen erlauben. Dazu wird oben ein weiterer XML-Namensraum
eingebunden ...

<rss version="2.0"
       xmlns:content="http://purl.org/rss/1.0/modules/content/">

... in dessen Namensraum man dann im Element content:encoded mit CDATA
maskiert den HTML-Quelltext einbinden kann:

<item>
    <title>Bla</title>
    <link>http://example.org/bla</link>
    <description>Bla Bla Bla</description>
    content:encoded
      <![CDATA[
        <p><a href="http://example.org/bla">Bla!</a>.</p>
        <p>Bla Bla Bla Bla</p>
      ]]>
    </content:encoded>
  </item>

Ziemlich viele Newsreader unterstützen inzwischen auch dieses Element und
zeigen dann den gerenderten HTML-Quelltext an. Das description-Element ist
laut dem schwammigen RSS-Standard optional, ich würde es jedoch immer
wegen möglicher nicht zu kluger RSS-Reader beibehalten.

Das ist jetzt die Version rss 0.91 weil ich gerade so ein Beispiel per
Google gefunden habe. Es gibt da ja auch noch rss 2 welches anscheinend
formatierbar ist

Es gibt übrigens RSS 0.9 von Netscape, RSS 0.91 von Netscape, RSS 0.91
von Radio Userland bzw. Dave Winer, RSS 0.92 bis RSS 0.94 auch von dort,
RSS 1.0 von einer W3C-nahen gegen Dave Winer revoltierenden Arbeitsgruppe
und wieder RSS 2.0 bzw. anscheinend inzwischen RSS 2.01 von Dave Winer.
Und alle mit mal etwas schwereren, mal etwas weniger relevanten inkompatiblen
Änderungen gegeneinander. So mal als Information. ;-)

und auch noch Atom. Was meint ihr ist sinnvoll anzubieten d.h. was können
die gängigsten rssReader lesen?

Die gängigsten RSS-Reader dürften intern Parser benutzen, die so ziemlich
jedes der RSS-Formate verdauen dürfte, wenn man keine größeren Fehler
macht oder ganz exotisches Zeug über XML-Namensräume reinhängt. Ich an
Deiner Stelle würde RSS 2.0 eventuell mit content:encoded anbieten.
Größere Änderungen gegenüber Deiner Variante von RSS 0.91 gibt es nicht
wirklich, Du könntest mal in den Quellcodes des RSS-Feed des SELFHTML
Newstickers gucken, wie das aussieht und gegebenenfalls Änderungen machen.
view-source:http://selfaktuell.teamone.de/news.xml

Und Atom? Die sind ja angetreten, dem ganzen schwammigen RSS-Geschwurbel
mit einer hieb- und stichfesten Spezifikation zu entkommen. Es gibt zwar
schon mehrere Weblogsysteme, die Atom ausspucken und auch Reader, die
es verdauen, allerdings ist Atom bislang immer noch nur ein Internet Draft
in der Version 0.9, ein Standard im Babystadium, rein formal betrachtet.
Auch wenn es immer wasserdichter wird, auf dem Weg zum RFC haben sie noch
einen Weg zurücklegen. Im Moment scheint etwas um den April 2005 rum
geplant zu sein. Es könnte also noch zu eventuellen Syntaxänderungen kommen.

Ich würde zur Zeit einen Atom Feed als Spielerei zusätzlich zum RSS-Feed
anbieten. Wenn Du denn noch Lust auf Spielereien hast. ;-)

Tim