Die Vorgänger von RSS 2.0

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

Der erste direkte Vorfahre von RSS 2.0 war die UserLand-Version von RSS 0.91. Für die Vorfängerformate von RSS 2.0 gilt (allerdings mit gewissen Einschränkungen), dass jedes Dokument in einem der Formate mit niedrigerer Versionsnummer ein valides Dokument der Formate mit höherer Versionsnummer ist. Alle Dokumente der RSS-Versionen 0.91, 0.92 und 0.93 sind also valide RSS 2.0-Dokumente. Von Version zu Version kamen neue Elemente hinzu. Dabei wurden zunehmend Metadaten nicht nur für einen ganzen channel, sondern auch für einzelne Elemente des Typs item erlaubt. Die Entwicklung von Funktionalitäten und Sprachelementen für aggregierte Feeds in den aktuellen Syndikationsformaten setzt diese Tendenz fort. Außerdem wurden Einschränkungen, z. B. eine Höchstzahl von item-Elementen, aufgehoben und obligatorische Elemente für optional erklärt. RSS 2.0 ist ein Schlusspunkt dieser Entwicklung: Es gibt bei den Dokument-Inhalten keine Beschränkungen auf Höchstzahlen oder Höchstlängen mehr. Die Zahl der obligatorischen Elemente ist auf ein Minimum reduziert und Erweiterungen sollen nur noch in eigenen Namensräumen vorgenommen werden. Es ist also durchaus konsequent, dass Winer RSS in der 2.0-Spezifikation für "frozen" erklärt.

In den Übersichten zu den einzelnen RSS-Elementen ist bei jedem Element aufgeführt, in welchen der Versionen des Formats es erlaubt ist. Verwenden sollten Sie diese veralteten Versionen des Formats allerdings nicht mehr!

Für die meisten Programme, die RSS verarbeiten, sind die verschiedenen RSS-Versionen vor RSS 2.0, außer RSS 0.90 und RSS 1.0, kompatibel. Allerdings gibt es aber eine ganze Reihe kleinerer Unterschiede, die von Winer nicht explizit benannt wurden. Diese Unterschiede führen dazu, dass Dokumente in diesen Formaten nicht denselben XML-Infoset haben und damit streng genommen nicht miteinander kompatibel sind. Mark Pilgrim hat diese Unterschiede in dem Aufsatz "The Myth of RSS Compatibility" beschrieben.

Zur Geschichte von RSS 2.0 siehe auch die Seiten RSS 0.91, RSS 1.0, RSS 0.92 und RSS 0.93 und RSS 2.0.

RSS 0.91

Ein RSS 0.91-Dokument durfte maximal 15 Elemente des Typs item enthalten! Dahinter standen das Interesse, Bandbreite zu sparen, und die Begrenzung in den Darstellungsmöglichkeiten. Auch RSS 0.91 besaß bereits für jedes Element item die Elemente title, description und link. Die Anzahl der Metadaten war aber beschränkt; außerdem gab es sie nur auf der Ebene des ganzen channel. Hier waren die Elemente language, copyright, managingEditor, webMaster, rating, pubDate, lastBuildDate und docs möglich.

Jeder Feed konnte außerdem ein optionales Texteingabe-Feld enthalten. Feeds wurden immer im Pull-Verfahren von einem URI bezogen, es gab noch keinen publish and subscribe-Mechanismus.

Der vielleicht auffälligste Unterschied zu den späteren RSS-Versionen besteht darin, dass die Zahl der Buchstaben in jedem Element begrenzt ist – eine Regelung, die es bei späteren XML-Formaten generell nicht mehr gibt. Erlaubt waren bei title 100, bei link 500, bei url 500, bei copyright 100, bei managingEditor 100, bei webMaster 100, bei rating 500 und bei description 500 Zeichen. Bilder haben eine Maximalgröße von 144 x 400 Pixel. Als Standard bildete sich 88 x 31 heraus. Als Schemabezeichner bei link und url waren nur html: und ftp: erlaubt. HTML, auch Entity-kodiertes HTML, ist in keinem der Elemente zugelassen.

Die RSS 0.91-Versionen von UserLand (Juni 2000) und Netscape (Juli 1999) unterscheiden sich in einigen wichtigen Punkten voneinander. Bei Netscape kann das Element hour Zahlen von 0 bis 23 enthalten, bei UserLand von 1 bis 24. UserLand änderte den Namen des Elements textinput zu textInput. Der wichtigste Unterschied besteht aber darin, dass UserLand auf die DTD verzichtete, die zu der Netscape-Spezifikation gehört. Damit können 96 benannte Entities, die in dieser DTD definiert werden (z. B. auml und Auml), in der UserLand-Version nicht benutzt werden.

RSS 0.92

Bei RSS 0.92 entfielen alle Längenbegrenzungen und auch die Beschränkung der Zahl der item-Elemente wurde aufgehoben. Die Kind-Elemente von item wurden nun optional, ebenso das Element language. Wichtige Elemente, wie source, enclosure, category und cloud, kamen hinzu und zum ersten Mal wurde es möglich, auch einzelne item-Elemente mit Metadaten auszustatten. cloud erlaubte erstmals einen optionalen publish-and subscribe-Mechanismus.

In der Spezifikation von RSS 0.92 (Dezember 2000) änderte UserLand das Inhaltsmodell des Elements description. Von nun an war es möglich, hier maskiertes HTML-Markup zu verwenden, so dass sich nicht entscheiden lässt, ob ein maskiertes Kleiner-als-Zeichen als zu HTML gehörender Markup-Begrenzer zu verstehen ist oder nicht.

RSS 0.93 und 0.94

Winer publizierte RSS 0.93, um einige Änderungen zu diskutieren, erklärte es aber nie zu einer Spezifikation. (Dennoch verwendeten es einige Anbieter von Newsfeeds.) Bei RSS 0.93 kann ein Element item mehrere Elemente des Typs enclosure enthalten. pubDate wurde als optionales Unterelement von item eingeführt, und zwar um anzugeben, ab wann ein Inhalt abgerufen werden kann. Außerdem wurde ein zusätzliches Element expirationDate für Verfallsdaten von Einträgen vorgeschlagen.

Auch RSS 0.94 schaffte es nie zum offiziellen Format. Winer taufte es kurz nach seiner Veröffentlichung mit ganz geringen Modifikationen einfach in RSS 2.0 um. Dabei nahm er eine interessante Änderung wieder zurück. RSS 0.94 enthielt ein Attribut type für das Element description. Sein Wert ist die Bezeichnung des Medientyps für den Inhalt, der Vorgabewert ist text/html. description und description type="text/html" haben damit dieselbe Bedeutung wie description in den RSS-Versionen 0.92 und 0.93; description type="text/plain" entspricht der Bedeutung von description in RSS 0.91, das in späteren Versionen fehlt.

Unterschiede zu RSS 2.0

Der größte Unterschied der Versionen 0.91 bis 0.93 zu RSS 2.0 besteht sicherlich darin, dass es nicht möglich war, die Sprache durch Module in eigenen Namensräumen zu erweitern. Außerdem fehlten noch einige Elemente. Auf der Ebene des channel waren das generator und ttl, auf der Ebene des item die Elemente comments, author, pubDate und guid.

Die Unterschiede der drei RSS-Versionen 0.91, 0.92 und 0.93 zeigen noch einmal deutlich, dass sich diese Version von RSS in direktem Anschluss an die praktische Verwendung des Syndikationsformats entwickelte.

In der Version 2.0 vom September 2002 wurde übrigens das Element rating fallengelassen, das seit den beiden RSS 0.91-Versionen zum Sprachumfang gehört hatte. Außerdem verzichtete Winer wieder auf das Attribut type bei description, um das Vokabular so einfach wie möglich zu halten. In der überarbeiteten Version der Spezifikation, die im November als Beschreibung von RSS 2.01 veröffentlicht wurde, veränderte sich der Inhalt von hour wieder. Nun waren wieder wie in der Netscape-Version von RSS 0.91 nur Werte zwischen 0 und 23 zugelassen. Im Januar wurde das Element rating in die bereits publizierte Spezifikation wieder eingeführt.

   

<< 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: