Grundstruktur eines RSS 2.0-Dokuments

(Auszug aus "Newsfeeds mit RSS und Atom" von Heinz Wittenbrink, erschienen bei Galileo Press, 2005)

Im folgenden Beispieldokument kommen nur die RSS 2.0-Elemente vor, auf die kein Feed in diesem Format verzichten kann.

<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Webtrends</title>
      <link>http://www.celawi.eu/webtrends.html</link>
      <description>Nachrichten über kommerzielle Websites und Online-Werbung</description>
      <item>
         <title>Ask Jeeves jetzt auch in Spanien</title>
         <link>http://www.celawi.eu/webtrends/20040415_01.html</link>
         <description>Ask Jeeves startete am 5. April mit der Betaversion eines neuen Such-Service für Spanien. Es ist der erste von mehreren geplanten Starts in Europa dieses Jahr. Momentan ist noch keine Werbung auf den Ergebnisseiten von Ask Jeeves España geschaltet.</description>
      </item>
      <item>
         <title>Bitkom-Studie: Paid Content in Deutschland erfolgreich</title>
         <link>http://www.celawi.eu/webtrends/20040415_02.html</link>
         <description>Kostenpflichtige Online-Inhalte werden immer besser angenommen: "Die Zeit der Kostenlos-Kultur geht zu Ende, gleichzeitig steigt die Qualität der Angebote", sagt Bernhard Rohleder, Hauptgeschäftsführer von Bitkom.</description>
      </item>
   </channel>
</rss> 

Code-Beispiel: Einfaches RSS-Dokument

Wie dieses Dokument in Offline- und Online-Newsreadern wiedergegeben wird, zeigen die Abbildungen unter Minimalinformationen.

Das Dokument hat eine sehr einfache und überschaubare Struktur, die Namen innerhalb der Tags erklären oft, welche Bedeutung die Elemente haben. Die folgende Abbildung zeigt diese Struktur in einem Baumdiagramm.

Sechs Elemente gehören zum Kern von RSS 2.0: rss, channel, item, link, title und description. Drei dieser Elemente geben dem Dokument die Struktur, die anderen bilden den Inhalt.

Die Elemente channel, item, link, title und description haben Sie bereits kennengelernt (siehe Seite "Minimalinformationen"): Sie erfüllen Aufgaben, die für jede Art von Syndikation grundlegend sind. Durch diese Elemente funktioniert ein Newsfeed als Momentaufnahme des aktuellen Zustands einer Ressource im Web. Außerdem ermöglichen sie es, unterschiedliche Feeds zusammenzufassen, also zu "aggregieren". Die anderen Syndikationsformate haben Sprachmittel, die diesen RSS 2.0-Elementen in ihrer Bedeutung entsprechen. Bei RSS 1.0 tragen diese Elemente dieselben Namen wie bei RSS 2.0; zu Atom gehören statt channel und item die Elementtypen feed und entry.

Struktur eines einfachen RSS-Dokuments als Baumdiagramm

Abbildung: Struktur eines einfachen RSS-Dokuments als Baumdiagramm

  • Strukturelemente des RSS-Dokuments
    RSS hat drei strukturierende Elemente, nämlich rss, channel und item. Der gesamte Inhalt des Dokuments wird entweder dem ganzen channel oder einem der Elemente mit dem Namen item zugeordnet. Der Ausdruck channel deutet an, dass der Inhalt eines RSS-Dokuments einem Nachrichten- oder Rundfunk-Kanal ähnelt. Ein item steht für ein beliebiges Informationsobjekt, das in einem solchen channel enthalten ist. Das Dokument-Element rss ist in der Hierarchie der Vorfahre des Elements channel und außerdem Träger des Attributs version.
  • Deskriptive Elemente des RSS-Dokuments
    Die übrigen RSS 2.0-Elemente beschreiben entweder den ganzen channel oder die einzelnen item-Elemente. Diese deskriptiven Elemente sind ohne erkennbare Ordnung hintereinander gereiht. Das Beispiel zeigt, dass sich dabei einige Elemente auf beiden Ebenen wiederholen können. Sowohl zu channel wie zu den einzelnen item-Elementen gehören die Elemente title, link und description.

XML-Deklaration und Angabe der RSS-Version: die Definition der Sprache

Das Dokument beginnt mit einer XML-Erklärung (XML declaration). Die XML-Erklärung ist bei XML-Dokumenten nicht obligatorisch, sie wird aber empfohlen. Wie bei fast allen vorhandenen XML-Dokumenten wird die Version 1.0 verwendet. (Inzwischen wurde eine XML-Version 1.1 verabschiedet, die sich von der Version 1.0 nur minimal unterscheidet.) Die RSS 2.0-Spezifikation verlangt, dass ein RSS-Dokument den Regeln der XML 1.0-Spezifikation entspricht.

Das Element rss (Dokument-Element)

Wie jedes XML-Dokument hat das RSS-Dokument genau ein Root- oder Dokument-Element; dieses Element heißt rss. Das Wurzel-Element teilt der verarbeitenden Software lediglich mit, dass es sich bei seinem Inhalt um RSS-Informationen handelt. Welche Version von RSS benutzt wird, drückt der Wert des Attributs version des Root-Elements aus. Der RSS-Prozessor erfährt so, dass der Inhalt des Elements den Regeln der Spezifikation von RSS 2.0 folgt.

Für seine eigenen Elemente ignoriert RSS 2.0 eine der wichtigsten XML-Spezifikationen, nämlich XML Namespaces. Für RSS 2.0 wird wie für die Vorgängerformate kein Namensraum angegeben. Allerdings sind Erweiterungen mithilfe des Namensraum-Mechanismus möglich. Zu rss siehe auch die Seite Das Element rss der RSS 2.0-Referenz.

Die Gliederung eines RSS 2.0-Dokuments durch die Elemente channel und item

Die Elemente channel und item haben drei Funktionen:

  1. Sie strukturieren ein RSS-Dokument.
  2. Sie repräsentieren eine Webressource als Ganze (channel) beziehungsweise deren Teile (item).
  3. Sie sind Container für die Beschreibung der Eigenschaften der Ressource und ihrer Teile.

Jedes RSS-Dokument beschreibt einen einzelnen channel, der sich aus beliebig vielen item-Elementen zusammensetzen kann.

channel ist ein Container für die Elemente, die die Ressource als Ganze beschreiben. Wie viele item-Elemente Nachkommen von channel sind, ist dem Autor des RSS-Dokuments überlassen. Auch Dokumente, die überhaupt kein Element des Typs item enthalten, sind möglich.

Wie Sie in dem Code-Beispiel gesehen haben, ist das Element channel immer in ein Element mit dem Namen rss eingebettet. Das Element channel enthält im Grund keine Informationen, die über das Element rss hinausgehen. Andere Feed-Formate verzichten darauf, in zwei verschiedenen Elementen einerseits den Sprachtyp und andererseits den Feed als Ganzen zu repräsentieren, weil sie mit einem Namensraum-Attribut im Dokument-Element angeben, welches Vokabular sie verwenden. Bei Atom heißt z. B. das Wurzel-Element feed.

Weitere Strukturierungsebenen sind weder erforderlich noch möglich. Auch die Reihenfolge der Elemente unterhalb der Container channel oder item ist nicht vorgeschrieben.

Alle Nachkommen von channel, außer item, beschreiben Eigenschaften des Feeds; alle Unterelemente von item beschreiben Eigenschaften der einzelnen Einträge. Der englische Elementname erklärt fast immer, um welche Informationen es sich handelt.

RSS 2.0 ordnet einem channel weit mehr mögliche Unterelemente zu als einem item. Gemeinsam sind channel und item außer den bei einem channel obligatorischen Unterelementen title, link und description auch die Elemente category und pubDate. Nur auf ein item beziehen sich die Elemente author, comments, enclosure, guid und source. Ausschließlich als Nachkommen des Elements channel kommen dagegen language, copyright, managingEditor, webMaster, lastBuildDate, generator, docs, cloud, ttl, image, rating, textInput, skipHours und skipDays vor. Zu channel siehe auch die Seite Das Element channel der RSS 2.0-Referenz.

Das Element item

Bei der Erklärung der Funktion des Elements item ist die RSS-Spezifikation vage. Das einzelne item kann auf ein vorhandenes Informationsobjekt verweisen oder aber dazu dienen, ein sonst gar nicht vorhandenes Objekt überhaupt erst zu veröffentlichen. In der Spezifikation heißt es, dass ein item eine Beschreibung einer "Geschichte" enthalten oder auch in sich abgeschlossen sein kann. Dave Winer spricht im ersten Fall von einer story ähnlich der in einer Zeitung oder einem Magazin. In diesem Fall sei die Beschreibung eine Zusammenfassung (abstract), und link zeige auf die vollständige Version. Im anderen Fall enthalte die Beschreibung den kompletten Text und auf den Link und den Titel könne verzichtet werden. Als Konsequenz kennt RSS 2.0 nur optionale Nachkommen von item; jedes Element dieses Typs muss aber entweder ein Kind mit dem Namen title oder eines mit dem Namen description besitzen. Zu item siehe auch die Seite Das Element item der RSS 2.0-Referenz.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Newsfeeds mit RSS und Atom bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: