RSS: Syntax
Doch, wie werden nun RSS-Feeds erstellt? Der Syntax des XML-Formats ist relativ einfach und ist ebenso recht schnell erklärt:Das Grundgerüst
Das Grundgerüst besteht wie bei jeder XML-Datei zuerst einmal aus einer XML
-Deklaration gefolgt von einer DOCTYPE
-Deklaration. Je nach verwendeter RSS-Version kann der Dateikopf entsprechend anders aussehen. Da es mehrere verschiedene Versionen gibt, wollen wir uns hier nur auf die geläufigste und zugleich einfachste Version " RSS 0.91" konzentrieren. Nach der
DOCTYPE
-Deklaration folgt das Root-Element (also das Elements, dass alle anderen umschließt). Es trägt den Namen rss
und verlangt zusätzlich die Angabe der verwendeten Versionsnummer - in unserem Fall also 0.91
. Außerdem muss ein "Kanal" erstellt werden zu dem die News gehören. Ein solcher Kanal wird mit Hilfe des channel
-Elements erzeugt. Das Grundgerüst einer solchen Datei könnte dann in etwa so aussehen:
<?xml version="1.0"?>
<!DOCTYPE rss PUBLIC
"-//Netscape Communications//DTD RSS 0.91//EN"
"http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
... Inhalt ...
</channel>
</rss>
Den Kanal beschreiben
Als erstes sollte der Kanal eine Beschreibung erhalten. Innerhalb deschannel
-Elements werden dazu einige weitere Elemente notiert. Schauen wir uns zuerst ein Beispiel dazu an:
...
<channel>
<title>HTMLWorld</title>
<link>https://www.example.com</link>
<description>HTMLWorld - die Plattform für
Internet im deutschsprachigen Raum</description>
<language>de</language>
...
</channel>
...
Der Titel wird innerhalb des
title
-Elements notiert. Eine Erklärung wird mit dem description
-Element abgegeben. Die Adresse der Seite wird mit dem link
-Element notiert und die Sprache wird mit dem language
-Element beschrieben (de
für Deutsch, en
für Englisch, fr
für Französisch usw.).Diese vier Elemente müssen zwingend benutzt werden. Hinzu kommen weitere optionale Elemente um den Kanal näher zu beschreiben. Zwar können die meisten Newsreader leider nicht mit diesen umgehen und ignorieren sie einfach, der Vollständigkeit halber haben wir sie aber alle noch mal im Übersichtskasten festgehalten.
News erstellen
Die eigentlichen Nachrichten werden innerhalb einesitem
-Elements in den Kanal notiert. Für jede Nachricht sollte dazu jeweils ein solches Element existieren. Die Nachricht selbst wird durch einen Titel (title
-Element) und einen Link (link
-Element) ausgedrückt und kann optional eine Beschreibung (description
-Element) erhalten. Beachten Sie, dass ein Kanal mindestens eine, aber nicht mehr als 15 Nachrichten enthalten sollte - ab RSS 0.92 wurde dies jedoch abgeschafft. Beispiel:
<channel>
... Beschreibung ...
<item>
<title>Neue Doku: RSS</title>
<link>https://www.example.com/program/rss_1.php</link>
<description>Heute wurde eine neue Doku auf
HTMLWorld veröffentlicht: RSS.</description>
</item>
... weitere News ...
</channel>
Logo definieren
Zusätzlich zu der Beschreibung des Kanals kann auch ein Logo oder eine andere Grafik angeboten werden um die Nachrichten etwas hervor zu heben. Ein solches Bild wird mit demimage
-Element als Unterelement des channel
's definiert. Hierzu ist die Angabe der Bildquelle (url
-Element), eines Links auf den das Bild verweisen soll (link
-Element) und des Bildtitels (title
-Element) notwendig. Optional kann noch eine Beschreibung (description
-Element) sowie die Höhe (height
-Element) und Breite (width
-Element) angegeben werden. Beispiel:
<channel>
... Titel, Link, Beschreibung, Sprache, Nachrichten ...
<image>
<title>Mein Logo</title>
<url>http://www.meineseite.de/bild.gif</url>
<link>http://www.meineseite.de</link>
</image>
</channel>
Eingabefelder
Leider nur von wenigen Newsreadern unterstützt werden Eingabefelder (vergleichbar mit normalen Eingabefeldern aus HTML). Diese ermöglichen es dem Leser der Nachricht z.B. Suchanfragen direkt an die Seite des Herausgebers zu senden oder Kommentare zu einer Nachricht zu hinterlassen. Ein solches Eingabefeld wird mit Hilfe destextinput
-Elements innerhalb des Kanals definiert und erwartet einen Titel (title
-Element), eine Adresse an die die Eingabe geschickt werden soll (link
-Element), eine Beschreibung (description
-Element) sowie einen Namen (name
-Element) unter dem die Eingabe läuft (vergleichbar mit <input type="text" name="NAME"> aus HTML
). Beispiel:
<textinput>
<title>Suche auf HTMLWorld</title>
<description>Durchsuchen Sie HTMLWorld nach einem
Begriff ...</description>
<name>search_exp</name>
<link>https://www.example.com/search/search.php</link>
</textinput>
https://www.example.com/search/search.php?search_exp=EINGABE
schicken. Meist öffnet sich dazu ein neues Browserfenster - was die Seite damit macht bleibt jedoch ihr überlassen.
Schnellübersicht RSS
Hier noch einmal alle wichtigen Elemente in der Übersicht:Element | Beschreibung |
---|---|
<rss version="0.91"> | Root-Element. Umfasst alle anderen Elemente. Versionsnummer muss "0.91" oder "0.92" sein. |
<channel> | Definiert einen "Kanal" für den die News bereitgestellt werden. |
<title> | Der Titel des Kanals oder der Nachricht. |
<description> | Beschreibung des Kanals oder der Nachricht. |
<link> | Link zur Homepage oder zum Nachrichtentext. |
<image> | Definiert ein Bild/Logo |
<textinput> | Definiert ein Eingabefeld wie aus HTML bekannt. |
<name> | Entspricht dem name-Attribut eines <input type="text">-Elements |
<rating> | Enthält eine PICS-Bewertung des Kanals |
<language> | Beschreibt die Sprache des Kanals (de, en, fr, en-us, ...) |
<width> | Definiert die Breite eines Bildes. |
<height> | Definiert die Höhe eines Bildes. |
<copyright> | Enthält Copyrightinformationen zum Kanal. |
<pubDate> | Enthält das Datum an dem der Kanal erstellt wurde. |
<lastBuildDate> | Enthält das Datum der letzten Änderung. |
<docs> | Definiert eineURLunter der eine Beschreibung des Kanals zu finden ist. |
<url> | Definiert die Quelle eines Bildes. |
<item> | Umschließt eine Nachricht. |
<managingEditor> | Enthält die E-Mail-Adresse des Herausgebers (für inhaltliche Fragen). |
<webMaster> | Enthält die E-Mail-Adresse des Webmasters (für technische Fragen). |
<hour> | Enthält eine Stundenangabe (Zahl zwischen 0 und 23). |
<day> | Enthält einen Wochentag (in englischer Schreibweise / mon, tue, wed, ...) |
<skipHours> | Enthält eine Menge an Stunden (<hour>), an denen der Newsfeed normalerweise nicht erneuert wird. |
<skipDays> | Enthält eine Menge an Tagen (<day>), an denen der Newsfeed normalerweise nicht erneuert wird. |
<!DOCTYPE ...> | Definiert die verwendete DTD. Bei RSS 0.91 ist das: <!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" ""> |
<?xml ?> | Definiert die verwendete XML-Version, Zeichensatz etc. |
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Feeds verwenden
Über uns

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project