Syntax: RSS als XML-Format

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

Viele Websites kennzeichnen ihre Newsfeeds durch einen orangefarbenen Button mit der Aufschrift "XML". Für viele Anwender und auch für viele Entwickler sind "XML" und "RSS" Synonyme. Tatsächlich sind alle Versionen der Feed-Formate RSS und Atom Anwendungen von XML. Da XML selbst eine Metasprache ist, die dazu dient, Sprachen für den Austausch von Informationen im World Wide Web zu definieren, bezeichnet man die Feed-Formate oft auch als "XML-Dialekte" oder "XML-Vokabulare". RSS ist bis heute das XML-Vokabular mit dem größten Erfolg – abgesehen vielleicht von XHTML, der XML-Version von HTML.

Standardisierung und Offenheit von XML

Der größte Vorteil von XML für das Anwendungsgebiet Syndikation besteht darin, dass es sich bei XML um ein einfaches, offenes und standardisiertes Format handelt, mit dem sich im Web Informationen austauschen lassen.

RSS konnte sich in den letzten Jahren nicht allein deshalb so erfolgreich ausbreiten, weil es sich bei ihm um ein besonders leistungsfähiges Format handelt, sondern weil es sich als Standard durchgesetzt hat. Es bildet so etwas wie den kleinsten gemeinsamen Nenner für aktualisierbare Informationen der unterschiedlichsten Art, und es wurde vor allem als solcher akzeptiert. Dadurch, dass Millionen von Internetnutzern RSS verwenden, um Informationen zu verbreiten oder zu beziehen, werden Anwendungen möglich, die von Netzwerk-Effekten profitieren und um so nützlicher werden, je mehr Benutzer sie verwenden.

Ohne die grundlegenden Eigenschaften der Basistechnologie XML wäre dieser Siegeszug nicht möglich gewesen. XML ist ein textbasiertes Format: Menschen können XML-Dokumente ohne allzu große Schwierigkeiten lesen. Der Inhalt von XML-Dokumenten kann leicht extrahiert werden. Außerdem handelt es sich bei XML nicht um eine proprietäre Technik, die von einem Hersteller kontrolliert wird. Diese Vorzüge hat RSS von XML geerbt; ohne sie hätte es sich nicht explosionsartig im WWW ausbreiten können. Ein Binärformat oder ein proprietäres Textformat hätte die Entwicklung von Software, die RSS produziert oder verarbeitet, erschwert und den Markt für RSS-Anwendungen eingeschränkt.

XML macht es leicht, ein Format für spezifische Bedürfnisse zu definieren. Alle RSS-Formate bestehen aus einer eher kleinen Gruppe hierfür definierter XML-Elemente und Attribute und aus Regeln für die hierarchischen Beziehungen zwischen diesen Elementen. Durch dieses Regelwerk (als RELAX NG oder XML Schema ausgeführt) können auch Einschränkungen für die erlaubten Inhalte von RSS-Elementen ausgesprochen werden, z. B. für das Format, in dem Kalenderdaten angegeben werden.

Trennung von Inhalt und Präsentation in XML

XML erlaubt es, den Inhalt und die Darstellung von Dokumenten voneinander zu trennen. Viele XML-Formate sind Inhaltsformate; sie enthalten keine Informationen darüber, wie die Dokumente visuell oder akustisch wiedergegeben werden sollen. Das DocBook-Vokabular für technische Dokumentationen verwendet zum Beispiel ein Element emphasis für wichtige Passagen oder Ausdrücke; in DocBook ist aber nicht festgelegt, wie solche Abschnitte im Druck hervorgehoben werden sollen. Andere XML-Sprachen sind Beschreibungs- oder Präsentationsvokabulare. SVG (Scalable Vector Graphics) beschreibt Grafiken, SMIL (Synchronized Multimedia Interface Language) zeitlich strukturierte Präsentationen und XSL-FO (eXtensible Style Language-Formatting Objects) kann detailliert ein Layout gedruckter Seiten wiedergeben.

Semantische Auszeichnungen

RSS ist ein reines Inhaltsformat. Ein RSS-Dokument enthält keine Informationen darüber, wie ein Dokument für den Benutzer dargestellt werden soll. RSS verwendet XML, um Informationen semantisch auszeichnen zu können; es nutzt außerdem die mit XML gegebene Möglichkeit, Inhalt und Präsentation voneinander zu trennen.

Allen RSS-Formaten ist gemeinsam, dass sie reine, quelltext-basierende Inhaltsformate sind. Sie müssen also notwendigerweise mit einer zusätzlichen, an das jeweilige Darstellungsmedium anpassbaren Präsentationsvorschrift versehen werden. Dadurch ist es leicht, RSS-Dokumente auf unterschiedlichen Medien oder in unterschiedlichen Kontexten zu präsentieren.

Transformierbarkeit

Das einfachste Verfahren, RSS-darzustellen, besteht darin, es in HTML zu konvertieren und dann einen HTML-Browser bzw. ein Toolkit zur Darstellung von HTML zu verwenden. Einerseits kann bei diesem Verfahren XSLT benutzt werden, um XML-Daten in HTML zu transformieren; andererseits gehören HTML-Fragmente oft auch zum Inhalt von RSS-Dokumenten, so dass ohnehin eine HTML-Rendering-Engine benötigt wird, um sie darzustellen. Wie alle XML-Dokumente können RSS-Dokumente aber auch direkt mit Cascading Stylesheets formatiert werden. Darüber hinaus gibt es auch zahlreiche andere Darstellungsverfahren, so kann man z. B. Flash verwenden.

Validierbarkeit

Als XML-Dokumente können RSS-Feeds mit Standardverfahren darauf überprüft werden, ob sie den Regeln für ein Format entsprechen. Eine Dokumenttyp-Definition oder eine Schema-Datei enthält die formale Beschreibung der Regeln, die diese Überprüfung erlaubt.

Internationalisierung

Ein Dokumentformat, das als XML-Format definiert wird, kann die für XML typischen Verfahren verwenden, um Probleme der Internationalisierung zu lösen. Als Zeichensatz legt XML einheitlich Unicode fest. Der Unicode-Standard ordnet allen Zeichen aus allen bekannten Alphabeten eine Zahl zu und ist damit in der Lage, Texte in jeder beliebigen Sprache wiederzugeben. Um Unicode-Texte darzustellen, müssen die Zeichen kodiert werden, d. h., den Zahlen, die der Unicode-Standard festlegt, muss eine bestimmte Folge von Bits zugeordnet werden. Alle XML-Anwendungen müssen die Kodierung UFT-8 unterstützen. UTF-8 ordnet den ersten 128 Zeichen ein Byte, den folgenden Zeichen zwei und mehr Bytes zu. In der Kodierung der lateinischen Buchstaben unterscheidet sich UTF-8 dabei nicht von der bekannten ASCII-Kodierung. XML-Anwendungen gehen davon aus, dass ein XML-Dokument gemäß UTF-8 kodiert ist, wenn in der XML-Erklärung zu Beginn des Dokuments nicht eine andere Kodierung angegeben wird.

Wenn es für die Verarbeitung wichtig ist, die Sprache anzugeben, in der ein Dokument verfasst ist, kann XML-weit das Attribut xml:lang verwendet werden. Von dieser Möglichkeit machen die neueren Feed-Formate Gebrauch.

Erweiterbarkeit und Namensräume

Erweiterbarkeit gehört zum Programm von XML; das Akronym XML steht nicht ohne Grund für "Extensible Markup Language". Erweiterbar ist XML zunächst dadurch, dass jeder Benutzer neue Elementtypen und Attribute definieren kann, während bei einem Format wie HTML der Sprachumfang festgelegt ist. Die Entwickler aller Versionen von XML machten sich diese Eigenschaft von XML zunutze, um Elementtypen wie rss (Dokument- oder Wurzelement eines RSS-Dokuments), channel und item zu definieren.

Elemente und Attribute lassen sich allerdings nicht mehr frei definieren, wenn Vokabulare – wie RSS 1.0, RSS 2.0 und Atom – für bestimmte Aufgaben festgelegt und standardisiert werden. Die – in Form einer DTD (Document Type Definition) oder als RELAX NG bzw. XML Schema – formulierten und somit festgeschriebenen Regeln für solche Vokabulare erlauben nur bestimmte Elemente und Attribute mit festgelegten Bezeichnern in einer festgelegten hierarchischen Anordnung.

Die gleichzeitig erfolgende Reglementierung der für die Elemente erlaubten Inhalte (Inhaltsmodelle) kann es jedoch zulassen, an bestimmten Stellen eines Dokuments Elemente aus anderen Vokabularen einzubetten. Dies ist für Feed-Formate elementar, um beispielsweise Abschnitte in ein Dokument einfügen zu dürfen, die in XHTML formuliert sind.

Um Dokumente, die in einem solchen Vokabular verfasst werden, durch Elemente aus anderen Vokabularen erweitern zu können, wurde ein Verfahren entwickelt, das man als Namensraum-Mechanismus bezeichnet. Alle Feed-Formate, die in hier beschrieben werden, nutzen diesen Mechanismus. Man muss ihn verstehen, um mit diesen Vokabularen produktiv arbeiten zu können. Die Seite XML-Namesräume enthält eine kurze Einführung in den Namensraum-Mechanismus.

   

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