Atom (Format)
]]Atom ist in der Computertechnik sowohl ein XML-Standard, der den plattformunabhängigen Austausch von Informationen ermöglicht (Atom Syndication Format), als auch ein API-Standard, der mittels HTTP die Interaktion mit verschiedenen Content-Management- und Weblog-Publikationssystemen ermöglicht (Atom API). Atom bietet somit die Möglichkeit Webinhalte zu bearbeiten und zu verbreiten.
Atom Syndication Format (ASF)
Das Syndikationsformat ist die am häufigsten anzutreffende Umsetzung der Atom-Standards. ASF möchte die Nachfolge von RSS antreten. Es ist die moderne Form eines Newsletters.
Atom entstand aus dem Bedürfnis heraus, die Vorteile der unterschiedlichen RSS-Formate in einem neuen Format zusammenzufassen und um neue Elemente zu ergänzen. Dabei haben die Entwickler ? alle zusammen in überwiegender Mehrzahl Blogger ? ASF auch so gestaltet, um den speziellen Bedürfnissen von Weblogs und Nachrichtenseiten gerecht zu werden. Die maßgeblichen Unterstützer von Atom sind in der Industrievereinigung AtomEnabled Alliance organisiert.
Die aktuelle Version des Atom Syndication Formats ist der IETF-Entwurf vom 11. August 2005, welcher von der IESG im August 2005 als Proposed Standard verabschiedet und im Dezember 2005 als RFC 4287 veröffentlicht wurde. Damit ist Atom ein offizieller Internetstandard. Die meisten größeren Feed-Anbieter arbeiten bereits daran, das Format zu unterstützen. Der MIME-Typ von Atom ist
application/atom+xml.Das Aufbereiten von Informationen in ein standardisiertes Austauschformat nennt man auch Aggregation (Informatik).
Minimales Beispiel
Unterschiedliche Inhaltstypen
Die hauptsächliche Besonderheit von Atom gegenüber RSS ist die Möglichkeit, dass bei inhaltstragenden Elementen ausdrücklich angegeben werden kann, um was für Inhalte es sich handelt. In RSS 2.0 beispielsweise kann im
description-Element reiner Text oder maskiertes HTML stehen, ohne dass ein verarbeitendes Programm weiß, worum es sich gerade handelt. Atom fordert eine Eindeutigkeit, indem inhaltstragende Elemente ein type-Attribut bekommen. Neben reinem Text und maskiertem HTML ist es zudem möglich, direkt XHTML-Markup mit Namensraum-Angabe einzubetten. Sinnvoll ist XHTML aber vor allem im content-Element.Beispiel für reinen Text im
title-Element:Das
type-Attribut kann in diesem Fall auch weggelassen werden, da text der Standardwert des Attributs ist.Beispiel für HTML im
summary-Element:<strong>wichtigem Text</strong>
Die HTML-eigenen Zeichen
<, > und & werden mit den Entity-Referenzen <, > und & umschrieben. Alternativ kann der Inhalt in einem CDATA-Abschnitt untergebracht werden:
wichtigem Text ]]>
Beispiel für XHTML im
content-Element:Das
content-Element bekommt ein div-Element aus dem XHTML-Namensraum als Kind. Darin können weitere XHTML-Elemente direkt notiert werden.Atom API
Die Atom API kann beispielsweise genutzt werden, um mit einer Client-Applikation auf die in einem Weblog-Publikationssystem hinterlegten Inhalte einfluss zu nehmen.
Funktionsweise
Zur Kommunikation mit dem System werden die gebräuchlichen HTTP-Verben verwendet:
* GET wird benutzt um Informationen über bereits vorhandene Elemente einzuholen und andere Nur-Lese-Zugriffe auszuführen.
* PUT wird benutzt, um ein bekanntes Element zu bearbeiten.
* POST kreiert ein neues, dynamisch benanntes Element.
* DELETE führt zur Löschung eines Elementes.
Diese Aktionen werden in Verbindung mit den drei hauptsächlichen URIs verwendet, wobei das Datenaustauschformat ein so genannter ?Atom Entry? ist, ein Fragment/Eintrag eines vollen Atom-Feeds.
* PostURI (erwartet POST) ? Wird verwendet um neue Elemente anzulegen. Schickt man einen Atom Entry an diese URI, so wird ein neues Element erzeugt.
* EditURI (erwartet PUT, GET oder DELETE) ? Wird zum bearbeiten von Elementen benötigt. Auch hier erfolgt der Datenaustausch über den Atom Entry.
* FeedURI (erwartet GET) ? Repräsentiert ein komplettes Atom-Feed.
Die Atom API und das Atom Syndication Format ergänzen sich somit.
Weblinks
• AtomPub.org ? Website zum Atom Syndication Format inklusive Spezifikation (englisch)
• Atom Syndication Format ? Introduction ? Eine Einführung in das Atom Syndication Format (englisch)
• AtomEnabled.org ? Website der AtomEnabled Alliance
• intertwingly.net ? Vortrag "Atom in Depth" von der XML-Con 2003 (englisch)
• Feed-Validator für Atom und RSS

