- Atom-Feed
-
Atom wird in der Computertechnik als Überbegriff für zwei Standards genutzt. Während das Atom Syndication Format als ein XML-Format den plattformunabhängigen Austausch von Informationen ermöglicht, wurde das Atom Publishing Protocol (APP, wobei sich AtomPub eingebürgert hat) ersonnen, um das Erstellen und Bearbeiten von Webressourcen auf der Basis von einfachem HTML und XML zu ermöglichen. Atom bietet somit die Möglichkeit, Webinhalte zu bearbeiten und zu verbreiten.
Inhaltsverzeichnis
Atom Syndication Format
Das Syndikationsformat (ASF) 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 – 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.
Minimales Beispiel
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <author> <name>Autor des Weblogs</name> </author> <title>Titel des Weblogs</title> <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> <updated>2003-12-14T10:20:09Z</updated> <entry> <title>Titel des Weblog-Eintrags</title> <link href="http://example.org/2003/12/13/atom-beispiel"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Zusammenfassung des Weblog-Eintrags</summary> <content>Volltext des Weblog-Eintrags</content> </entry> </feed>
Unterschiedliche Inhaltstypen
Die hauptsächliche Besonderheit von Atom gegenüber RSS ist die Möglichkeit, dass bei inhaltstragenden Elementen ausdrücklich angegeben werden kann, in welchem Format die Inhalte kodiert sind. 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 eintype
-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 imcontent
-Element.Beispiel für reinen Text im
title
-Element:<title type="text">Beispieleintrag</title>
Das
type
-Attribut kann in diesem Fall auch weggelassen werden, datext
der Standardwert des Attributs ist.Beispiel für HTML im
summary
-Element:<summary type="html">Beispielzusammenfassung mit <strong>wichtigem Text</strong></summary>
Die HTML-eigenen Zeichen
<
,>
und&
werden mit den Entity-Referenzen<
,>
und&
umschrieben. Alternativ kann der Inhalt in einem CDATA-Abschnitt untergebracht werden:<summary type="html"><![CDATA[ Beispielzusammenfassung mit <strong>wichtigem Text</strong> ]]></summary>
Beispiel für XHTML im
content
-Element:<content type="xhtml" xml:base="http://example.org/"> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Beispielabsatz mit <strong>wichtigem Text</strong> und einem <a href="beispiel">relativen Hyperlink</a>.</p> </div> </content>
Das
content
-Element bekommt eindiv
-Element aus dem XHTML-Namensraum als Kind. Darin können weitere XHTML-Elemente direkt notiert werden.Atom-Programmierschnittstelle
Die Atom-Programmierschnittstelle 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 wird ein REST Pattern 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-Programmierschnittstelle 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
Wikimedia Foundation.